В vim, как я могу открыть файл с тем же номером строки, я закрыл его в последний раз?

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

Ответ 1

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

" 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

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

Ответ 2

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

Ответ 3

  :h views-sessions

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

  au BufWinLeave * mkview
  au BufWinEnter * silent loadview

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

Ответ 4

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

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

Посмотрите

 :marks

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

vim 

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