当前位置: 首页>>技术教程>>正文


在Ubuntu上从Vim剪切到系统剪贴板

,

问题描述

我使用的是Ubuntu 12.04 Beta和Vim。我正在尝试使用Vim将文本文件的内容复制到Chrome浏览器。我已经尝试过+* y及其所有变体。我尝试了:set clipboard=unnamed:set clipboard=unnamedplus。不工作我不尝试使用xclip或GVim或任何一种。我尝试使用xclip(在Ubuntu 12.04中不是标准软件包),但这也行不通,也需要太多努力。

如何将文本复制到剪贴板,然后粘贴到任何地方(例如Chrome)?

最佳方法

您的Vim版本不支持X,这是剪贴板访问所必需的。默认情况下,Ubuntu附带了多个版本的vim,只有GUI变体支持剪贴板访问。我总是从源代码重新编译vim,以便单个vim(带有gvim的符号链接等)支持所需的所有内容(包括从命令行切换到GUI版本的:gui)。这真的很容易做到:

# Get the compile-dependencies of vim
sudo apt-get build-dep vim
# If you haven't got mercurial, get it
sudo apt-get install mercurial
# Get the source
hg clone https://vim.googlecode.com/hg/ vim_source
# Compile it
cd vim_source
./configure \
    --enable-perlinterp=dynamic \
    --enable-pythoninterp=dynamic \
    --enable-rubyinterp=dynamic \
    --enable-cscope \
    --enable-gui=auto \
    --enable-gtk2-check \
    --enable-gnome-check \
    --with-features=huge \
    --with-x \
    --with-compiledby="Your Name <youremail@domain.com>" \
    --with-python-config-dir=/usr/lib/python2.7/config
make && sudo make install

它将安装在/usr /local中,因此请确保将它放在/usr之前的PATH中,并且将使用它而不是Ubuntu版本。

次佳方法

vim --version的输出应显示如下:

Huge version with GTK2-GNOME GUI.  Features included (+) or not (-):

在输出中进一步,您应该看到类似+ Xll的内容:

+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim 
+xsmp_interact +xterm_clipboard -xterm_save 

这意味着您的控制台vim可以从X11剪贴板复制/粘贴。

尝试apt-get install vim-gtk

第三种方法

安装软件包vim-gnome而不是vim。它带有启用的clipboard

第四种方法

您也可以向vimrc添加快捷方式

# Copy and paste
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa

它将允许您通过Ctrl + C复制并通过Ctrl + V粘贴

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10164.html,未经允许,请勿转载。