我无法复制到+
或*
寄存器中。
Vim中的[:echo has('clipboard')
返回0
,表示我没有该功能标志,我不想重新编译。
我正在运行Wayland,所以我无法使用X11 based solutions
我在查找资源时遇到了麻烦,所以这里是通过添加~/.vimrc
最终使它起作用的原因。
nnoremap <C-@> :call system("wl-copy", @")<CR>
wl-copy
是Command-line copy/paste utilities for Wayland,它将把您提供的管道内容复制到系统剪贴板。
以上实现的映射是
Ctrl + @
激活映射。或选择任何方便的按键组合nnoremap <C-@>
获取"
寄存器的内容,
@"
参数表示和@"
的管道内容作为系统wl-copy
函数的参数
:call system("wl-copy", @")
显示。假设您只想复制文件的行部分,请执行shift
+ v
进入可视模式,仅突出显示我要复制的行。然后做。
:'<,'>w !wl-copy
where
'<,'>
-表示您使用视觉模式选择范围(您无需输入)]w !{cmd}
-将范围写入cmd
的标准输入,请参见:help w_c
的更多内容您可以使用]映射它>
xnoremap <silent> <C-@> :w !wl-copy<CR><CR>
xnoremap
:仅适用于可视模式<silent>
:不会在命令行上回显的映射<C-@>
:所需的组合键:w !{cmd}
:将范围写入cmd
的标准输入<CR><CR>
:需要两次输入,否则命令行等待另一个命令