在vim中快速複製貼上多行

2021-08-17 10:00:42 字數 1909 閱讀 7088

copy於:

用vim寫**時,經常遇到這樣的場景,複製多行,然後貼上。

這樣做:

1. 將游標移動到要複製的文字開始的地方,按v進入可視模式。

2. 將游標移動到要複製的文字的結束的地方,按y複製。此時vim會自動將游標定位到選中文字的開始的地方,並退出可視模式。

3. 我移動游標到文字結束的地方,按p貼上。

一、多行

dd刪除一行

ndd刪除以當前行開始的n行

dw刪除以當前字元開始的乙個字元

ndw刪除以當前字元開始的n個字元

d$、d

刪除以當前字元開始的一行字元

d)刪除到下一句的開始

d}刪除到下一段的開始

d回車刪除2行

二、複製多行

任務:將第9行至第15行的資料,複製到第16行

方法1:(強烈推薦)

:9,15 copy 16  或 :9,15 co 16

由此可有:

:9,15 move 16  或 :9,15 m 16 將第9行到第15行的文字內容到第16行的後面  

方法2:

游標移動到結束行,ma

游標移動到起始行,輸入y'a

游標移動到需要複製的行,輸入p,行前複製則輸入大寫p

方法3:

把游標移到第9行 shift + v

再把游標移動到第15行  ctrl + c

再把游標死去到第16行  p mysql

方法4:

游標移動到起始行,輸入ma

游標移動到結束行,輸入mb

游標移動到貼上行,輸入mc

然後輸入:'a,'b, co 'c   把co換成m就是剪下

若要刪除多行,則輸入:'a,'b de

vi設定自動縮排:set smartindent

vi設定顯示行號:set number 或 set nu

全部刪除:按esc後,然後dg

全部複製:按esc後,然後ggyg

全選高亮顯示:按esc後,然後ggvg或者ggvg

vim如何與剪貼簿互動(將vim的內容複製出來)

習慣了在windows環境各個應用程式之間如ultraedit,記事本,eclipse之間ctrl+c,ctrl+v進行複製貼上的你,如何在vim與別的windows應用程式之間拷貝貼上呢?

當然你可以在vim裡選擇用滑鼠,選中一塊文字然後右鍵複製,再到應用程式裡ctrl+v貼上,只不過這樣效率就差多了。

更好的做法是,在vim中使用 "*y 使用進行複製,然後在應用程式中用ctrl+v貼上。

從應用程式到vim則在應用程式中使用ctrl+c複製,在vim中使用shift+insert貼上。如:

"*yy複製一行

"*y2w複製二個詞

……實現的原理是:

"   表示使用暫存器

"*   表示使用當前選擇區

我個人推薦使用ctrl+insert複製,shift+insert貼上。

vim有多個剪貼簿,其中就包括了系統剪貼簿。使用命令:reg

可以看到各個剪貼簿的內容。其中「」表示當前使用的剪貼簿,「0-9是歷史剪貼簿,「#就是系統剪貼簿了(你可以在系統裡拷貝一些東西,看是不是會出現在「#剪貼簿裡)。在vim中使用y可以把內容拷貝到「」號剪貼簿,繼續y會把新的東西放入「」,而原來「」的東西就會被壓入「0-9的各個歷史剪貼簿中。x11系統下還有乙個「*的剪貼簿對應中鍵拷貝貼上,windows不知道有沒有。

解決第乙個問題:

「+y 把選中內容拷貝到」+號剪貼簿,即系統剪貼簿

「+p 把系統剪貼簿的內容貼上到vim,這乙個用shift+insert也可完成

解決第二個問題:

「0p 可以把已經被擠到」0剪貼簿的內容a重新貼上出來

嫌長的做乙個map,對映到某個功能鍵或組合就方便了。

VIM複製貼上

vim作為最好用的文字編輯器之一,使用vim來編文件,寫 實在是很愜意的事情。每當學會了vim的乙個新功能,就會很大地提高工作效率。有人使用vim幾十年,還沒有完全掌握vim的功能,這也說明了vim的強大。而這樣何嘗不是一件好事呢,只要有的學習,就有的提高。最近使用vim來寫部落格,發現在vim中貼...

vim 複製貼上

傳統軟體的複製 copy 剪下 cut 貼上 paste 在vim中對應的是yank,delete和put。在vim中的複製,刪除,替換等操作的臨時內容,都會儲存在暫存器中。下面分享下vim中的暫存器和相關的基本的操作。無名暫存器 兩個雙引號,vim中叫做無名暫存器。x,s,d,c,y等操作,如果不...

vim 複製 貼上

選中某些行,可以在命令列模式下執行如下操作 v 小寫 按上下左右鍵,可以選中某些行 v 大寫 按上下鍵,這時候可以直接選中游標所在的行 ctrl v 小寫 可以選中乙個矩形區域 取消選中,這些指令如果想要消除,直接再次點選相應的快捷鍵或者esc就可以了 選中命令列以後,可以進行如下的操作進行刪除 複...