我试图使用vim下的<Ca>( CTRL + A )shorcut在光标下增加一个variables。 这在Linux下运行的vim下工作正常。 但是,当我尝试在gvim下的窗口中“select所有”(即突出显示或视觉select当前窗口中的所有文本)。 我怎样才能改变这种行为,或者我怎样才能恢复增量variablesfunction(例如也许用不同的键映射)?
这是因为mswin.vim是由安装vim时生成的默认_vimrc生成的。 只需使用在* nix下使用的.vimrc覆盖您的_vimrc,或者删除mswin.vim。
我知道我迟到了,但我想我会分享以下内容:
nnoremap <kPlus> <Ca> nnoremap <kMinus> <Cx>
这会将增量重新映射到数字键盘上的+键并递减到-键。 这是我在Windows自己的_vimrc
文件中使用的解决方案。 它保持Windows的兼容性,比原来的Ctrl + A / Ctrl + X更容易记忆。
Windows上的Vim默认使用了专门的键映射,使快捷键更加“windows -y”。 这些是在$ VIMRUNTIME \ mswin.vim文件中指定的,它通过vimrc加载,除非你禁用它。 你可以编辑mswin.vim文件(你可能想编辑一个副本,改变你的vimrc来使用你编辑的副本)。
我不完全确定这是一个默认的Vim映射,因为在帮助文件中,我可以在Ctrl + A上找到唯一的引用是这个,这似乎不是你所指的:
*c_CTRL-A* CTRL-A All names that match the pattern in front of the cursor are inserted.
所以你可能想要检查你的Linux机器,看看是否有任何插件或任何东西改变了键映射。 (当然,也可能是我找不到Vim帮助的适当部分。)
如果你只是不喜欢Ctrl A的行为,但在VIM中的其他窗口行为(如Ctrl Z撤消)也可以,只要禁用该特定的行:
c:\Program Files\Vim\vim73\mswin.vim
) CTRL-A is Select all
开始的段落CTRL-A is Select all
"
) 您仍然可以通过输入ggVG
(位于第一行的光标,选择整行,选择直到文档的最后一行)来“全选”。
快乐递增!
在gvim提供的mswin.vim的当前版本中,文件检查名为skip_loading_mswin
的全局值; 如果设置,文件的其余部分将被跳过; 因此添加就足够了
let skip_loading_mswin=1
到$HOME/_vimrc
和正常的vim绑定会在下一次启动vim的时候被恢复。