Vim複製一整行和複製多行

2022-02-20 14:34:17 字數 3194 閱讀 2417

1、複製

1)單行複製

在命令模式下,將游標移動到將要複製的行處,按「yy」進行複製;

2)多行複製 在命令模式下,將游標移動到將要複製的首行處,按「nyy」複製n行;其中n為1、2、3……

【yy】 複製游標所在的那一行

【nyy】 複製游標所在的向下n行

2、貼上

在命令模式下,將游標移動到將要貼上的行處,按「p」進行貼上

3、刪除

刪除一行:dd

刪除乙個單詞/游標之後的單詞剩餘部分:dw

刪除當前字元:x

游標之後的該行部分:d$

文字刪除

dd 刪除一行

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

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

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

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

4、查詢

【/word】 在檔案中查詢內容為word的字串(向下查詢)

【?word】 在檔案中查詢內容為word的字串(向上查詢)

【[n]】 表示重複查詢動作,即查詢下乙個

【[n]】 反向查詢下乙個

搜尋後,我們開啟別的檔案,發現也被高亮了,怎麼關閉高亮?

命令模式下,輸入:nohlsearch  也可以:set nohlsearch; 當然,可以簡寫,noh或者set noh。

5、設定行號

如果編輯後,又想顯示行號,同樣操作按一下esc鍵,並輸入:(冒號),輸入set number    ,並按回車鍵,完成後即顯示行號

6、跳到指定行

在知道所查詢的內容在檔案中的具體位置時可以使用以下命令直接定位:

跳到檔案指定行:比如跳到66行

66+g(也就是66+shift+g)

當然你可以選擇另一種跳轉方式:

命令列輸入「 : n 」 然後回車

跳到檔案第一行:gg (兩個小寫的g)

跳到檔案最後一行:shift+g (也就是g)

7、檔案上下翻轉

頁翻轉可以直接使用pgup和pgdn

向前滾動一屏:ctrl+f

向後滾動一屏:ctrl+b

向前滾動半屏:ctrl+d(向下)

向後滾動半屏:ctrl+u(向上)

向下滾動一行,保持當前游標不動:ctrl+e

向上滾動一行,保持當前游標不動:ctrl+y

當前行滾動:

當前行移動到螢幕頂部並滾動:z+enter

滾動指定行到螢幕頂部: 10z+enter(指定第十行)

當前行移動到螢幕**並滾動:z + .

當前行移動到螢幕底部並滾動:z + -

當前螢幕操作:

h:大寫h,移動到當前螢幕首行;nh移動到首行下的第n行

m:大寫m,移動到當前螢幕中間行

l:大寫l,移動到當前螢幕末行;nl移動到末行上面的第n行

8、撤銷上一步操作

【u】 撤消上乙個操作

【[ctrl] + r】 多次撤消

【.】 這是小數點鍵,重複上乙個操作

縮排:插入模式下,ctrl+shift+d 減少縮排,ctrl+shift+t 增加縮排

9、vim編輯

1、進入插入模式(6個命令)

【i】 從目前游標所在處插入

【i】 從目前游標

【a】 從當前游標所在的下乙個字元處開始插入

【a】 從游標所在行的最後乙個字元處開始插入

【o】 英文小寫字母o,在目前游標所在行的下一行處插入新的一行並開始插入

【o】 英文大寫字母o,在目前游標所在行的上一行處插入新的一行並開始插入

2、進入替換模式(2個命令)

【r】 只會替換游標所在的那乙個字元一次

【r】 會一直替換游標所在字元,直到按下[esc]鍵為止

【[esc]】 退出編輯模式回到一般模式

3、一般模式切換到命令列模式

【:w】 儲存檔案

【:w!】 若檔案為唯讀,強制儲存檔案

【:q】 離開vi

【:q!】 不儲存強制離開vi

【:wq】 儲存後離開

【:wq!】 強制儲存後離開

【:! command】 暫時離開vi到命令列下執行乙個命令後的顯示結果

【:set nu】 顯示行號

【:set nonu】 取消顯示行號

【:w newfile】 另存為

【:set fileencoding】 檢視當前檔案編碼格式

【:set fileencoding=utf-8】 設定當前檔案編碼格式為utf-8,也可以設定成其他編碼格式

【:set fileformat】 檢視當前檔案的斷行格式(dos\windows,unix或macintosh)

【:set fileformat=unix】 將當前檔案的斷行格式設定為unix格式

10、多視窗功能

【:sp [filename]】 開啟乙個新視窗,顯示新檔案,若只輸入:sp,則兩視窗顯示同乙個檔案

【[ctrl] + w + j】 游標移動到下方視窗

【[ctrl] + w + k】 游標移動到上方視窗

【[ctrl] + w + q】 離開當前視窗

11、縮排

批量縮排

將所要批量縮排的行號寫上,按照格式:「行號1,行號2>」輸入命令,如要將2至9行批量縮排乙個tab值,則命令為「2,9>」

輸入完畢後,按回車可以執行,就可以看到2至9行全部縮排了乙個tab值了,同樣的,如果要縮回來乙個tab值,則用命令「行號1,行號2<」即可

可視模式縮排

方法二是在可視模式下選擇要移動的列,操作為,esc從編輯模式退到命令模式,將游標移到需要縮排的行的行首,然後按shift+v,可以看到該行已被選中,且左下角提示為「可視」

此時,按鍵盤上的上下左右方向鍵,如這裡按向下的箭頭,選中所有需要批量縮排的行

選擇好了之後,按shift+>,是向前縮排乙個tab值,按shift+<,則是縮回乙個tab值,

在Vim中複製整行

如何以類似於intellij idea resharper中的ctrl d或eclipse中的ctrl alt 的方式在vim中複製整行?普通模式 檢視其他答案。如果您需要移動而不是複製,請使用 m而不是 t。如果將它與 g或 v結合使用,這將非常強大。參考 help range,help t,he...

vi 整行 多行 複製與貼上

vi編輯器中的整行 多行 複製與貼上就非常必要了。1 複製 1 單行複製 在命令模式下,將游標移動到將要複製的行處,按 yy 進行複製 2 多行複製 在命令模式下,將游標移動到將要複製的首行處,按 nyy 複製n行 其中n為1 2 3 2 貼上 在命令模式下,將游標移動到將要貼上的行處,按 p 進行...

vim 複製 刪除多行

文章分類 作業系統 一 多行 dd刪除一行 ndd 刪除以當前行開始的n行 dw刪除以當前字元開始的乙個字元 ndw刪除以當前字元開始的n個字元 d d 刪除以當前字元開始的一行字元 d 刪除到下一句的開始 d 刪除到下一段的開始 d回車刪除2行 二 複製多行 任務 將第9行至第15行的資料,複製到...