本隨筆是學習vim編輯器學習筆記,原課程詳見 https://www.shiyanlou.com/courses/2vim
vim編輯器的六種基本模式編輯器
1. 普通模式:啓動後的默認模式,按 a 或者 i 等能夠進入插入模式;學習
2. 插入模式:能夠輸入文本,只是寫入緩衝區並不保存,按 Esc 返回普通模式;命令行
3. 命令模式:能夠輸入會被解釋並執行的文本;文檔
除了上面三種模式,還有可視模式、選擇模式、Ex模式等三種模式。字符串
vim [文件名]get
打開vim編輯器,並進入普通模式table
移動鼠標搜索
在普通模式下執行下面命令能夠移動鼠標學習筆記
按鍵 | 說明 |
h | 左 |
l(小寫) | 右 |
j | 下 |
k | 上 |
w | 移動到下一個單詞 |
b | 移動到上一個單詞 |
普通模式下執行下面命令能夠進入插入模式
命令 | 說明 |
i(小寫) | 在當前遊標處進行編輯 |
I(大寫) | 在行首插入編輯 |
A | 在行末插入編輯 |
a | 在遊標後插入編輯 |
o(小寫) | 在當前行後插入一行新行 |
O(大寫) | 在當前行前插入一行新行 |
cw | 替換遊標所在位置及之後到一個單詞結尾的字符 |
保存文檔
在命令模式下執行下面命令能夠保存文檔
:w
:w <文件名> ---- 能夠另存到其餘位置,另存爲
退出vim編輯器
命令行模式下執行下面命令退出
命令 | 說明 |
:q! | 強制退出,不保存( ! 表示強制) |
:q | 退出 |
:wq! | 強制退出,並保存 |
:w [文件路徑] | 另存爲 |
:saveas [文件路徑] | 另存爲 |
:x | 保存並退出 |
:wq | 退出並保存 |
普通模式下 執行 shift + zz 退出
刪除文本信息
普通模式下按下面鍵刪除vim文本信息
按鍵 | 說明 |
x(小寫) | 刪除遊標所在的字符 |
X(大寫) | 刪除遊標所在前一個字符 |
Delete | 同x(小寫) |
dd | 刪除整行 |
dw | 刪除一個單詞(不適用中文) |
d$ 或 D | 刪除至行尾 |
d^ | 刪除至行首 |
dG | 刪除至文檔結尾處 |
d1G | 刪除至文檔首部 |
能夠在命令以前加上數字,表示一次刪除多行
vim重複命令
1. 重複執行上次命令
普通模式下按鍵 . (英文句號,小數點)表示重複上一次的命令操做
2. 執行指定次數相同的命令
普通模式下, N<command>
N表示重複後面的次數
遊標快速跳轉
顯示行號,能夠在命令模式輸入 :set nu 顯示行號
行間跳轉
普通模式下執行下面命令
按鍵 | 說明 |
nG( n Shift + g ) | 遊標移動到第 n 行 |
gg | 遊標移動到第一行 |
G( Shift + g ) | 遊標移動到最後一行 |
Ctrl to : 回到上一次遊標所在的位置
行內跳轉
普通模式下
按鍵 | 說明 |
w | 到下一個單詞的開頭 |
e | 到當前單詞的結尾 |
b | 到前一個單詞的開頭 |
ge | 到前一個單詞的結尾 |
o 或 ^ | 到行頭 |
$ | 到行尾 |
F<字母> | 向前搜索<字母>並跳轉到第一個匹配的位置 |
f<字母> | 向後搜索<字母>並跳轉到第一個匹配的位置 |
t<字母> | 向後搜索<字母>並跳轉到以前的一個字母 |
T<字母> | 向前搜索<字母>並跳轉到以後的一個字母 |
複製
普通模式下使用y複製
按鍵 | 說明 |
yy | 複製遊標所在整行 |
y^ 或 y0 | 複製至行首,不含當前字符 |
y$ | 複製至行尾(含) |
yw | 複製單詞 |
y2w | 複製兩個單詞 |
yG | 複製至文本末 |
y1G | 複製至文本開頭 |
粘貼
普通模式中使用 p 粘貼
p (小寫) : 粘貼至遊標後
P(大寫) : 粘貼至遊標前
剪切及粘貼
刪除命令 dd 即爲剪切,p 粘貼便可
替換
普通模式下使用下面命令
按鍵 | 說明 |
r + <待替換字母> | 將遊標所在字母替換爲指定字母 |
R | 連續替換,直至按下Esc |
cc | 替換整行,即刪除遊標所在行,並進入插入模式 |
cw | 替換一個單詞,即刪除遊標所在一個單詞,並進入插入模式 |
C(大寫) | 替換遊標之後至行末 |
~ | 反轉游標所在字母大小寫 |
u{n} | 撤銷一次或n次操做 |
U(大寫) | 撤銷當前行的全部修改 |
ctrl + r | redo,即撤銷undo的操做 |
快速縮進
普通模式下執行
>> 整行向右縮進
<< 整行向左回退
命令模式能夠用 shiftwidth 值進行設置,能夠控制縮進和回退的字符數
:set shiftwidth? 查看設置值
:set shiftwidth=n 從新設置值爲n
命令模式下
:ce 內容劇中
:ri 文本靠右
:le 文本靠左
快速查找
普通模式下
/<查找的字符串> 向下查找
?<查找的字符串> 向上查找
進入查詢中,n 鍵繼續查找,N 鍵反向查找
高級查詢
尋找遊標所在處的單詞
\* 向後(下)查找
\# 向前(上)查找
部分符合該單詞便可
g\* 向後(下)查找
g\# 向前(上)查找