Préserver dernière modification position dans VIM
Quand j'ai quitter VIM et ouvrir à nouveau le même fichier, je me suis placé au début du fichier. Comment puis-je conserver la dernière position du curseur?
Vous devez vous connecter pour publier un commentaire.
Le "out of the box"
.vimrc
permet cela avec la déclaration:Vous aurez juste besoin de restaurer cette déclaration dans votre
.vimrc
. En tout cas, voirvimrc_example.vim
et voir aussi leline()
fonction dans le manuel de Vim pour une discussion de la façon dont il fonctionne.Prises de http://amix.dk/vim/vimrc.html
if
déclaration est en train de faire ici? Je suis en train de lire comme "Seulement restaurer le curseur si le curseur se trouve après la première ligne, soit avant la dernière ligne", et ce n'est pas clair pour moi ce que cela donne. Je suis actuellement a ajoutéautocmd BufReadPost * normal! g`"zv
à mon vimrc et il semble fonctionner, mais je suppose que je ne comprends pas les écueils de l'inconditionnel de la marque de la restauration.autocmd BufReadPost * silent! normal! g`"zv
La dernière modification de la position est automatiquement conservé par Vim, et est disponible en tant que "spécial" saut de marque
.
. D'autres marques spéciales comprennent"
(position que vous avez enregistré à partir de l') et'
(position que vous avez sauté de).Vous pouvez passer à une marque en tapant
'<mark>
, donc'.
vous mènera à la place de la dernière édition,''
vous permettra de retourner à l'endroit où vous étiez, et'"
vous emmène à la position que vous avez enregistré le fichier.Et plus sur Vim marques à Vim.Wikia.
Il y a un plugin (je suis l'auteur) a appelé vim-lastplace qui se fait de manière intelligente revenir à la dernière modification que vous avez fait.
Il dispose également d'une option de configuration à ignorer certains types de fichiers. Par défaut, il va ignorer les messages de commit git, svn, et mercurial. Pour ces types de fichiers, il va commencer votre curseur sur la première ligne. Les extraits de code ci-dessus va sauter dans le milieu de votre message de validation de fichier (où vous l'avez laissé dans votre précédente livraison), même si ce n'est probablement pas ce que vous voulez. vim-lastplace résout ce problème.
Vous pouvez essayer de le
:mks
de commande (session). Il stocke un fichier de script qui, lorsqu'il est exécuté par vim, restaure votre session d'édition en cours, y compris tous les fichiers ouverts et la position du curseur.Assurez-vous que
~/.viminfo
est lisible et modifiable par l'utilisateur de vim. J'avais en quelque sorte fini avec une copie lisible que par root dans mon standard répertoire principal de l'utilisateur, ce qui signifie que la dernière position du curseur ne pourrait pas être stockée.