想找一个好用的 vim 剪切板的快捷键

51 天前
 MHPSY

再用 vim 的时候总是会用 c 、x 、d 命令删除,有的时候不想让它们占据剪贴板有的时候想,想看一下大家是怎么处理这个问题的。

1568 次点击
所在节点    Vim
8 条回复
z1645444
51 天前
重新 map 一下 y ,指定到除了数字 1-9 以外的一个寄存器就好
Wanten
51 天前
clipboard = "", -- do not connection to the system clipboard

n = {
yy = { "yy\"+yy", desc = "yank to \" and + register" },
},

x = {
y = { "\"+y", desc = "yank to \" and + register"}
}
coldle
51 天前
关闭系统剪贴板那个选项,自己主动控制是否复制到系统剪贴板,反正无非就是*寄存器,比如我用空格做 leader ,写的配置就是空格前导的 d 、y 、p 才与系统剪贴板互动

```vimscript
no <Leader>d "*d
no <Leader>y "*y
no <Leader>p "*p

```
coldle
51 天前
不好意思审题失误了。。看起来 op 是想问不占据 vim 内部剪贴板的方式,那按 #1 的方式映射到其他寄存器即可。或者也可以用类似我在 #3 的配置,主动维护一个系列的剪贴快捷键到不会被覆盖的寄存器
xell
50 天前
vim 本来就设计了一个空寄存器 black hole register `_` ,可参见 :h quote_ 。
mongoose
50 天前
jqtmviyu
50 天前
修改.vimrc

" 禁止 c 、cc 、C 、s 、S 、d 、dd 、D 、x 和 X 命令写入寄存器
nnoremap c "_c
nnoremap cc "_cc
nnoremap C "_C
nnoremap s "_s
nnoremap S "_S
nnoremap d "_d
nnoremap dd "_dd
nnoremap D "_D
nnoremap x "_x
nnoremap X "_X
MHPSY
49 天前
感谢回复,有用的回复全部感谢了,最终我应该会选择给每一个命令单独搞一个寄存器,x 就给到 x 寄存器里面,d 就给到 d 寄存器里面

感觉这个方法很棒

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

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

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

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

© 2021 V2EX