На этот вопрос уже есть ответ:
Я только что перешел с RH / Fedora на Ubuntu 12.04 . В RedHat, когда я повторно открываю файл с помощью VIM, он открывается с курсором на строке, в которой он находился, когда я закрыл файл. Однако сейчас я вижу, что когда я снова открываю файл, курсор всегда находится наверху, каждый раз. Поскольку некоторые файлы, с которыми я работаю, имеют длину 20 тыс. Строк, это быстро устаревает.
Я установил полную версию VIM через apt-get на моем новом Ubuntu, чтобы я мог использовать клавиши со стрелками в режиме вставки. Распечатанная версия - VIM - Vi IMproved 7.3.
Любая помощь будет принята с благодарностью.
Добавьте следующие строки в ваш ~/.vimrc
или глобальный /etc/vim/vimrc
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
endif
. Это позволит перейти к последней известной позиции курсора, если:
Это конфигурация по умолчанию в / etc / vim / vimrc, как уже упоминалось vim не запоминает последнюю позицию
Уже содержит необходимую функцию. Просто нужно раскомментировать:
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
Это автоматическая команда, которая ищет номера строк оцененных выражений. Команда g переходит на последнюю позицию, если она была записана. Использование команд help для BufReadPost, line () и g` объяснит детали того, как это работает.