Когда я закрываю файл в vim и снова открываю его, файл открывается в начале файла. Есть ли способ открыть файл в последнем месте, которое я просмотрел?
3 ответа
Поместите это в ваш .vimrc
:
if has("autocmd") " When editing a file, always jump to the last cursor position autocmd BufReadPost * \ if line("'\"") > 0 && line ("'\"") X= line("$") | \ exe "normal g'\"" | \ endif endif
Просто измените большой X с помощью <
.
Если я поставлю <
код не сможет правильно распечатать.
Я только что заметил, что мой курсор начал иметь такое поведение. Я просмотрел свой vimrc (комментируя построчно) и обнаружил, что этот код также будет работать:
"make vim save and load the folding of the document each time it loads"
"also places the cursor in the last place that it was left."
au BufWinLeave * mkview
au BufWinEnter * silent loadview
(Цитаты закончены, чтобы их было легче читать)
Основная цель этого блока - сделать так, чтобы все созданные сгибы появлялись снова при открытии файла, но, очевидно, он также сохраняет / загружает позицию курсора.
Существует плагин vim-lastplace (я автор), который откроет ваши файлы там, где вы остановились. Он улучшает приведенные выше предложения, игнорируя сообщения о коммитах, потому что вы обычно редактируете новое сообщение и хотите начать с верхней части файла сообщений о коммите.