ubuntu vim复制内容至系统剪切板

本文介绍了如何在VIM中将内容复制到系统剪切板,以便在其他软件如网页、gedit或Windows中使用。内容涉及到VIM的寄存器,特别是与系统剪切板关联的第八个寄存器。当`+xterm_clipboard`功能可用时,可以通过`"+y`复制,`"+p`粘贴。若该功能不可用,需要安装相关插件启用。此外,建议在.vimrc文件中设置快捷键以简化操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在VIM中编辑的程序有时需要复制到网页、gedit,或者这window系统中(如果ubuntu是虚拟机),那么用原先的复制y(yank)和p(paste)就不行了。

一、vim寄存器

为何用y,p可以在vim之间复制内容,却不能将内容复制到其他软件中呢?因为y是将内容复制到vim的一个寄存器,而这个寄存器并不是系统的剪切板。vim中也有系统剪切板的寄存器,需要用其他命令进行操作。

:help registers

可以在vim使用上述命令,查看vim支持的所有寄存器.

There are ten types of registers:
1. The unnamed register ""
2. 10 numbered registers "0 to "9
3. The small delete register "-
4. 26 named registers "a to "z or "A to "Z
5. three read-only registers ":, "., "%
6. alternate buffer register "#
7. the expression register "=
8. The selection and drop registers "*, "+ and "~ 
9. The black hole register "_

10. Last search pattern register "/

8. Selection and drop registers "*, "+ and "~ 
Use these registers for storing and retrieving the selected text for the GUI.
See |quotestar| and |quoteplus|.  When the clipboard is not available or not
working, the unnamed register is used instead.  For Unix systems the clipboard
is only available when the |+xterm_clipboard| feature is present
.  {not in Vi}

第8个寄存器就对应系统的剪切板。只有当vim的xterm_clipboard存在时,方可以使用系统的剪切板。那么如何看vim的xterm_clipboard是否存在呢?

$vim --version

或者是

$vim --version | grep clipboard

查看xterm_clipboard前是+还是-,+表示可用,-表示不可用。

如果xterm_clipboard不可用,需要按照vim的插件

$sudo apt-get install vim vim-scripts vim-gtk vim-gnome

安装之后,可以再次查看,发现xterm_clipboard从-变成了+。

二、操作方法

可以shift+v,ctrl+v进行visual模式进行选择。

复制:"+y

粘贴:"+gp

但是显然复制和粘贴的命令都比较复杂,可以将其绑定成其他更方便的快捷键。进行.vimrc文件添加下列命令

let mapleader = ","

"set shortcut for copy to clipboard of system 
nmap <leader>c "+y
nmap <leader>v "+gp

就将"+y 绑定为 ,c,将"+p 绑定为 ,v

主要参考:

点击打开链接

点击打开链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值