pca*_*mic 57 linux text-editing gvim ubuntu
默认情况下,Ubuntu 上 GVim 中的剪切/复制/粘贴快捷方式是:
切"+x 复制“+y 粘贴“+gP
我想在 GVim 中使用控制键组合,就像我在 Firefox 和其他 gnome 应用程序中使用的那样。如何配置 GVim 使其像其他 Gnome 应用程序一样工作?
Lud*_*erl 54
将以下行添加到您的_vimrc或.vimrc
source $VIMRUNTIME/mswin.vim
behave mswin
Run Code Online (Sandbox Code Playgroud)
但要注意,视觉模式是 CTRL-Q 而不是 CTRL-V。
有关 mswin.vim 的概述,请参阅 mswin.vim 源代码。它的注释非常好,如果某些命令不清楚,您可以在 vim 的帮助中轻松查找。
以下是从源代码编译的快速概述:
- 退格键和光标键换行到上一行/下一行
- CTRL-X 和 SHIFT-Del 被剪切
- CTRL-C 和 CTRL-Insert 是复制
- CTRL-V 和 SHIFT-Insert 是粘贴
- 使用 CTRL-Q 做 CTRL-V 以前做的事情
- 使用 CTRL-S 进行保存,同样在插入模式下
- CTRL-Z 是撤销;虽然不在 cmdline 中
- CTRL-Y 是重做(虽然不重复);虽然不在 cmdline 中
- Alt-Space 是系统菜单
- CTRL-A 是全选
- CTRL-Tab 是下一个窗口
- CTRL-F4 关闭窗口
应 Nippysaurus 的要求:我将以下内容放入我的 .gvimrc 以在菜单中显示 Ctrl-V 之外的 Paste:
unmenu! Edit.Paste
aunmenu Edit.Paste
nnoremenu 20.360 &Edit.&Paste<Tab>Ctrl-V "+gP
cnoremenu &Edit.&Paste<Tab>Ctrl-V <C-R>+
Run Code Online (Sandbox Code Playgroud)
我没有彻底测试它,只是快速检查它是否符合我的预期。对我有用,希望对你有用;-)
小智 52
如果您希望剪切/复制/粘贴使用“标准”热键工作,但又不想更改 gvim 中的任何其他配置选项,请尝试将以下内容添加到~/.vimrc.
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+
Run Code Online (Sandbox Code Playgroud)
Paste 只在 Visual 和 insert 模式下有效,所以你不必担心与 Ctrl-V 和 blockwise Visual Mode 的冲突。这不是问题,因为复制和剪切使您进入插入模式,因此您可以在之后立即粘贴。如果您尝试一下,您会发现它感觉完全自然。
经过多次反复调整后,我想出了这个配置,我认为现在它是“完美的”。如果您对当前的复制/粘贴配置甚至有点不满意,请尝试一下,我敢打赌您会喜欢它。
如果您想保持正常的 vim 行为,但也允许不那么麻烦地使用系统剪贴板,请参阅访问系统剪贴板。如果您想gVim的使用系统剪贴板作为其默认的缓冲区(所以任何x,y,p,等命令使用剪贴板),然后添加下面一行到你的vimrc:
set clipboard=unnamed
Run Code Online (Sandbox Code Playgroud)
我个人在 vim 中使用缓冲区的次数远远超过 vim 和系统之间的缓冲区;所以我宁愿有一个稍微麻烦一点的快捷方式,也不愿让我的系统剪贴板不断被破坏。但很高兴选择适合那些喜欢它的人。
| 归档时间: |
|
| 查看次数: |
54664 次 |
| 最近记录: |