歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 跨越終端中多個vim實例訪問剪切板內容

跨越終端中多個vim實例訪問剪切板內容

日期:2017/2/28 14:34:33   编辑:Linux教程

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<[email protected]>
  4. Compiledby<[email protected]>
  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.htm

Vim 7.4a 發布,全新更快的正則表達式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htm

CentOS 5.4 安裝高亮Vim編輯工具 http://www.linuxidc.com/Linux/2013-06/86508.htm

Vim技巧分享:C語言設置 http://www.linuxidc.com/Linux/2012-12/77124.htm

Ubuntu中設置Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm

Vim編輯器使用基礎教程 http://www.linuxidc.com/Linux/2013-05/84031.htm

Copyright © Linux教程網 All Rights Reserved