如何将选定的行复制到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