Я только что обновился до Ubuntu 17.04 и увидел, что Vim теперь переходит на последнюю позицию, где находился курсор, когда вы снова открываете тот же файл. Ранее эта функция была функцией «opt-in» в /etc/vim/vimrc
с авто-cmd. С 17.04 он включен по умолчанию, но блок в /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("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
"endif
Только что нашел решение благодаря irc: //chat.freenode.net/#vim.
Это на самом деле autocmd, определенный в /usr/share/vim/vim80/defaults.vim
, который я не ясно показал в :verbose autocmd
, потому что он немного запутан в том, как он это делает. Вы можете просто прокомментировать этот блок, чтобы отключить эту функцию:
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
"autocmd BufReadPost *
" \ if line("'\"") >= 1 && line("'\"") <= line("$") |
" \ exe "normal! g`\"" |
" \ endif
Существует также множество новых опций, включенных по умолчанию, которые вы можете найти здесь.
В любом случае, спасибо!
Я использую Ubuntu 17.10, и мне удалось переопределить поведение в моем файле ~/.vimrc
, например:
:augroup vimStartup | au! | augroup END