我刚刚从 RH/Fedora 迁移到 Ubuntu 12.04。在 RedHat 中,当我用 VIM 重新打开文件时,它打开时光标位于我关闭文件时所在的行上。但是,我现在看到的是,每次重新打开文件时,光标始终位于顶部。由于我正在处理的一些文件长达 20k 行,这很快就会变得有点旧。
我通过 apt-get 在我的新 Ubuntu 上安装了完整版的 VIM,以便我可以在插入模式下使用箭头键。打印出来的版本是 VIM - Vi IMproved 7.3。
任何帮助都将不胜感激。
Sen*_*try 46
将以下行添加到您的~/.vimrc或全局/etc/vim/vimrc
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
endif
Run Code Online (Sandbox Code Playgroud)
这将跳转到最后一个已知的光标位置,除非:
gra*_*bow 11
这是 /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
Run Code Online (Sandbox Code Playgroud)
这是一个自动命令,用于查找计算表达式的行号。如果已记录,g 命令将跳转到最后一个位置。使用 BufReadPost、line() 和 g` 的 :help 命令将解释其工作原理的细节。