zoukankan      html  css  js  c++  java
  • [转]vim下鼠标右键无法复制的解决

    转自:http://bbs.csdn.net/topics/270070764

    这个问题的原因应该是你的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就行了。

  • 相关阅读:
    ggplot2 上篇
    R笔记1
    读书笔记 第2章 数据挖掘概述
    读书笔记 数据化营销
    [LeetCode] 172. 阶乘后的零
    [LeetCode] 171. Excel表列序号
    [LeetCode] 169. 求众数
    知乎使用selenium反爬虫的解决方案
    [LeetCode] 168. Excel表列名称
    [LeetCode] 167. 两数之和 II
  • 原文地址:https://www.cnblogs.com/pengzhiwei/p/3096036.html
Copyright © 2011-2022 走看看