В vim, как я могу получить файл для открытия по тому же номеру строки, который я закрыл в последний раз? - PullRequest
125 голосов
/ 22 апреля 2009

Я хочу настроить vim для открытия файла в том же месте, где я остановился.

Ответы [ 7 ]

178 голосов
/ 22 апреля 2009

Из файла /etc/vim/vimrc в Ubuntu этот пример закомментирован:

" 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

Если это не сработает, обычной проблемой является отсутствие владения вашим файлом ~/.viminfo. Если это так, запустите:

sudo chown user:group ~/.viminfo

, где user - ваш username, а group часто совпадает с вашим именем пользователя.

40 голосов
/ 22 апреля 2009

Если вы не возражаете против автоматизации торговли для простоты, просто нажмите клавишу ' " (апостроф, а затем двойные кавычки) при открытии файла, вы перейдете к где вы были. По сути, это то, что делает ответ @ marcog.

20 голосов
/ 22 апреля 2009
  :h views-sessions

Вы можете поместить это в ваш .vimrc :

  au BufWinLeave * mkview
  au BufWinEnter * silent loadview

представления будут размещены в $ HOME / .vim / view. Вам, вероятно, нужно создать эти каталоги.

6 голосов
/ 30 марта 2011

Если вы включили viminfo, просто `0 перейти к последней позиции отредактированного файла. Вы заметите, что это просто команда «перейти к отметке»;

Действительно, позже вы можете сделать '3, чтобы перейти к третьему предыдущему отредактированному местоположению (возможно, в другом файле), а затем вернуться к последнему с `0 снова

Взгляните на

 :marks

чтобы увидеть запомненные места. Также обратите внимание, что viminfo хранит все виды других вещей (например, содержимое регистров, метки для файла, команды и историю поиска) У большинства людей это включено по очевидным причинам

5 голосов
/ 25 ноября 2017

Вы можете запустить vim без указания имени файла, используя

vim 

Затем дважды нажмите CTRL + O, чтобы перейти к последнему месту в любом файле, с которым вы работали.

3 голосов
/ 17 января 2016

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

1 голос
/ 15 сентября 2017

Иногда ~/.viminfo становится доступным только для чтения, или ваш пользователь не имеет доступа к файлу. Это также может быть причиной того, что vim не сохраняет вашу позицию курсора при закрытии файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...