我曾经使用"+y将文本复制到系统的剪贴板中,但是在Windows上的Bash vim中不起作用。

最佳答案

由于“* y”和“+ y(...)都不起作用,因此可以选择以下方法:

将此添加到您的.vimrc并创建一个名为~/.vimbuffer的文件

" copy (write) highlighted text to .vimbuffer
vmap <C-c> y:new ~/.vimbuffer<CR>VGp:x<CR> \| :!cat ~/.vimbuffer \| clip.exe <CR><CR>
" paste from buffer
map <C-v> :r ~/.vimbuffer<CR>

使用visual或visual-block突出显示任何文本,然后按ctrl-c
使用通常的方法将复制的文本粘贴到终端外部或
在正常或可视模式下,使用ctrl-v将复制的文本粘贴到任何vim Pane 中。
Ctrl-c提取所选文本,用所选文本覆盖~/.vimbuffer,运行UNIX命令以将数据从~/.vimbuffer传输到clip.exe.
任何进一步的改进(例如:使命令保持静音)都非常感谢!

编辑:
命令现在可以复制任意长度的字符串,而不仅仅是整行。
旧命令:
vmap <C-c> :w! ~/.vimbuffer \| !cat ~/.vimbuffer \| clip.exe <CR><CR>

关于bash - 如何在Windows上的Bash的vim中 “copy to clipboard”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44480829/

10-10 20:05