VIM中鼠标右键无法复制的解决方法

这个问题的原因应该是你的vim修改了配置文件,增加了下面这一句

       set mouse=a;

    vi的三种模式:命令模式,插入模式,可视模式.鼠标可以启动于各种模式中:
The mouse can be enabled for different modes:
n       Normal mode
v       Visual mode
i       Insert mode
c       Command-line mode
h       all previous modes when editing a help file
a       all previous modes
r       for |hit-enter| and |more-prompt| prompt



    加了这句后,在vim中就开启了在所有模式下的鼠标右键功能,这样就屏蔽了鼠标右键的复制功能

    我在网上看了大部分人的解决办法都是注释掉set mouse=a这句或者将其值赋为空,这样确实可以用右键复制了,但是下次vim写代码时就没有鼠标点哪光标到哪的功能了。所以这个方法还不是一个很好的解决方法。

       其实在vim里面可以通过其自带的寄存器(通俗点就是剪切板)功能来实现我们需要的复制功能。

       我们可以在vim下面选中一段文字(需退出编辑模式) 然后输入y,这样就把当前选中的文字复制到vim的临时寄存器(*号寄存器)中了,再在我们需要粘贴的地方输入“*p就可以将临时寄存器中的内容粘贴进来(也可以直接按鼠标中键)。我们可以通过:reg命令查看寄存器中的内容。

        补充:

               如果输入”1y 就是将选中的内容复制到1号寄存器,”2y就是将内容复制到2号寄存器,粘贴“寄存器号p,例如:”1p,“2p;其中有两个寄存器比较特殊,一个是*,另一个是+,*也就是我们上面说的寄存器,在选中文字的情况下,直接按y,默认复制到*寄存器。

       下面我们来说这个+寄存器,当我们需要将vim里面的内容复制到别的地方时,假如是word中,就不能通过”1p将寄存器复制到word下面,因为word没有1号寄存器这种东西,它只是在vim下存在,这时我们就需要用到+寄存器了,因为+寄存器是和系统剪贴板相通的,也就是复制到#号剪贴板的内容也会同时存在与系统剪切板内,这下,我们可以通过“+y现将内容复制到系统剪切板上,然后直接在word里面右键粘贴或者ctrl+v就行了。

转载至http://blog.csdn.net/txg703003659/article/details/6622995


ps :   其实有可能出现还不能复制到剪切板的作用,因为你的vim还没有配置+剪切板成功,你需要

vim --version | grep "clipboard" 

查看一下vim版本支不支持clipboard  ,如果clipboard前面是-号就是不支持。

你需要安装图形化界面vim

sudo apt-get install vim-pnome

安装完成后再次执行:

vim --version | grep "clipboard"

就可以了




    原文作者:埃斯丶
    原文地址: https://blog.csdn.net/ID__Ace/article/details/79539475
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞