问题描述
我曾经使用"+y
将文本复制到系统剪贴板中,但是在Windows上的Bash vim中不起作用.
I used to use "+y
to copy text to system's clipboard, but it doesn't work in vim of Bash on Windows.
推荐答案
由于"* y"和"+ y(...)都不起作用,因此可以采用以下替代方法:
Since neither "*y nor "+y (...) work, an alternative is the following:
将此添加到您的.vimrc
并创建一个名为~/.vimbuffer
Add this to your .vimrc
and create a file called ~/.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>
使用视觉或视觉障碍物突出显示任何文本,然后按ctrl-c
键.使用通常的方法将复制的文本粘贴到终端外部,或者在普通或可视模式下使用ctrl-v
将复制的文本粘贴到任何vim窗格中.
Higlight any text using visual or visual-block and press ctrl-c
.Paste copied text outside your terminal using the usual method orpaste copied text to any vim pane using ctrl-v
in normal or visual mode.
Ctrl-c
提取选定的文本,用选定的文本覆盖~/.vimbuffer
,运行UNIX命令以将数据从~/.vimbuffer
传送到clip.exe.
Ctrl-c
yanks the selected text, overwrites ~/.vimbuffer
with the selected text, runs a UNIX command to pipe out the data from ~/.vimbuffer
to clip.exe.
任何进一步的改进(例如:使命令保持静音)非常感激!
Any further improvement (e.g.: making command silent) is much appreciated!
命令现在可以复制任意长度的字符串,而不仅仅是整行.旧命令:
command can now copy strings with any length, not just whole lines.Old command:
vmap <C-c> :w! ~/.vimbuffer \| !cat ~/.vimbuffer \| clip.exe <CR><CR>
这篇关于如何“复制到剪贴板"在Windows上的Bash中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!