一、vi的基本概念
基本上vi能夠分爲三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分以下:
1) 命令行模式command mode)
控制屏幕光標的移動,字符、字或行的刪除,移動複製某區段及進入Insert mode下,者
到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才能夠作文字輸入,按「ESC」鍵可回到命令行模式。
3) 底行模式(last line mode)
將文件保存或退出vi,也能夠設置編輯環境,如尋找字符串、列出行號……等。vim
:wq #保存文件並退出
:q! #強制退出,不保存
:set number或者:set nu #使編輯中的文件顯示行號
u #撤消上一步操做
/Fedora #查找Fedora字符
Dw #刪除單詞
Dd #刪除行
vim + filename #進行文件最後一行進行編輯
vim +n filename #進入文件第n行進行編輯
:r file 讀入文件 file 內容,並插在當前行後
:nr file 讀入文件 file 內容,並插在第 n 行後
yy 將當前行的內容放入臨時緩衝區
nyy 將 n 行的內容放入臨時緩衝區
p 將臨時緩衝區中的文本放入光標後
P 將臨時緩衝區中的文本放入光標前
:w 保存文件但不退出 vi
:w file 將修改保存在 file 中但不退出 vi
:e! 放棄全部修改,從上次保存文件開始再編輯
ctrl+f 向前移動一屏
ctrl+b 向後移動一屏
ctrl+d 向前移動半屏
ctrl+u 向後移動半屏
ctrl+e 窗口中的文件總體向上移動一行
ctrl+y 窗口總體向下移動一行
gg 文件開頭
shift+g 文件結束
shift++ 下一行行首
- 上一行行首
0 當前行行首
H 當前屏幕行首
M 當前屏幕中央
L 當前屏幕末行
a 當前光標後插入輸入文本
A 當前光標行尾插入輸入文本
i 當前光標前插入文本
I 當前光標行首前輸入文本
O 當前光標所在行下面行的行首輸入文本
O 當前光標所在行上面行的行首輸入文本
p 粘貼在光標如下
P 粘貼在光標以上
J 上下兩行合併
) 移到句子的結尾
{ 移到段落的開頭
} 移到下一個段落的開頭
( 移到句子的開頭
x 刪除一個字
u 撤銷操做
ctrl +R 命令重作該操做 配合u一塊兒使用
w 向前移動單詞
b 向後移動單詞
/ 簡單查找 ?反向查找 n第幾回匹配 N 反方向重複前一次查找命令行