5

Когда я закрываю файл в vim и снова открываю его, файл открывается в начале файла. Есть ли способ открыть файл в последнем месте, которое я просмотрел?

3 ответа3

7

Поместите это в ваш .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 с помощью < .

Если я поставлю < код не сможет правильно распечатать.

6

Я только что заметил, что мой курсор начал иметь такое поведение. Я просмотрел свой 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

(Цитаты закончены, чтобы их было легче читать)

Основная цель этого блока - сделать так, чтобы все созданные сгибы появлялись снова при открытии файла, но, очевидно, он также сохраняет / загружает позицию курсора.

2

Существует плагин vim-lastplace (я автор), который откроет ваши файлы там, где вы остановились. Он улучшает приведенные выше предложения, игнорируя сообщения о коммитах, потому что вы обычно редактируете новое сообщение и хотите начать с верхней части файла сообщений о коммите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .