[英]Why does < C-a> (CTRL+A) not work under gvim on windows?
我正在尝试使用vim下的<Ca>( CTRL + A )shorcut来增加光标下的变量。 这在Linux上运行的vim下工作正常。 然而,当我尝试在windows下的gvim中执行此操作时,它“选择所有”(即突出显示或在视觉上选择当前窗口中的所有文本)。 如何更改此行为,或者如何恢复增量变量功能(例如,可能使用不同的键映射)?
这是因为mswin.vim是由安装vim时生成的默认_vimrc提供的。 只需使用* nix下使用的.vimrc覆盖_vimrc,或删除mswin.vim。
我知道我迟到了,但我想我会分享以下内容:
nnoremap <kPlus> <C-a>
nnoremap <kMinus> <C-x>
这会将增量重新映射到数字小键盘上的+键,然后递减到-键。 这是我在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帮助的相应部分。)
在随gvim提供的当前版本的mswin.vim中,该文件检查名为skip_loading_mswin
的全局值; 如果设置,则跳过文件的其余部分; 因此添加就足够了
let skip_loading_mswin=1
到$HOME/_vimrc
并且下次启动vim时将恢复正常的vim绑定。
如果你只是不喜欢Ctrl A行为,但对VIM中的其他Windows行为(如Ctrl Z for undo)没问题,只需禁用该特定行:
c:\\Program Files\\Vim\\vim73\\mswin.vim
) CTRL-A is Select all
开头的段落CTRL-A is Select all
"
) 您仍然可以通过键入ggVG
(在第一行放置光标,选择整行,选择直到文档的最后一行)来“全选”。
快乐递增!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.