我曾经使用"+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/