Linux VI 文本編輯器使用教程

vi

  • Linux 下最常用的文本編輯器,也是各版本 Linux 默認自帶的標配
  • vi 除了文本編輯,還可以給字符着色、自動補全,但是不像 Windows 下的 word 有排版功能。
  • 可以用來編輯現有的文件,也可以創建一個新文件,還能以只讀模式打開文本文件。

vim

  • Vim 是 Vi improved 的縮寫,是 vi 的改進版,使用方法沒什麼區別。

一、基礎 vi 命令

1、進入編輯器

可以通過以下方式進入 vi 編輯器:

命令 描述
vi filename 如果 filename 存在,則打開;否則會創建一個新文件再打開。
vi -R filename 以只讀模式(只能查看不能編輯)打開現有文件。
view filename 以只讀模式打開現有文件。
vi 創建一個新文件並打開:

$ vi testfile
|
~
~
~
~
~
~
"testfile" [New File]
  • 豎線(|)代表光標的位置;
  • 波浪號(~)代表該行沒有任何內容。如果沒有 ~,也看不到任何內容,那說明這一行肯定是有空白字符(空格、tab 縮進、換行符等)或不可見字符。

2、工作模式

進一步瞭解 vi 之前先來了解一下 vi 的工作模式,vi 有三種工作模式:

普通模式

  • 由 Shell 進入 vi 編輯器時,首先進入普通模式。
  • 從鍵盤輸入任何字符都被當作命令來解釋。
  • 沒有任何提示符,輸入命令後立即執行,不需要回車,而且輸入的字符不會在屏幕上顯示出來。
  • 可以執行命令、保存文件、移動光標、粘貼複製等。
  • 輸入 i(插入)、c(修改)、o(另起一行) 可進入編輯模式;按 esc 鍵退回普通模式。
  • 輸入冒號 (😃 進入命令模式,輸完命令按回車,命令執行完後會自動退回普通模式。
  • 另外,如果不確定當前處於哪種模式,按兩次 Esc 鍵將回到普通模式。

編輯模式

  • 進行文本編輯
  • 輸入的任何字符都被作爲文件的內容保存起來,並在屏幕上顯示出來。

命令模式

  • 進行一些高級處理,如字符串查找、替換、顯示行號等操作

有些人可能會說有兩種工作模式,其實是把命令模式合併到了普通模式。

3、退出 vi 編輯器

一般在命令模式下退出 vi 編輯器。

退出命令 說明
q 如果文件未被修改,會直接退回到Shell;否則提示保存文件。
q! 強行退出,不保存修改內容。
wq w 命令保存文件,q 命令退出 vi,合起來就是保存並退出。
ZZ 保存並退出,相當於 wq,但是更加方便
w file 退出之前,在 w 命令後面指定一個文件名,將文件另存爲新文件 file

vi 編輯文件時,用戶的操作都是基於緩衝區中的副本進行的。如果退出時沒有保存到磁盤,則緩衝區中的內容就會被丟失。

二、命令彙總

  • vi 是區分大小寫的,輸入命令時注意不要鎖定大寫
  • 爲了不影響文件內容,必須在普通模式(按兩次 Esc 鍵)下移動光標。
  • 切換到編輯模式下才能編輯文件
類型 命令 描述
移動光標 k 向上1行;2k 向上2行
- j 向下1行;2j 向下2行
- 1G 第1行
- G 最後一行
- nG
:n
第 n 行
- H
nH
M
L
nL
屏幕頂部
距離屏幕頂部第 n 行的位置
屏幕中間
屏幕底部
距離屏幕底部第 n 行的位置
- 0 或 | 一行的開頭
- $ 一行的末尾
- h
l
向左一個字符
向右一個字符
- w
b
下一個單詞
上一個單詞
- n| 當前行第 n 列
編輯文本 yy
nyy
複製當前行
複製 n 行
- p 將複製的文本粘貼到光標後面
- dd 刪除當前行
2dd:連續兩次刪除光標所在的行
- x
X
刪除當前光標後面 / 前面的字符
2x 連續兩次刪除光標後的字符
- d^ 刪除從當前光標到行首的字符
- d$
D
刪除從當前光標到行尾的字符
- U
u
撤銷對當前行所做的修改
撤銷上次操作,再次按 ‘u’ 恢復該次操作
操作文件 :f 顯示文件名、文件總行數、當前行的位置(百分號 % 形式)
- :f file1 複製爲新文件 file1(要注意保存)
- :w file1 保存修改到 file1(一般使用 :wq 保存並退出)
- :set nu 顯示行號
文本查找 /
?
向下查找
向上查找(後面直接跟要查找的字符串即可)
- n
N
按相同的方向繼續查找
按相反的方向繼續查找
文本替換 :s/search/replace/g search 爲檢索的文本,replace 爲要替換的文本,g 表示全局替換

搜索的字符串中可以包含一些有特殊含義的字符,如果希望搜索這些字符本身,需要在前面加反斜槓 (\)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章