系統管理者的重要工作就是修改和設定某些重要軟體的配置檔案,是以至少得要學會一種以上的指令行界面文本編輯器。由于所有的UNIX Like都會内置vi,是以每個研究linux的人員都首先要學會vi編輯器。
vim是vi的更新版,準确來說vim是一種程式編輯器。
vi的使用
vi一共有三種模式:一般模式、插入模式、指令行模式。
1 一般模式(移動光标、複制粘貼、查找替換)
- 1.1 移動光标方法
h或左箭頭 | 光标向左移動一個字元頭 |
---|---|
j或右箭頭 | 光标向右移動一個字元頭 |
k或上箭頭 | 光标向上移動一個字元頭 |
l或下箭頭 | 光标向下移動一個字元頭 |
如果要進行多次移動,可以和數字進行組合。如:向下移動20行,可以使用20j或者20↓。
ctrl+f | 向下移動一頁 |
---|---|
ctrl+b | 向上移動一頁 |
0或Home鍵 | 移動到目前行的最前面字元處 |
$或End鍵 | 移動到目前行的最後面字元處 |
G | 移動到檔案的最後一行 |
nG | n為數字,移動到第n行 |
n | n為數字,向下移動n行 |
- 1.2查找與替換
/word | 向下尋找一個名稱為work的字元串 |
---|---|
?word | 向上尋找一個名稱為work的字元串 |
- 1.3 删除、複制和粘貼
x,X | x為向後删除一個字元,X為向前删除一個字元 |
---|---|
dd | 删除目前行 |
ndd | n為數字,删除光标向下的n行 |
yy | 複制目前行 |
nyy | n為數字,複制光标向下的n行 |
p | 粘貼 |
u | 撤銷上一個操作 |
ctrl+r | 重複上一個操作 |
2 插入模式
i,I | i為從光标處插入,I為所在行第一個非空格處開始插入 |
---|---|
o,O | o為向下插入新的一行,O為向上插入新的一行 |
a,A | a為從光标下一個字元插入,A為光标所在行最後一個字元處開始插入 |
o,O | o為向下插入新的一行,O為向上插入新的一行 |
r,R | r為替換光标處的字元一次,R會一直替換光标處的字元,直到按下esc |
Esc | 退出編輯模式,回到一般模式 |
3 指令行模式
:w | 寫入(儲存)檔案 |
---|---|
:w! | 強制寫入檔案 |
:q | 退出編輯 |
:q! | 強制退出編輯 |
:wq | 儲存并退出 |
:set nu | 顯示行号 |
:set nonu | 取消行号 |
vim的恢複功能
當使用vim時,vim會在被編輯檔案的目錄下再建立一個名為.filename.swp的檔案。如果檔案發生意外沒有儲存,可以使用.filename.swp來恢複檔案。
多檔案編輯
可以通過
vim filename1 filename2 …
打開不同的檔案
:n | 編輯下一個檔案 |
---|---|
:N | 編輯上一個檔案 |
:files | 列出目前vim打開的所有檔案 |