从终端访问跨越多个Vim实例的剪贴板内容

VIM( 六改进 )是程序员之间最喜欢的文本编辑器之一。 它具有自己的专长,用短手命令执行不同的操作。

从Vim访问剪贴板内容

例如,要复制我们使用的“y”命令和“X”削减相同高亮文本。 但是,在默认情况下VIM(而不是gVim的 )剪贴板中的内容不能关闭Vim情况后进行访问。

Vim使用“+”报名参考到系统剪贴板。 你可以运行' 的vim -version',如果你不能看到类似“+ xterm_clipboard”,而是“xterm_clipboard”,然后内部剪贴板中的内容将不可用VIM之外。

安装gvim和parcellite

为了访问vim的剪贴板内容,你需要安装gvim的软件包。 gVim的是,其中的剪贴板选项是默认启用的vim编辑器的GUI模式。

# yum install -y gvim

接下来,启用RPMForge软件库安装parcellite包。 Parcellite是一个轻量级,小型和免费的剪贴板管理器的Linux。

# yum install -y parcellite

安装后,运行以下命令。 凡说法'&'是用来发送parcellite运行作为后台进程。

# parcellite &

检查是否在gvim中启用了该选项。

# gvim --version

请确保您有在输出显示“+ xterm_clipboard”选项,如下图所示。

VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr  5 2012 10:12:08)
Included patches: 1-411
Modified by <bugzilla@redhat.com>
Compiled by <bugzilla@redhat.com>
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand 
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
+menu +mksession +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm 
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte 
+multi_lang -mzscheme +netbeans_intg -osfiletype +path_extra +perl +postscript 
+printer +profile +python +quickfix +reltime +rightleft -ruby +scrollbind 
+signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax 
+tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse 
+textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual 
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup 
+X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save

打开用户的.bashrc文件。

# vim ~/.bashrc

并添加别名,并保存文件(按下“i”键插入行,然后按ESC键 ,然后运行:WQ保存并退出)。

# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vim='gvim -v'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

这个别名是一个内置的用来绕过一些命令到另一个。 因此,每次发出vim命令时,相应的别名将转到gvim,并且默认启用剪贴板。

现在编辑以类似的方式你' 的.vimrc'文件(在情况下,如果你没有一个.vimrc文件,通过生成一个这样的文件,然后再回到这里。

# vim ~/.vimrc

附加以下行并保存文件。

autocmd VimLeave * call system("echo -n $'" . escape(getreg(), "'") . "' | xsel -ib")

现在打开vim中的任何文件并突出显示文本的部分(使用'v'命令),然后按“+ y。 尝试粘贴在vim之外的任何地方(关闭或不关闭vim),然后你就完成了。

生成.vimrc文件

运行以下命令生成的.vimrc文件(跳过这一部分,如果你已经有一个)。

# cd   [This will put you in home directory]       
# vim .vimrc

在vim中运行以下按ESC键(在vim中,每个命令运行后按ESC键进入命令模式)。

:r $VIMRUNTIME/vimrc_example.vim 
:w
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏