0 注意事項linux
命令要區分大寫app
1 linux進入VIM模式spa
vi filenameblog
2 VI的三種模式字符串
2.1 輸入模式(INSERT MODE): 用來輸入文本get
2.2 命令模式(COMMAND MODE):用來輸入各類操做命令(處理文本的命令,例如:複製、粘貼等)table
2.3 末行模式 :用於操做軟件(例如:保存、退出軟件等)軟件
3 VI模式之間的切換date
3.1 命令模式 --- > 輸入模式file
快捷鍵 | 功能 | 備註 |
i | 在當前字符前面進入輸入模式 | insert |
I | 在當前行前面進入輸入模式 | |
o | 在下一行插入,並進入輸入模式 | open(打開新的一行) |
O | 在上一行插入,並進入輸入模式 | |
a | 在當前字符後面進入輸入模式 | append(追加) |
A | 在當前行後面進入輸入模式 |
3.2 命令模式 --- > 末行模式
快捷鍵 | 功能 | 備註 |
: | 進入末行模式 | 只能由命令模式進入 |
3.3 輸入/末行模式 --- > 命令模式
快捷鍵 | 功能 | 備註 |
ESC鍵 | 進入命令模式 | 輸入模式和末行模式都是經過該方式進入命令模式 |
3.4 模式轉換圖
4 命令模式
快捷鍵 | 功能 | 備註 |
h | 左 | |
j | 下 | |
k | 上 | |
l | 右 | |
dd | 剪切一行 | |
dG | 刪除光標所在行之後的全部內容(包括光標所在行) | |
dnG | 從光標所在行刪除到第n行 | |
G | 光標定位到最後一行 | |
nG | 光標定位到第n行 | |
gg | 光標定位到第一行 | |
$ | 光標定位到行尾 | |
0 | 光標定位到行首 | |
dw | 刪除一個單詞 | 以空格或逗號區分單詞 |
d^ | 刪除光標到行首的全部字符(不包含光標選中的字符) | 只針對光標所在行 |
d$ | 刪除光標到行尾的全部字符(包含光標選中的字符) | |
D | ||
r | 替換光標選中的字符(輸入替換字符後自動進入輸入模式) | |
R | 替換光標選中的字符(一直停留在替換模式,直到點擊ESC鍵) | |
x | 刪除光標選中的字符 | |
nx | 刪除光標後面的連續n個字符(包含光標選中的字符) | |
yy | 複製光標所在行 | |
nyy | 複製光標所在行以後的n行(包含光標所在行) | |
p | 粘貼到下一行 | |
P | 粘貼到上一行 | |
np | 粘貼n遍 | |
u | 撤銷上一次操做 |
5 末行模式
快捷鍵 | 功能 | 備註 |
q! | 不保存退出 | |
wq/x | 保存並退出 | |
w | 保存 | |
%s/src/target/g | 將全部的src替換成target | %:全篇內容 s:字符串 |
i.js/src/tarfet/g | 將第i行到第j行的全部src替換成target | |
set number | 顯示行號 | |
set nonumber | 隱藏行號 | |
n | 將光標定位到第n行 | |
m,nd | 刪除第m行到第n行 | |
r 文件名 | 將(文件名)指定的文件中的內容導入到正在編輯的文件 | |
r !命令 | 將命令的執行結果導入到正在編輯的文件中 | 例如: r !date [將當前時間導入文件] |
ab str1 str2 | 指定別名[系統重啓後會失效] | 在末行模式指定別名後,在輸入模式中輸入str1,會自動顯示成str2 |