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

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

vim
119 голосов | спросил Bob 22 AMpWed, 22 Apr 2009 00:56:23 +040056Wednesday 2009, 00:56:23

7 ответов


0

Из файла /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

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

ответил marcog 22 AMpWed, 22 Apr 2009 01:03:50 +040003Wednesday 2009, 01:03:50
0

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

ответил sykora 22 AMpWed, 22 Apr 2009 10:37:56 +040037Wednesday 2009, 10:37:56
0
  :h views-sessions

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

  au BufWinLeave * mkview
  au BufWinEnter * silent loadview

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

ответил Oli 22 AMpWed, 22 Apr 2009 10:21:00 +040021Wednesday 2009, 10:21:00
0

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

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

Посмотрите на

 :marks

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

ответил sehe 30 MaramWed, 30 Mar 2011 11:34:57 +04002011-03-30T11:34:57+04:0011 2011, 11:34:57
0

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

vim 

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

ответил MatAff 25 62017vEurope/Moscow11bEurope/MoscowSat, 25 Nov 2017 01:46:30 +0300 2017, 01:46:30
0

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

ответил Greg Dietsche 17 Jam1000000amSun, 17 Jan 2016 06:19:51 +030016 2016, 06:19:51
0

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

ответил dam0055 15 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 15 Sep 2017 13:29:40 +0300 2017, 13:29:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132