无法配置 VsVim 让 Visual Studio 处理 ctrl+c、ctrl+v 和 ctrl+x

Can't configure VsVim to let Visual Studio handle ctrl+c, ctrl+v and ctrl+x

我已经使用 VsVim 大约一年了。我总是能够使用默认的 ctrl+c 和 ctrl+v 快捷方式 copy/paste 文本。几天前它停止为我工作。我认为 VsVim 键盘设置必须以某种方式更改,以处理这些键而不是让 Visual Studio 来处理。当前按 Ctrl+v 可切换可视模式。问题是在 vsvim 设置中没有 ctrl+v 或 ctrl+c 条目。有什么解决方法吗?我讨厌必须右键单击鼠标才能进入 copy/paste 菜单,剪贴板缓冲区更让人痛苦。

VsVim Wiki 讨论了这个特殊问题。

如那里所述

If you choose to have VsVim handle Ctrl-X/C/V, you can add the following to the _vsvimrc file in order to arrive at a standard Windows behavior:

这意味着:

1.) 如果它不存在,请在您的 %userprofile% 中创建一个文件 _vsvimrc(很可能类似于 C:\Users\YOURUSERNAME\)。

2.) 将以下代码添加到此文件中:

" CTRL-X and SHIFT-Del are Cut
vnoremap <C-X> "+x
vnoremap <S-Del> "+x

" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y
vnoremap <C-Insert> "+y

" CTRL-V and SHIFT-Insert are Paste
map <C-V>       "+gP
map <S-Insert>      "+gP
imap <C-V>      <Esc>"+gpa

cmap <C-V>      <C-R>+
cmap <S-Insert>     <C-R>+


imap <S-Insert>     <C-V>
vmap <S-Insert>     <C-V>

" Use CTRL-Q to do what CTRL-V used to do
noremap <C-Q>       <C-V>

您可以调整这些设置以满足您的需要。

_vsvimrc 将最后加载,因此会覆盖之前从任何配置中设置的选项。

上面的 VsVim Wiki link 有更多有用的键绑定来获得类似 Windows 的行为(例如 CTRL-Z 以 noremap <C-Z> u 撤消)。