Vim 粘贴小问题

2020-05-28 09:21:35 +08:00
 tesorouo

Vim 萌新一枚,想问:我默认 register 已经复制了一个单词,hello 。然后我在一段代码中看到有三个位置要替换成 hello 这个单词,且这三个位置是随机的,没办法用 regex 之类的其他替代操作实现。按照一般的逻辑我肯定是跳到第一个单词,例如这个单词是 Are,我可以在 visual 模式下 viw,然后 p,这样就能替换掉第一个单词,但是诡异的是这个操作以后 vim 的 register 会被替换成 Are (不再是 Hello ),这样我去第二个单词粘贴的时候就粘的不是 hello 了,像这种情景需要怎么解决呢?

另外,从系统剪贴板复制除了用"+y 有没有别的更快的方式?谢谢大家。

3892 次点击
所在节点    Vim
22 条回复
MrUser
2020-05-29 07:52:14 +08:00
@blessingsi
感觉 20 楼正解:先替换一次,然后搜索,用 n/p 切换下一个 /上一个,切到之后用 . 来重复最后一次操作(最后一次是替换)
亲测完美!
ilunny
2020-05-29 12:33:25 +08:00
前一个问题之前也遇到过,看了大家的回复感觉可以通过选择粘贴寄存器历史里的条目解决:
viw "0p

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/676194

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX