: '"apostrophe suivie de guillemets doubles vous redirige la ligne des derniers changements
Dhiren Hamal
Réponses:
195
À partir du /etc/vim/vimrcfichier d'Ubuntu , cet exemple est commenté:
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
Si cela ne fonctionne pas, un problème courant est de ne pas être propriétaire de votre ~/.viminfofichier. Si tel est le cas, exécutez:
sudo chown user:group ~/.viminfo
où l'utilisateur est le vôtre usernameet groupest souvent le même que votre nom d'utilisateur.
L'autocmd vient tout droit du document vim. Voir: help last-position-jump
user55400
19
Si le guillemet simple dans l'avant-dernière ligne est remplacé par un backtick, il passera à la position réelle du curseur, pas seulement au début de cette ligne:\| exe "normal! g`\"" | endif
u2622
4
La chownpartie a résolu le problème pour moi. Chapeau!
slowpoison
2
Enfin, quelqu'un fait remarquer que mon .viminfo appartient à root pour une raison quelconque! Cela doit figurer dans les 100 autres documentations que j'ai lues.
Jack
2
Je veux juste attribuer +1 à l' chown user ~/.viminfoajout. J'essaye de comprendre ça depuis une heure maintenant et tu viens de sauver ma journée.
Christopher Reid
48
Si cela ne vous dérange pas de négocier l'automatisation pour plus de simplicité, appuyez simplement sur la touche '"(apostrophe, suivie de guillemets doubles) lors de l'ouverture d'un fichier, vous sauterez là où vous étiez. C'est essentiellement ce que fait la réponse de @ marcog.
Si vous avez installé NERDTree, appuyez deux fois sur Co pour ouvrir NERDTree dans la mémoire tampon actuelle. Dans mon cas, j'ai parfois besoin d'appuyer sur Co jusqu'à cinq fois, mais j'obtiens finalement l'effet décrit par @MatAff.
ashrasmun
Appuyer Ctrl-cune fois me suffit. De plus, appuyer sur Ctrl-cplus me ramène plus loin dans l'histroy de position du curseur (même en ouvrant les fichiers pertinents non ouverts). J'utilise Neovim 0.4.2, mais je crois comprendre que cela s'applique vimégalement.
T_T
7
Si vous avez activé viminfo, c'est aussi simple que `0d'aller à la dernière position du fichier édité. Vous remarquerez qu'il ne s'agit que d'une commande «aller pour marquer»;
En effet, vous pouvez faire plus tard '3 pour aller au troisième emplacement édité précédent (peut-être dans un autre fichier), puis revenir au dernier avec à `0nouveau
Jettes un coup d'oeil à
:marks
pour voir les lieux mémorisés. Notez également que viminfo stocke toutes sortes d'autres choses (comme le contenu des registres, les marques par fichier, les commandes et l'historique de recherche). La plupart des gens l'ont activé pour des raisons évidentes
`0 ne fonctionne pas pour moi sur vim version 7.4.1689 sur mac. Mais '0 fait l'affaire. Est-ce une faute de frappe dans la réponse?
alamoot
@alamoot non ce n'est pas, voir vimdoc motion.txt - Vérifiez quel caractère votre `clé génère en fait, ou faire:verbose map `
sehe
vous avez raison. D'après le vimdoc, les deux sont corrects!
alamoot
6
Il existe un plugin appelé vim-lastplace (je suis l'auteur) qui ouvrira vos fichiers là où vous les avez laissés. Il améliore les suggestions ci-dessus en ignorant les messages de validation, car vous modifiez généralement un nouveau message et que vous souhaitez commencer en haut du fichier de message de validation.
tout ce que vous pouvez faire sans plugins est mieux. Visez .vimrc: plus le code est petit, plus il est léger et rapide
nilon
1
Parfois ~/.viminfodevient en lecture seule ou votre utilisateur n'a pas accès au fichier. Cela pourrait également être une raison pour laquelle vim ne stocke pas la position de votre curseur lorsque vous fermez votre fichier.
Réponses:
À partir du
/etc/vim/vimrc
fichier d'Ubuntu , cet exemple est commenté:Si cela ne fonctionne pas, un problème courant est de ne pas être propriétaire de votre
~/.viminfo
fichier. Si tel est le cas, exécutez:où l'utilisateur est le vôtre
username
etgroup
est souvent le même que votre nom d'utilisateur.la source
\| exe "normal! g`\"" | endif
chown
partie a résolu le problème pour moi. Chapeau!chown user ~/.viminfo
ajout. J'essaye de comprendre ça depuis une heure maintenant et tu viens de sauver ma journée.Si cela ne vous dérange pas de négocier l'automatisation pour plus de simplicité, appuyez simplement sur la touche '"(apostrophe, suivie de guillemets doubles) lors de l'ouverture d'un fichier, vous sauterez là où vous étiez. C'est essentiellement ce que fait la réponse de @ marcog.
la source
Vous pouvez placer ceci dans votre .vimrc :
les vues seront placées dans $ HOME / .vim / view. Vous devez probablement créer ces répertoires.
la source
Vous pouvez démarrer vim sans spécifier de nom de fichier en utilisant
Ensuite, appuyez deux fois sur CTRL + O pour accéder au dernier emplacement de tout fichier sur lequel vous avez travaillé.
la source
Ctrl-c
une fois me suffit. De plus, appuyer surCtrl-c
plus me ramène plus loin dans l'histroy de position du curseur (même en ouvrant les fichiers pertinents non ouverts). J'utilise Neovim 0.4.2, mais je crois comprendre que cela s'appliquevim
également.Si vous avez activé viminfo, c'est aussi simple que
`0
d'aller à la dernière position du fichier édité. Vous remarquerez qu'il ne s'agit que d'une commande «aller pour marquer»;En effet, vous pouvez faire plus tard '3 pour aller au troisième emplacement édité précédent (peut-être dans un autre fichier), puis revenir au dernier avec à
`0
nouveauJettes un coup d'oeil à
pour voir les lieux mémorisés. Notez également que viminfo stocke toutes sortes d'autres choses (comme le contenu des registres, les marques par fichier, les commandes et l'historique de recherche). La plupart des gens l'ont activé pour des raisons évidentes
la source
`
clé génère en fait, ou faire:verbose map `
Il existe un plugin appelé vim-lastplace (je suis l'auteur) qui ouvrira vos fichiers là où vous les avez laissés. Il améliore les suggestions ci-dessus en ignorant les messages de validation, car vous modifiez généralement un nouveau message et que vous souhaitez commencer en haut du fichier de message de validation.
la source
Parfois
~/.viminfo
devient en lecture seule ou votre utilisateur n'a pas accès au fichier. Cela pourrait également être une raison pour laquelle vim ne stocke pas la position de votre curseur lorsque vous fermez votre fichier.la source