web-dev-qa-db-fra.com

Existe-t-il un "journal d'exécution vim"?

Parfois, j'essaie une personnalisation/commande dans mon vimrc. Tout semble correct, mais cela ne fonctionne tout simplement pas.

Il est difficile de savoir ce qui se passe au démarrage de vim et de savoir quelle commande a échoué ou non, il est donc très difficile de déboguer ce qui peut causer un problème dans mon vimrc. C'est une approche par erreur d'essai, qui prend du temps et qui est vraiment un PITA. Par exemple, j'ai des problèmes avec le plugin snipmate dans certains fichiers et je n'ai tout simplement pas la moindre idée de la façon de découvrir le problème.

Existe-t-il un "journal d'exécution" au démarrage de vim, indiquant quelles commandes il a exécutées, lesquelles ont échoué et autres? Cela m'aiderait beaucoup.

exécuter vim avec l'option -V [N] fera un journal d'exécution assez lourd, ici N est le niveau de débogage.

vim -V9myVim.log

créerait un journal du niveau de débogage 9 dans le répertoire courant avec le nom de fichier myVim.log

144
sleepynate

:messages affiche tous les avertissements, erreurs et messages d'information qui sont apparus (éventuellement brièvement) dans la ligne d'état de vim.

:echo errmsg imprime le message d'erreur le plus récent.

g< est une autre fonctionnalité que peu de gens connaissent. De :help g<:

Le g< La commande peut être utilisée pour voir la dernière page de la sortie de la commande précédente. Ceci est particulièrement utile si vous avez accidentellement tapé <Space> à l'invite de saisie.

Par exemple, essayez :!ls puis annulez l'invite, puis appuyez sur g<.

88
Justin M. Keyes

Mettez cette fonction dans .vimrc:

function! ToggleVerbose()
    if !&verbose
        set verbosefile=~/.log/vim/verbose.log
        set verbose=15
    else
        set verbose=0
        set verbosefile=
    endif
endfunction

Créez ensuite le répertoire ~/.log/vim Et appelez ToggleVerbose() pour obtenir votre journal ~/.log/vim/verbose.log. Notez que vous pouvez intercepter l'erreur "variable imbriquée trop profondément pour l'affichage" qui n'apparaîtra pas normalement simplement parce que vous avez augmenté votre niveau de détail.

13
ZyX

Je ne pense pas qu'il existe un journal d'exécution, en soi , mais vous pouvez l'exécuter en mode débogage.
http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts

2
Jay

J'ai dû ajouter "set nocp" pour utiliser la fonction "ToggleVerbose ()" lors de l'exécution en root à cause de & verbose

1
masuch

Cela va probablement à l'encontre de tout SO signifie, mais voici ce que je fais: je viens de frapper l'écran d'impression dès que l'avertissement apparaît et regarde l'image.

0
puk