如何将选定的行复制到vim中的剪贴板
如何将选定的行复制到vim中的剪贴板。 我知道如何为所有的文本文件做到这一点,但我想要做的是选定的行。 谢谢!
SHIFT V让你进入select线模式。 然后, “ * y将当前选定的行拷贝到剪贴板的*
寄存器中,为了不同的目的, 有不同的寄存器。关于selection and drop registers
的章节,了解Windows和*
和+
寄存器之间的区别和Linux。
如果您使用的是Linux并且正在使用VIm版本7.3.74或更高版本(在Ubuntu 11.10以上版本中安装的版本满足此要求),则可以执行
set clipboard=unnamedplus
这将放大的文本到全局剪贴板,并允许您从全局剪贴板粘贴,而不必使用任何特殊的寄存器。 与ldigas的解决scheme不同,这也适用于VIm的非gui版本。
set guioptions+=a
呃,总之,每当你select/放一些东西放在剪贴板中(不是Vim的,而是窗口系统的全局键盘)。 这样你就不必考虑把东西放进一个特殊的寄存器。
对于GVIM,打v
进入可视模式; select文本,然后Ctrl+Insert
将select复制到全局剪贴板。
从菜单中你可以看到快捷键是"+y
即按住Shift键,然后按"
,再按+
,然后松开Shift并按y
(与Shift + Insert相比,麻烦)。
安装“xclip”,如果你还没有…
sudo apt-get install xclip
Xclip将数据放入“select/突出显示”剪贴板,您可以通过中键单击进行粘贴,而不是“ctrl + v”
在vim中使用ex命令:
7w !xclip
要么
1,7w !xclip
要么
%w !xclip
然后只需中点击粘贴到任何其他应用程序…
如果vim与剪贴板支持编译,那么你可以使用"*y
含义:将可视化select的文本推送到寄存器*
('*'用于剪贴板)
如果没有剪贴板支持,我认为只有另外一种方法是在vim中直观地select文本后使用Ctrl+Insert
。
如果您在MAC OSX中使用vim,不幸的是,它带有较旧的版本,而不符合剪贴板选项。 幸运的是,自制软件很容易解决这个问题。
安装vim:
brew install vim --with-lua --with-override-system-vim
安装vim的gui verion:
brew install macvim --with-lua --with-override-system-vim
重启terminal生效。
将以下行附加到〜/ .vimrc
set clipboard=unnamed
现在你可以在vim中用yy
复制该行,并将其粘贴到系统范围内。
将下面的代码添加到.vimrc
:
if has('clipboard') if has('unnamedplus') " When possible use + register for copy-paste set clipboard=unnamed,unnamedplus else " On mac and Windows, use * register for copy-paste set clipboard=unnamed endif endif