Existe-t-il un moyen d'enregistrer l'état des paramètres de vim avec un document?
Pour clarifier: je modifie un document et je change un tas de paramètres. Je ne me rappelle pas nécessairement lequel; et je ne veux plus utiliser ces paramètres, sauf pour le document actuel. Je ne veux pas essayer de me rappeler manuellement ce que j'ai changé; ou quelles sont les abréviations magiques pour les paramètres que j'ai modifiés. Je veux juste avoir, disons, pour "mydoc.txt", un fichier "mydoc.vim" qui me remet là où je me suis arrêté, et le fichier de paramètres serait enregistré automatiquement en fonction d'un paramètre vim, disons, ou peut-être d'un ctrl-key le fait avant de quitter. Il serait utile que vim puisse rechercher automatiquement un tel fichier.
Et il serait préférable de ne pas avoir à modifier les paramètres dans et hors du document lui-même.
Vous pouvez utiliser le support de session de Vim:
:mksession
vous pouvez ensuite le charger en exécutant vim -S Session.vim
, ou en utilisant source Session.vim
Il existe également des compléments vim pour automatiser le chargement/sauvegarde des sessions
Oui, les paramètres vim peuvent être inclus dans le document.
Ils se trouvent principalement dans les commentaires, de sorte qu'ils ne gâchent pas le fichier d'origine. Un exemple de paramètres spécifiques aux onglets est:
/* ex: set tabstop=8 expandtab: */
Notez que cette commande fonctionne dans la plupart des cas, cependant, les serveurs sont souvent configurés sans que modeline
soit activé pour des raisons de sécurité. Pour activer cette fonctionnalité, ajoutez ce qui suit dans votre $ HOME/.vimrc ou le système $ VIM/vimrc:
set modeline
Voici comment enregistrer tous vos paramètres actuels dans un fichier:
:redir > textfile.txt
:set all
:redir END
Si vous le souhaitez, renommez simplement ce fichier en ~/.vimrc
et vous partez.
Vous pouvez peut-être enregistrer le fichier sous un type particulier, par exemple format ou extension de nom de fichier spécial, puis définissez une autocommande dans votre .vimrc pour ce type de fichier.
Je fais cela pour mes makefiles pour m'assurer d'avoir les différents paramètres dont j'ai besoin pour des fichiers spécifiques.
Par exemple, voici mon dec de l'autocommande.
if has("autocmd")
autocmd BufRead,BufNewFile Makefile* :set noexpandtab
autocmd BufRead,BufNewFile mirror.conf :set noexpandtab
autocmd BufRead,BufNewFile *.html* :set shiftwidth=2
autocmd BufRead,BufNewFile diff_files :set autowrite
autocmd BufRead,BufNewFile lbnamed* :set ft=Perl
autocmd BufRead,BufNewFile *.t :set ft=Perl
endif