Welcome 微信登录

首页 / 操作系统 / Linux / 跨越终端中多个vim实例访问剪切板内容

Vim (Vi IMproved)是一款在程序员之间非常受欢迎的文本编辑器。它在执行不同的快捷命令操作上有它自己的特长。比如,要拷贝高亮的文本,我们使用‘y’命令,并用‘x’来剪切。但是,vim(不是gVim)剪切板的内容默认情况下是不能被其他的vim实例访问的。Vim版本信息中使用‘+’表示启用了系统剪切板。你可以运行‘vim ­­–version’,如果你看不到像“+xterm_clipboard”而是显示“­xterm_clipboard“,那么会使用内部剪切板,其将不能被其它的vim实例访问。

安装gvim和parcellite

为了访问vim剪切板的内容,你需要安装gvim包。gVim是vim编辑器的GUI模式,它的剪切板选项默认启用。
  1. # yum install -y gvim
然后,使用RPMForge 仓库安装parcellite 包。Parcellite是一款轻量级,小巧而免费的Linux剪切板管理工具。
  1. # yum install -y parcellite
一旦安装后,运行下面的命令。这里的参数‘&’是使parcellite以后台进程运行。
  1. # parcellite &
检查选项已经在gvim中启用。
  1. # gvim --version
确保“+xterm_clipboard”选项显示在下面的输出中。
  1. VIM -ViIMproved7.2(2008Aug9, compiled Apr5201210:12:08)
  2. Included patches:1-411
  3. Modifiedby<bugzilla@RedHat.com>
  4. Compiledby<bugzilla@redhat.com>
  5. Huge version with GTK2 GUI.Features included (+)ornot(-):
  6. +arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
  7. +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
  8. +cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic
  9. +emacs_tags +eval+ex_extra +extra_search +farsi +file_in_path +find_in_path
  10. +float+folding -footer +fork()+gettext -hangul_input +iconv +insert_expand
  11. +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap
  12. +menu +mksession +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm
  13. -mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte
  14. +multi_lang -mzscheme +netbeans_intg -osfiletype +path_extra +perl +postscript
  15. +printer +profile +python +quickfix +reltime +rightleft -ruby +scrollbind
  16. +signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax
  17. +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse
  18. +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual
  19. +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup
  20. +X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save
打开用户的.bashrc文件。
  1. # vim ~/.bashrc
加入别名并保存文件(按下‘i’来插入行并按下ESC,接着运行:wq来保存并退出)。
  1. # .bashrc
  2. # User specific aliases and functions
  3. alias rm="rm -i"
  4. alias cp="cp -i"
  5. alias mv="mv -i"
  6. alias vim="gvim -v"
  7. # Source global definitions
  8. if[-f /etc/bashrc ];then
  9. ./etc/bashrc
  10. fi
这个alias是内置的用于将一些命令绕到其他命令上。这样每次当vim命令运行时,相应的别名会启动默认带剪切板的gVim。现在,用类似的方式编辑你的‘.vimrc’文件(以防你没有 .vimrc文件,生成这样一个文件然后再回来)。
  1. # vim ~/.vimrc
追加下面这行并保存文件。
  1. autocmd VimLeave* call system("echo -n $"". escape(getreg(),""")."" | xsel -ib")
现在在vim中打开任何文件并高亮部分文本(使用"v"命令)并按下"y"。尝试在vim外面的任何地方粘帖(关不关vim都行),你就发现vim里面复制的内容被粘帖出来了。

附:生成 .vimrc 文件

运行下面的命令来生成.vimrc文件(如果你已做了就跳过这部分)。
  1. # cd [返回到你的主目录]
  2. # vim .vimrc
在vim中在按下ESC键后运行下面的命令(在vim中,每个命令是在按下ESC键后也就是带你进入命令模式后运行的)。
  1. :r $VIMRUNTIME/vimrc_example.vim
  2. :w
推荐阅读:Vim学习指南 http://www.linuxidc.com/Linux/2013-08/89096.htm快速学会 Vi编辑器 http://www.linuxidc.com/Linux/2013-08/88586.htm强大的Vim 编辑器 http://www.linuxidc.com/Linux/2013-07/87544.htm在CentOS 6.2上搭建Vim开发环境 http://www.linuxidc.com/Linux/2013-07/87363.htmVim 7.4a 发布,全新更快的正则表达式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htmCentOS 5.4 安装高亮Vim编辑工具 http://www.linuxidc.com/Linux/2013-06/86508.htmVim技巧分享:C语言设置 http://www.linuxidc.com/Linux/2012-12/77124.htmUbuntu中设置Vim的行号 http://www.linuxidc.com/Linux/2012-12/75485.htmVim编辑器使用基础教程 http://www.linuxidc.com/Linux/2013-05/84031.htmCentOS 6.4下Rabbitmq安装在树莓派上获取天气预报相关资讯      Vim 
  • 交叉编译Vim并移植到ARM嵌入式  (今 21:40)
  • 把Vim打造成优秀的C++ IDE  (06月13日)
  • Linux Vi/Vim 的使用及实例  (06月04日)
  • Vim 和 Emacs 到底哪个更适合你?  (07月25日)
  • 简明 Vim 练级攻略  (06月05日)
  • Vim 8.0 即将发布  (04月14日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数