vim 常用快捷鍵

      j
      |
h ----|---- l
      |
      k

光標word單位移動:
This is a line with example text
   <-   <--- ----->   ---->
   ge   ge      e       e


       ge      b          w                               e
       <-     <-         --->                            --->
This is-a line, with special/separated/words (and some more).
   <----- <-----         -------------------->         ----->
      gE     B                     W                      E  


移動行首/尾:
           ^
     <------------
     This is a line with example text
<----------------- --------------->
         0                $
         

find查找功能:
					  
					  Fh
					<------
To err is human. To really foul up you need a computer.
                    --------> ---------------->
                       fo            fc
                    --------------------->
                    3fe
                    
To err is human. To really foul up you need a computer.
          <------------   ------------->
                 Th            tn


匹配括號:
            %
         <----->
if (a == (b * c) / d)
   <---------------->
            %
            
            
            
            
移動光標行:     
    | first line of a file  ^
    | text text text text   |
    | text text text text   | gg
7G  | text text text text   |
    | text text text text
    | text text text text
    V text text text text   |
      text text text text   | G
      text text text text   |
      last line of a file   V
			
			
			
移動光標至屏幕相對上中下位置:			
      +---------------------------+
H --> | text sample text          |
      | sample text               |
      | text sample text          |
      | sample text               |
M --> | text sample text          |
      | sample text               |
      | text sample text          |
      | sample text               |
L --> | text sample text          |
      +---------------------------+
			
			
			
			
			
設置光標行在屏幕位置:
+------------------+        +-------------------+
| some text        |        | some text         |
| some text        |        | some text         |
| some text        |        | some text         |
| some text        | zz --> | line with cursor  |
| some text        |        | some text         |
| some text        |        | some text         |
| line with cursor |        | some text         |
+------------------+        +-------------------+

                            +-------------------+ 
                            | line with cursor  | 
                            | some text         | 
                            | some text         | 
                     zt --> | some text         | 
                            | some text         | 
                            | some text         | 
                            | some text         | 
                            +-------------------+ 

                            +-------------------+ 
                            | some text         | 
                            | some text         | 
                            | some text         | 
                     zb --> | some text         | 
                            | some text         | 
                            | some text         | 
                            | line with cursor  | 
                            +-------------------+ 
														
										
正向搜索:											
/word

反向搜索:
?word

正向重複搜索下一個目標:
n
反向重複搜索下一個目標:
N


光標位置記錄:ctrl-O ctrl-I

      | example text ^        |
33G   | example text | CTRL-O | CTRL-I
      | example text |        |
      V line 33 text ^        V
      | example text |        |
/^The | example text | CTRL-O | CTRL-I
      V There you are|        V
        example text



一、移動光標

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

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

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

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

5、移動光標到下一個句子 ),移動光標到上一個句子(

6、移動到段首{,移動到段尾}

7、移動到下一個詞w,移動到上一個詞b

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

8、搜索模式爲 /string,搜索下一處爲n,搜索上一處爲N

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{motion}

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

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

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

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 {filename}

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、在選中的塊同是插入相同的字符 I<String>ESC


七、跳到聲明

1、[[ 向前跳到頂格第一個{  

2、[] 向前跳到頂格第一個}

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

4、]] 向後跳到頂格的第一個}

5、[{ 跳到本代碼塊的開頭

6、]} 跳到本代碼塊的結尾


八、掛起操作

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





發佈了43 篇原創文章 · 獲贊 11 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章