使用 Control+Shift+V 进行 Gvim 粘贴,同时保留 Visual Block Mode Control+V

使用 Control+Shift+V 进行 Gvim 粘贴,同时保留 Visual Block Mode Control+V

有没有办法将粘贴映射到 control+shift+v,并将可视块模式保留为 gvim 中的 control+v?

我经常使用这两种方式。

答案1

这不是一个权威的答案,但似乎没有任何方法可以区分 gvim 中的 Ctrl+Shift+<letter> 和 Ctrl+<letter>。

我使用 Windows 上的 gvim 7.3.138 和 Linux 上的 X 上的 gvim 7.3.189 对此进行了测试。我进入插入模式,键入 Ctrl-V 以逐字插入下一个键(参见“:help i_CTRL-V”),然后键入 Ctrl-V。结果显示为^V。我重复了该实验,最后键入 Ctrl-Shift-V。结果再次显示为^V

还有一项待办事项(“:help todo.txt”)表明尚未实施但正在考虑分别处理这两种情况。

8 映射 <CA> 和 <CSA> 是否都应该有效?

答案2

<C-v>已经做了你想做的事。

对于另一个,情况会更复杂:一些(大多数?)终端将<CONTROL><SHIFT>完全像 一样对待<CONTROL><CONTROL><SHIFT>v因此大概在 GVim 中工作,但映射在常规中将毫无用处vim

另外,您想要映射哪个“粘贴”:p或者P或者"_dP或者另一个?

答案3

在 gvim 9.1 中,我可以在 Windows 和 Linux(v9.1.0139)上映射<C-V>& <C-S-V>。只需检查

nmap <C-V> :echo "C-V"<CR>
nmap <C-S-V> :echo "C-S-V"<CR>

笔记:如果<C-S-V>被映射,我必须重新映射<C-V>noremap <C-V> <C-V>保留的视觉块选择功能<C-V>

相关内容