再用 vim 的时候总是会用 c 、x 、d 命令删除,有的时候不想让它们占据剪贴板有的时候想,想看一下大家是怎么处理这个问题的。
1
z1645444 113 天前 1
重新 map 一下 y ,指定到除了数字 1-9 以外的一个寄存器就好
|
2
tD3H4t5jUowkHZca 113 天前 1
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"} } |
3
coldle 113 天前 1
关闭系统剪贴板那个选项,自己主动控制是否复制到系统剪贴板,反正无非就是*寄存器,比如我用空格做 leader ,写的配置就是空格前导的 d 、y 、p 才与系统剪贴板互动
```vimscript no <Leader>d "*d no <Leader>y "*y no <Leader>p "*p ``` |
4
coldle 113 天前 1
不好意思审题失误了。。看起来 op 是想问不占据 vim 内部剪贴板的方式,那按 #1 的方式映射到其他寄存器即可。或者也可以用类似我在 #3 的配置,主动维护一个系列的剪贴快捷键到不会被覆盖的寄存器
|
5
xell 112 天前
vim 本来就设计了一个空寄存器 black hole register `_` ,可参见 :h quote_ 。
|
7
jqtmviyu 112 天前 1
修改.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 |
8
MHPSY OP 感谢回复,有用的回复全部感谢了,最终我应该会选择给每一个命令单独搞一个寄存器,x 就给到 x 寄存器里面,d 就给到 d 寄存器里面
感觉这个方法很棒 |