如何在vim中将所选行复制到剪贴板
如何在vim中将所选行复制到剪贴板。我知道如何做,但我想做的选择行。 谢谢 SHIFTV将您置于选择线路模式。然后“*y将当前选定的行拖动到剪贴板上的如何在vim中将所选行复制到剪贴板,vim,Vim,如何在vim中将所选行复制到剪贴板。我知道如何做,但我想做的选择行。 谢谢 SHIFTV将您置于选择线路模式。然后“*y将当前选定的行拖动到剪贴板上的*寄存器。有不同的寄存器,用于不同的目的。有关Windows和Linux上*和+寄存器之间差异的详细信息,请参阅选择和删除寄存器部分 set guioptions+=a will,…嗯,简而言之,每当你选择/拖动某个东西时,也会将其放入剪贴板(不是Vim的,而是窗口系统的全局键盘)。这样你就不必考虑将东西拖动到一个特殊的寄存器中。如果你在Linu
*
寄存器。有不同的寄存器,用于不同的目的。有关Windows和Linux上*
和+
寄存器之间差异的详细信息,请参阅选择和删除寄存器部分
set guioptions+=a
will,…嗯,简而言之,每当你选择/拖动某个东西时,也会将其放入剪贴板(不是Vim的,而是窗口系统的全局键盘)。这样你就不必考虑将东西拖动到一个特殊的寄存器中。如果你在Linux上并且使用的是Vim 7.3.74或更高版本(Ubuntu11.10以后安装的版本满足这一点),您可以这样做
set clipboard=unnameplus
这将把拖动的文本放入全局剪贴板,并允许您从全局剪贴板粘贴,而无需使用任何特殊寄存器。与ldigas的解决方案不同,这也适用于非gui版本的VIm。如果您没有
sudo-apt-get-install-xclip
Xclip将数据放入“选择/突出显示”剪贴板,您可以单击鼠标中键粘贴该剪贴板,而不是“ctrl+v”
在vim中,使用ex命令:
7w !xclip
或
或
然后点击鼠标中键粘贴到任何其他应用程序中…对于GVIM,点击v
进入可视模式;选择文本并点击Ctrl+Insert
将所选内容复制到全局剪贴板中
从菜单中,您可以看到快捷键是“+y
,即按住Shift键,然后按”
,然后按+
,然后松开Shift并按y
(与Shift+Insert相比比较麻烦)。如果vim是使用剪贴板支持编译的,则可以使用”*y
意思是:将可视选择的文本拉入寄存器*
(“*”表示剪贴板)
如果没有剪贴板支持,我认为唯一的其他方法是在vim中直观地选择文本后使用Ctrl+Insert
。如果在MAC OSX中使用vim,不幸的是,它带有较旧的verion,不符合剪贴板选项。幸运的是,自制软件可以轻松解决这个问题
安装vim:
brew安装vim——带lua——带覆盖系统vim
安装vim的gui版本:
brew安装macvim——带lua——带覆盖系统vim
重新启动终端以使其生效
将以下行附加到~/.vimrc
设置剪贴板=未命名
现在,您可以使用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
我已将以下行添加到我的.vimrc
vnoremap <F5> "+y<CR>
vnoremap“+y
这允许您通过按F5将所选文本复制到剪贴板。您必须处于可视模式才能工作。首先检查vim安装是否支持剪贴板
vim --version
如果安装了剪贴板支持,您将看到:
+clipboard
+X11
+xterm_clipboard
-clipboard
-X11
-xterm_clipboard
如果未安装剪贴板支持,您将看到:
+clipboard
+X11
+xterm_clipboard
-clipboard
-X11
-xterm_clipboard
要安装剪贴板支持,请执行以下操作:
apt-get install vim-gnome
验证是否安装了剪贴板支持后,请执行以下操作:
将光标定位到要复制的第一行
按Shiftv进入可视模式
压榨↓ 选择多行的步骤
按“+y”将所选文本复制到系统剪贴板
现在,您可以将所选文本复制到浏览器、文本编辑器等
如果要将系统剪贴板文本复制到vim,请按“+p”
如果您必须重复地从vim复制到系统剪贴板,则上述步骤可能会变得单调乏味,反之亦然。
您可以创建vim快捷方式,以便按Ctrlc键时,所选文本将复制到系统剪贴板。按Ctrlp键时,系统剪贴板文本将复制到vim。要创建快捷方式,请执行以下操作:
打开.vimrc文件并在文件末尾添加以下文本:
nnoremap <C-c> "+y
vnoremap <C-c> "+y
nnoremap <C-p> "+p
vnoremap <C-p> "+p
nnoremap“+y
vnoremap“+y
nnoremap“+p
vnoremap“+p
保存并重新加载.vimrc以应用新更改
将光标定位到要复制的第一行
按Shiftv进入可视模式
压榨↓ 选择多行的步骤
按Ctrlc将所选文本复制到系统剪贴板
现在,您可以将所选文本复制到浏览器、文本编辑器等
如果要将系统剪贴板文本复制到vim,请按Ctrlp
注意:这适用于ubuntu系统。以下是一些可行的步骤:
vim中的开源文件
按shiftv键进入视觉模式
通过移动上/下箭头键选择行数
待复制的文本高亮显示后,按以下键将其拖动(复制)到+寄存器:“+y”
现在在vim中打开目标文件
按:Ctrlv将步骤4中复制的文本粘贴到目标文件中
相关:,请参阅,仅当我安装vim gnome
包而不是vim
@dan klasson时,此选项才有效:此选项需要使用剪贴板支持编译的vim。您可以通过键入vim--version | grep“+xterm_剪贴板”来检查是否存在这种情况
。这似乎可以复制到其他非vim程序中,但当我在vim中进入插入模式并使用“shift+insert”从剪贴板粘贴时,只有前两行被粘贴…我安装了vim gnome;我是否遗漏了其他内容?如果你在macOS上,你可能需要使用剪贴板=未命名
()在Linux中,+是全局剪贴板,*是选择剪贴板,而在Windows中两者都映射到全局剪贴板。//,我刚刚在OSX 10.12.3上测试了这个,它是