Linux下 VI 編輯器操做

VI編輯器的三種模式:命令模式、輸入模式、末行模式。

一、命令模式:vi啓動後默認進入的是命令模式,從這個模式使用命令能夠切換到另外兩種模式,同時不管在何種模式下,【Esc】鍵均可以回到命令模式。在命令模式中輸入「i」,「insert」均可以進入輸入模式編輯文件。
二、輸入模式:在這個模式下,能夠編輯、修改、輸入等編輯工做,在編輯器最後一行顯示一個「--INSERT--」標誌着vi進入了輸入模式。當咱們完成修改輸入等操做的時候咱們須要保存文件,這是咱們須要先返回命令模式,在進入末行模式保存。
三、末行模式:在命令模式輸入「:」便可進入該模式,在末行模式中有不少好用的命令。編輯器

VI編輯操做:

進入輸入模命令:

- i 插入命令
- a 附加命令
- o 打開命令
- c 修改命令
- r 取代命令
- s 替換命令
- Esc 退出命令3d

行號操做:

- :set nu 顯示全部行號
- :nu 顯示當前行號
- :m 定位到第m行字符串

刪除操做:(命令模式使用):

- x 刪除光標處的單個字符
- dd 刪除光標所在的行
- dw 刪除當前字符到單詞尾包括空格的全部字符
- *x 例如3x刪除光標處向右的三個字符
- *dd 例如3dd從當前行開始向下刪除三行文本gc

撤銷操做:

- u 取消最近一次的操做,可使用屢次來恢復原有的操做
- U 取消全部操做
- Ctrl+R 能夠恢復對使用u命令的操做文件

複製操做:

- yy 複製當前整行內容到vi緩衝區
- yw 複製當前光標所在位置到單詞尾字符的內容到vi緩衝區,至關於複製一個單詞
- y$ 複製光標所在位置到行尾內容到緩衝區
- y^ 複製光標所在位置到行首內容到緩衝區
- *yy 例如5yy就是複製5行
- #yw 例如2yw就是複製兩個單詞
- 若是要複製第m行到第n行之間的內容,能夠在末行模式中輸入m,ny例如5,8y複製第5行到第8行到緩衝區vi

查找和替換:

vi的查找和替換功能主要在命令模式下完成:字符

查找操做:

- 至上而下的查找
- / 要查找的字符串,其中/表明從光標的位置開始查找,例如:/work
- 至下而上的查找
- ?要查找的字符串,例如:?work工作

替換操做:

- :s/old/new 用new替換行中首次出現的old
- :s/old/new/g 用new替換行中全部出現的old
- :m,n s/old/new/g 用new替換從第m行到第n行中出現的old
- :%s/old/new/g 用new替換整編中出現的old
- 若是替換的範圍較大時,在全部的命令尾加一個c命令,強制每一個替換須要用戶進行確認,例如:s/old/new/c或s/old/new/gc生成

恢復文件操做:

vi在編輯某一個文件時,會生成一個臨時文件,這個文件以 . 開頭並以.swp結尾。正常退出該文件自動刪除,若是意外退出例如突然斷電,該文件不會刪除,咱們在下次編輯時能夠選擇如下命令處理:
- O 只讀打開,不改變文件內容
- E 繼續編輯文件,不恢復.swp文件保存的內容
- R 將恢復上次編輯之後未保存文件內容
- Q 退出vi
- D 刪除.swp文件或者使用 vi -r 文件名 來恢復未保存的內容new

相關文章
相關標籤/搜索