天天看點

Linux指令之vi/vim

系統管理者的重要工作就是修改和設定某些重要軟體的配置檔案,是以至少得要學會一種以上的指令行界面文本編輯器。由于所有的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打開的所有檔案

繼續閱讀