4

Я использую vim 7.2.330 на 64-битной Ubuntu 10.04, иногда на прошлой неделе каждый раз, когда я снова открываю файл, он помещает курсор вверху файла. Я вижу в ~/.viminfo, где он сохраняет последнюю использованную позицию, но, похоже, не соблюдает ее.

Есть идеи?

6 ответов6

6

Вы можете Ctrl O, чтобы прыгать через «прыжки».

Вы также добавляете что-то в свой .vimrc для автоматического перехода к этой позиции курсора, подробнее на http://vim.wikia.com/wiki/Restore_cursor_to_file_position_in_previous_editing_session:

" VimTip 80: Restore cursor to file position in previous editing session
" for unix/linux/solaris
set viminfo='10,\"100,:20,%,n~/.viminfo

" only for windows [give some path to store the line number info]
"set viminfo='10,\"100,:20,%,nc:\\Winnt\\_viminfo
 au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
3

На самом деле, я наблюдал то же поведение, но с совершенно другим диагнозом.

Когда мой раздел /home /... был заполнен, .viminfo не удалось записать, поэтому эти позиции в файле никогда не сохранялись. Как только я освободил место, viminfo снова установил мой редактор.

1

Взгляните на :help last-position-jump:

Это autocommand переход к последней известной позиции в файле только после его открытия, если '"' устанавливается:

:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
0

Я попробовал вышеуказанное решение, оно не работает для меня ... но, просто перейдя по ссылке ниже, это сработало сразу. Взгляните на эту vim wiki, она выглядит довольно полезной

0

Возможно, вы захотите проверить разрешение и право собственности на файл ~/.viminfo. Если вы ранее обращались к vim через "sudo -s" или что-то еще, возможно, vim не сможет записать в этот файл. Возможно, вам придется добавить его обратно в вашу группу и идентификатор.

-2

Плагин vim-lastplace делает именно то, что вы хотите (я автор). Это улучшает принятый выше фрагмент ответа / кода за счет интеллектуальной обработки сообщений коммита. Если у вас есть тестирование Debian, вы можете быстро попробовать его с помощью apt-get install vim-lastplace.

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