vim常用快捷鍵筆記


模式切換

Vim一共有4個模式:

  • 正常模式 (Normal-mode) :正常模式一般用於瀏覽文件,也包括一些復制、粘貼、刪除等操作
  • 插入模式 (Insert-mode):在正常模式中按下i, I, a, A等鍵
  • 命令模式 (Command-mode):在正常模式中,按下:(冒號)鍵,會進入命令模式
  • 可視模式 (Visual-mode):在正常模式按下v, V, \<Ctrl>+v,可以進入可視模式。

顯示行號

set nu 顯示行號

set nonu 不顯示行號

刪除行文本相關

首先前提是在編輯模式下按esc進入命令模式下操作

x 刪除當前光標中的一個字符

dw 當前光標單詞的剩余部分(delete word),就是刪除光標之后第一個空格之前的內容

db 光標和前一個單詞剩余部分,刪除光標之前第一個空格之間的內容

ndw 刪除當前光標后的n個單詞

d$ / D 刪除當前光標之后的這一行的所有內容

dd 直接刪除當前行

ndd 直接刪除當前行開始的n

c功能與d功能類似,但是c功能會操作完進入INSERT模式,比如:cw,c$,cc

d) 刪除到下一行的開始,被刪除行會消失,不會變成空行

d + 回車 直接刪除2行(當前行+下一行)

gg dG 刪除所有文本

復制和粘貼

  1. 將光標移動到要復制的位置,按V進入可視化模式。

  2. 將光標移動到要復制的結束的位置,按下y,復制。(此時vim自動選中要復制的內容並復制,然后退出可視化)。

  3. 將光標移動到要粘貼的地方,按p粘貼。

撤銷和重做

u 撤銷上一步的操作(undo)

ctrl+r 重做撤銷的步驟(redo)

查找和替換

全文的搜索

直接在normal模式下按/進入查找模式,然后輸入要查找的字符串按下回車, vim會跳轉到匹配的第一個,然后按下

n 查找下一個,按下N查找上一個。

3n 向后查找三個符合的字符串。

向上搜索,隨后的n命令向上搜索,N向下搜索,其他和/一樣

  • 取消搜索后的高亮顯示方法::/,?set nohlsearch, :nohl

大小寫敏感查找

在查找模式中加入\c表示大小寫不敏感查找,\C表示大小寫敏感查找

例如,查找大小寫敏感的void:

/void \C

查找當前光標的單詞

在normal模式下按*既可以查找光標所在單詞,(單詞的要求是每次出現的前后為空白字符或標點符號)。

例如,查找foo barfoo,只要將光標放在foo單詞任一字符上,既可以被匹配到。

替換

在命令模式下

s 用來查找和替換字符串,語法如下::{作用范圍}s/{目標}/{新替換}/{替換標志}

例如:%s/foo/bar/g會在全局范圍(%)查找foo並替換為bar,所有出現的都會被替換(g)。

  • 范圍:主要包括當前行、全文、選區。

    • 當前行:s/foo/bar/g

    • 全文:%s/foo/bar/g

    • 選取:在visual模式下(按v建進入visual模式)選擇區域后輸入:,vim既可以自動補全為:'<,'>。然后在后面繼續輸入s/foo/bar/即可

    ​ 如:'<,'>s/foo/bar/g

    • 固定行:如將45-62行的void改為VOID,45,62s/void/VOID/g

    • 當前行到接下來的n行:如將當前光標到接下來的15行的VOID改為void,.,+5s/VOID/void/g

  • 替換標志:上文中的/g表示全局替換(globe),還有一些其他的替換標志。

    空替換標志 表示只從光標處開始出現的第一次的替換:%s/foo/bar

    i 表示大小寫不敏感,%s/foo/bar/i

    I 表示大小寫敏感,%s/foo/bar/I

    c 表示需要確認,例如全局查找foo替換為bar時,需要確認,%s/foo/bar/gc,回車后Vim會將光標移動到每一次"foo"出現的位置,並提示replace with bar (y/n/a/q/l/^E/^Y)?按下y表示替換,n表示不替換,a表示替換所有,q表示退出查找模式, l表示替換當前位置並退出。

光標移動快捷鍵

hjkl 左下上右鍵

注:當 Bill Joy 創建 Vi 文本編輯器時,他使用的機器機器是 ADM-3A 終端機,這機器就是把 HJKL 鍵作為方向鍵。自然而然,Bill Joy 也就用了相同的按鍵了。

直接按:

fa 向后移動到字符a處

Fa 向前移動到字符a處

2w 向后移動兩個word

2b 向前移動兩個word

gg 移動到文本開頭處

G 移動到文本結束處

:123 移動到第123行

快捷鍵圖

待補充...

推薦更多Vim相關內容:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM