我刚刚升级到 Ubuntu 17.04,发现当您重新打开同一个文件时,Vim 现在会跳转到光标所在的最后一个位置。以前,此功能是带有/etc/vim/vimrc
自动命令的“可选”功能。在 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
答案1
刚刚在 irc://chat.freenode.net/#vim 上找到了解决方案。
事实上,这是一个在 处定义的自动命令/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
这里还默认启用了许多新选项,您可以找到。
不管怎么说,还是要谢谢你!
答案2
~/.vimrc
我正在运行 Ubuntu 17.10,并且我设法像这样覆盖文件中的行为:
:augroup vimStartup | au! | augroup END