2 king of word King_Of_Word 于 2016.02.02 13:53 提问

linux的vi在可视模式的粘贴复制问题

我在linux下按v进入可视然后选中一个单词hi,然后按y赋值到剪切板
然后再次进入可视模式选中一个单词hello按下p进行替换.可是下次再选中一个单词按下p时候怎么粘贴出来的是hello啊..
例子:
1.i have a dream
2.look deam
3.good deem
我在可视模式下复制了第一行的dream .然后在可视模式下选中第二行的deam,然后按下p.粘贴 此时 变成"2.look dream". 然后在可视模式下选中第三行的deem,按下p结果第三行变成 "3.good deam" 可视我的本意是让变成 "3.good dream"

还望大神们解答啊...

2个回答

devmiao
devmiao   Ds   Rxr 2016.02.03 07:34
luojj26
luojj26   2016.02.08 14:45

你好,vi里面的剪贴板略复杂,直接按p是粘贴当前剪贴板的内容。然而,在vi里面,删除什么的都会造成剪贴板的更新。此处你第一次p后,剪贴板的内容应该发生了更新(即变成deam了,不清楚是不是可是状态下的影响。。。)

为解决此类问题,我用的是命名缓冲区。
即在按下y复制之前,按““ + a至z任一个字母”,这样的话相当于有26个分离的缓冲区给你用。这样在p之前加上““+对应字母”即可粘贴对应缓冲区里的内容。。

比如这里,用v可视化,选好dream,然后“+ a +y。。。。这样dream被存到了a缓冲区里。。。接着选deam,用“+a+p即可粘贴dream.....每一次你想粘贴dream时都用这个方法即可。

望对你有帮助,觉得好望采纳
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!