我正在尝试使用< C-A> ( CTRL + A )在vim下切换以增加光标下的变量。这在Linux上运行的vim下工作正常。然而,当我尝试在Windows下的gvim中执行此操作时,它“选择全部”(即突出显示或在视觉上选择当前窗口中的所有文本)。如何更改此行为,或者如何恢复增量变量功能(例如,可能使用不同的键映射)?
答案 0 :(得分:30)
这是因为mswin.vim是由安装vim时生成的默认_vimrc提供的。 只需使用* nix下使用的.vimrc覆盖_vimrc,或删除mswin.vim。
答案 1 :(得分:7)
我知道我迟到了,但我想我会分享以下内容:
nnoremap <kPlus> <C-a>
nnoremap <kMinus> <C-x>
这会将增量重新映射到数字小键盘上的 + 键,并递减到 - 键。这是我在Windows上自己的_vimrc
文件中使用的解决方案。它保持了Windows的兼容性,并且比原来的 Ctrl + A / Ctrl + X 更容易记住
答案 2 :(得分:4)
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帮助的相应部分。)
答案 3 :(得分:3)
如果您不喜欢 Ctrl A 行为,但对于VIM中的其他Windows行为(例如 Ctrl Z < / kbd> for undo),只需禁用该特定行:
c:\Program Files\Vim\vim73\mswin.vim
代表我)CTRL-A is Select all
"
)您仍然可以通过键入ggVG
“选择全部”(将光标放在第一行,选择整行,选择直到文档的最后一行)。
快乐递增!
答案 4 :(得分:2)
skip_loading_mswin
的全局值的值;如果设置,则跳过文件的其余部分;因此添加就足够了
let skip_loading_mswin=1
到$HOME/_vimrc
,下次启动vim时将恢复正常的vim绑定。