我的 gvim 用上了 vimacs 插件,但是 C-y 却只能粘贴在 gvim 里复制的东西,没有办法粘贴 gvim 以外的程序拷贝到 Windows 剪贴板的内容。

我仔细地看了一下 vimacs-0.95.vim 里的代码,要粘贴其它程序复制到 Windows 剪切板的内容,需要用键 Shift + Insert 来实现;而粘贴 gvim 里复制到剪切板的内容,则需要用 C-y 键。

同样,在 gvim 里,M-w 只能拷贝选中的内容到 gvim 的剪切板;要在 gvim 里把选中的内容复制到 Windows 的剪切板,则需要用键 Control + Insert 来实现。

这样的设置多少有些烦人!大部分情况下,我都是拷贝好内容后,就去粘贴,这个粘贴的地方并一定就是 gvim 里的某个文档,我需要一复制,即可以到处使用。像 vimacs 这样过细的键功能划分,实在是有点让我手足无措。

为了让 M-w 能把内容同时拷贝到 gvim 和 windows 的剪切板,把

vnoremap <C-Ins> "*y

改为

vnoremap <M-w> "*y

即可。

为了让 C-y 能粘贴 gvim 或 Windows 剪切板中最新拷进来的内容,把

inoremap <S-Ins> <C-r><C-o>*

改为

inoremap <C-y> <C-r><C-o>*

即可。

现在这样的设置就和我 Emacs 里的设置一模一样了,用起来舒服多了。这个方法只在 Windows 下测试过了,其它平台有机会再测试一下。