Ubuntu 16.04 LTS下Vim 8系统剪贴板功能无法使用求助
解决Vim 8系统剪贴板无法使用的问题
我之前刚碰到过一模一样的情况——装了Vim 8想搭配ALE插件用,结果发现"+y完全没法复制到系统剪贴板,之前用vim-gnome的时候明明好好的。后来折腾了一阵终于搞定,分享下我的解决步骤:
第一步:先确认Vim是否支持剪贴板
打开Vim,输入:version,然后找输出里的clipboard相关项:
- 如果显示
+clipboard和+xterm_clipboard,说明Vim本身支持剪贴板,那可能是其他配置小问题; - 如果是
-clipboard,那就是你的Vim编译时没包含剪贴板支持,这是最常见的原因。
解决方法一:安装带剪贴板支持的预编译Vim包
如果你用的是Debian/Ubuntu这类APT系系统,原来的vim-gnome现在已经被替换成vim-gtk3了,这个版本默认自带剪贴板支持。执行以下命令安装:
sudo apt remove vim vim-tiny sudo apt install vim-gtk3
安装完重新打开Vim,再输:version就能看到+clipboard了,这时"+y复制、"+p粘贴应该就能和系统剪贴板正常交互了。
解决方法二:重新编译Vim 8并启用剪贴板支持
如果是你自己源码编译安装的Vim,那需要重新编译,加上剪贴板相关的编译参数:
- 先卸载现有Vim:
sudo make uninstall # 源码编译安装的用这个 sudo apt remove vim # 包管理安装的用这个
- 安装编译依赖:
sudo apt install libgtk-3-dev libncurses-dev git
- 克隆Vim源码:
git clone https://github.com/vim/vim.git cd vim/src
- 配置编译参数(核心是加上
--enable-clipboard和GUI支持):
./configure --prefix=/usr/local \ --enable-gui=gtk3 \ --enable-clipboard \ --enable-multibyte \ --with-features=huge
- 编译并安装:
make -j$(nproc) sudo make install
完成后打开Vim,检查:version确认+clipboard存在,剪贴板功能就正常了。
临时替代方案(不想重装/编译时用)
要是暂时不想折腾,也可以用系统命令间接实现剪贴板交互:
- 复制选中文本到系统剪贴板:选好内容后输入
:w !xclip -selection clipboard - 从系统剪贴板粘贴到Vim:输入
:r !xclip -selection clipboard -o
不过这个方法肯定不如原生的"+y/"+p顺手,还是建议直接装带剪贴板支持的Vim版本更省心。
内容的提问来源于stack exchange,提问作者jerome
相关产品推荐
相关产品推荐

