總結的比較好的vim命令

2022-04-04 05:28:02 字數 2744 閱讀 8964

一、移動游標

1、左移h、右移l、下移j、上移k

2、向下翻頁ctrl + f,向上翻頁ctrl + b

3、向下翻半頁ctrl + d,向上翻半頁ctrl + u

4、移動到行尾$,移動到行首0(數字),移動到行首第乙個字元處^

6、移動到段首

8、移動到文件開始gg,移動到文件結束g

9、移動到匹配的{}.().處%

10、跳到第n行 ngg 或 ng 或 :n

11、移動游標到螢幕頂端h,移動到螢幕中間m,移動到底部l

12、讀取當前字元,並移動到本螢幕內下一次出現的地方 *

13、讀取當前字元,並移動到本螢幕內上一次出現的地方 #

二、查詢替換

1、游標向後查詢關鍵字 #或者g#

2、游標向前查詢關鍵字 *或者g*

3、當前行查詢字元 fx, fx, tx, tx

4、基本替換 :s/s1/s2 (將下乙個s1替換為s2)

5、全部替換 :%s/s1/s2

6、只替換當前行 :s/s1/s2/g

7、替換某些行 :n1,n2 s/s1/s2/g

9、制定書籤 mx, 但是看不到書籤標記,而且只能用小寫字母

10、移動到某標籤處 `x,1旁邊的鍵

11、移動到上次編輯檔案的位置 `.

ps:.代表乙個任意字元 *代表乙個或多個字元的重複

三、編輯操作

1、游標後插入a, 行尾插入a

2、後插一行插入o,前插一行插入o

3、刪除字元插入s, 刪除正行插入s

4、游標前插入i,行首插入i

5、刪除一行dd,刪除後進入插入模式cc或者s

6、刪除乙個單詞dw,刪除乙個單詞進入插入模式cw

7、刪除乙個字元x或者dl,刪除乙個字元進入插入模式s或者cl

8、貼上p,交換兩個字元xp,交換兩行ddp

9、複製y,複製一行yy

10、撤銷u,重做ctrl + r,重複.

11、智慧型提示 ctrl + n 或者 ctrl + p

12、刪除motion跨過的字元,刪除並進入插入模式 c

13、刪除到下乙個字元跨過的字元,刪除並進入插入模式,不包括x字元 ctx

14、刪除當前字元到下乙個字元處的所有字元,並進入插入模式,包括x字元,cfx

15、刪除motion跨過的字元,刪除但不進入插入模式 d

16、刪除motion跨過的字元,刪除但不進入插入模式,不包括x字元 dtx

17、刪除當前字元到下乙個字元處的所有字元,包括x字元 dfx

18、如果只是複製的情況時,將12-17條中的c或d改為y

19、刪除到行尾可以使用d或c

20、拷貝當前行 yy或者y

21、刪除當前字元 x

22、貼上 p

23、可以使用多重剪下板,檢視狀態使用:reg,使用剪下板使用」,例如複製到w暫存器,」wyy,或者使用可視模式v」wy

24、重複執行上乙個作用使用.

25、使用數字可以跨過n個區域,如y3x,會拷貝游標到第三個x之間的區域,3j向下移動3行

26、在編寫**的時候可以使用]p貼上,這樣可以自動進行**縮排

27、 >> 縮排所有選擇的**

28、 << 反縮排所有選擇的**

29、gd 移動到游標所處的函式或變數的定義處

30、k 在man裡搜尋游標所在的詞

31、合併兩行 j

32、若不想儲存檔案,而重新開啟 :e!

33、若想開啟新檔案 :e filename,然後使用ctrl + ^進行檔案切換

四、視窗操作

1、分隔乙個視窗:split或者:vsplit

2、建立乙個視窗:new或者:vnew

3、在新視窗開啟檔案:sf

4、關閉當前視窗:close

5、僅保留當前視窗:only

6、到左邊視窗 ctrl + w, h

7、到右邊視窗 ctrl + w, l

8、到上邊視窗 ctrl + w, k

9、到下邊視窗 ctrl + w, j

10、到頂部視窗 ctrl + w, t

11、到底部視窗 ctrl + w, b

五、巨集操作

1、開始記錄巨集操作q[a-z],按q結束,儲存操作到暫存器[a-z]中

2、@[a-z]執行暫存器[a-z]中的操作

3、@@執行最近一次記錄的巨集操作

六、可視操作

1、進入塊可視模式 ctrl + v

2、進入字元可視模式 v

3、進入行可視模式 v

4、刪除選定的塊 d

5、刪除選定的塊然後進入插入模式 c

6、在選中的塊同是插入相同的字元 iesc

七、跳到宣告

1、[[ 向前跳到頂格第乙個

3、]] 向後跳到頂格的第乙個

5、[ 跳到本**塊的結尾

八、掛起操作

1、掛起vim ctrl + z 或者 :suspend

2、檢視任務 在shell中輸入 jobs

3、恢復任務 fg [job number](將後台程式放到前台)或者 bg [job number](將前台程式放到後台)

4、執行shell命令 :!command

5、開啟shell命令 :shell,退出該shell exit

6、儲存vim狀態 :mksession name.vim

7、恢復vim狀態 :source name.vim

8、啟動vim時恢復狀態 vim -s name.vim

AsyncTask 比較好的解釋

package com.example.asynctask import android.os.asynctask import android.widget.progressbar import android.widget.textview 生成該類的物件,並呼叫execute方法之後 首先執行...

筆試總結2(整理 覺得比較好的)

1 static全域性變數與普通的全域性變數有什麼區別?static區域性變數和普通區域性變數有什麼區別?static函式與普通函式有什麼區別?static全域性變數與普通的全域性變數有什麼區別 static全域性變數只初使化一次,防止在其他檔案單元中被引用 static區域性變數和普通區域性變數有...

ballmanford 比較好的理解方式

本文 假設存在最短路徑的話,那麼我們只要將這條最短路徑沿著權值為負的環路在繞一圈,那麼這條最短路徑的權值就會減少了,所以不存在最短的路徑,因為路徑的最小值為負無窮 一般形式 typedef struct edge edge n bool bellman ford 如果某次迴圈,沒有更新源點到任何頂點...