web-dev-qa-db-fra.com

Vim ne se souvient pas de la dernière position

Mon Ubuntu LTS 12.04 a l’éditeur vim. Si j'ouvre un fichier, passe à un paragraphe et rouvre vim, le curseur ira toujours au début du fichier.

Ce n'est pas le comportement attendu. Comment vim peut-il se souvenir de la dernière position de lecture après la fermeture d'un fichier?

J'ai aussi essayé vi, mais le résultat est le même.

87
Lunar Mushrooms

Résolu le:

/ etc/vim/vimrc

Contient déjà la fonctionnalité nécessaire. Juste besoin de le commenter:

" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

(Enfait, vous pouvez également vous référer à /usr/share/vim/vim73/vimrc_example.vim)

115
Lunar Mushrooms

J'ai eu ce même problème et il s'est avéré que le fichier .viminfo de mon répertoire personnel avait un mauvais propriétaire. Il appartenait à root: root.

Une fois que j'ai corrigé la propriété du fichier en le changeant moi-même, me souvenir que la position du fichier a recommencé à fonctionner pour moi

64
TikiTavi

Je pense que ce wiki peut fournir une solution. Je ne crois pas que rétablir la position soit le comportement attendu. http://vim.wikia.com/wiki/Restore_cursor_to_file_position_in_previous_editing_session

5
GaryBishop

Il existe un plugin appelé vim-lastplace (je suis l'auteur) qui ouvrira vos fichiers là où vous les aviez 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 souhaitez commencer en haut du fichier des messages de validation.

2
Greg Dietsche

Dans mon cas, vi était un lien symbolique: /usr/bin/vi -> /etc/alternatives/vi -> /usr/bin/vim.tiny. Ce dernier n'a pas de véritables fonctionnalités de vim. L'installation du paquet 'vim' (en utilisant synaptic ou apt-get) a fait pointer ce lien symbolique vers /usr/bin/vim.basic, ce qui a résolu le problème.

0
Bruno Haible