vim 複製,粘貼,超給力

用vim這麼久了,始終也不知道怎麼在vim中使用系統粘貼板,通常要在網上覆制一段代碼都是先gedit打開文件,中鍵粘貼後關閉,然後 再用vim打開編輯,真的不爽;上次論壇上有人問到了怎麼在vim中使用系統粘貼板,印象裏回覆很多,有好幾頁的回覆卻沒有解決問題,今天實在受不了了又 在網上找辦法,竟意外地找到了,貼出來分享一下。
如果只是想使用系統粘貼板的話直接在輸入模式按Shift+Inset就可以了,下面講一下vim的粘貼板的基礎知識,有興趣的可以看看,應該會有所收穫的。
vim幫助文檔裏與粘貼板有關的內容如下:
  1. vim有12個粘貼板,分別是0、1、2、...、9、a、“、+;用:reg命令可以查看各個粘貼板裏的內容。在vim中簡單用y只是複製到“(雙引號)粘貼板裏,同樣用p粘貼的也是這個粘貼板裏的內容;
     
  2. 要將vim的內容複製到某個粘貼板,需要退出編輯模式,進入正常模式後,選擇要複製的內容,然後按"Ny完成複製,其中N爲粘貼板號(注意是按一下雙引號然後按粘貼板號最後按y),例如要把內容複製到粘貼板a,選中內容後按"ay就可以了,有兩點需要說明一下:
    • “號粘貼板(臨時粘貼板)比較特殊,直接按y就複製到這個粘貼板中了,直接按p就粘貼這個粘貼板中的內容;
    • +號粘貼板是系統粘貼板,用"+y將內容複製到該粘貼板後可以使用Ctrl+V將其粘貼到其他文檔(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右鍵複製的內容複製到vim中,需要在正常模式下按"+p;
     
  3. 要將vim某個粘貼板裏的內容粘貼進來,需要退出編輯模式,在正常模式按"Np,其中N爲粘貼板號,如上所述,可以按"5p將5號粘貼板裏的內容粘貼進來,也可以按"+p將系統全局粘貼板裏的內容粘貼進來。

yy  複製遊標所在行整行。或大寫一個 Y。
2yy 或 y2y  複製兩行。ㄟ,請舉一反三好不好!:-)
y^  複製至行首,或 y0。不含遊標所在處字元。
y$  複製至行尾。含遊標所在處字元。
yw  複製一個 word。
y2w 複製兩個字。
yG  複製至檔尾。
y1G 複製至檔首。
  小寫 p 代表貼至遊標後(下)。
  大寫 P 代表貼至遊標前(上)。

整行的複製,按 p 或 P 時是插入式的貼在下(上)一行。非整行的複製則是貼在遊標所在處之後(前)。
"ayy  將本行文字複製到 a 緩衝區
a 可為 26 個英文字母中的一個,如果是小寫的話,原先的內容會被清掉,如果是大寫的話是 append 的作用,會把內容附加到原先內容之後。
" 是 Enter 鍵隔壁的那一個同上符號(ditto marks)。
"ap  將 a 緩衝區的內容貼上。
緩衝區的術語在 vim 稱為 registers,vim 擴充了相當多的功能,有興趣深入的朋友請 :h registers。您用 d、c、s、x、y 等指令改變或刪除的內容都是放在 registers 中的。例如:您用 dd 刪除的一行,也是可以使用 p 來貼上的。只要是在緩衝區的內容都可以使用 p 來貼上,不是一定要 y 起來的內容才能用 p。因此您認為 p 是 paste 也可以,認為是 put 可能較正確。
5"ayy  複製五行內容至 a 緩衝區。
5"Ayy  再複製五行附在 a 內容之後,現在 a 中有十行內容了!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章