在Ubunut有个非常好使的功能,也就是选中一段文字,在别的地方按鼠标中键就能粘贴了,独立于快捷键Ctrl+C,Ctrl+V,那个剪贴板,或者说系统有2个剪贴板吧。刚才看书测试代码发现vim的一个很诡异的问题。

书上列出得脚本代码,我看得是电子版,我一般就是鼠标选中,然后在终端了运行vim,中键,然后保存退出加运行权限测试,发现代码老是跟书的结果不一样。如果用Ctrl+C复制,然后在vim里用“”+p”来粘贴却没有问题。奇怪啊,通过对比,前一个方法,代码开头那个变量名前面少了一个字符,导致结果不同了。

为什么vim会无端端把开头字符吃掉,用gedit中键粘贴同样的代码,没问题,在gvim里中键粘贴也没有问题,在终端命令行上粘贴也没问题,唯独在终端上运行vim中键粘贴才有问题。Google了一下,第一条就有答案,可能在终端上的vim对鼠标行为跟GUI的不同,粘贴的文本当成普通模式下的按键命令运行了,不信粘贴

this is a test text

看看,变成

s is a test text

所以最后粘贴得到的代码是第一个进入插入模式按键(比如“i”“a”)后的代码,之前一大堆代码少了没留意开头少了一个字母。

不知道算不算是bug,不过也不是大问题,注意一下就好了,切换到gvim或插入模式再中键粘贴。