文件編輯
1 介紹
因為Linux系統一切皆為文件,而我們工作最多的就是修改某個服務的配置(其實就是修改文件內容)。vi和vim是Linux下的一個文本編輯工具,和winodws的記事本是一樣的作用。
1.1 vi和vim有什么區別
vi和vim都是文本編輯器,只不過vim是vi的增強版,可以當作vi的升級版本,vim可以用多種顏色的方式來顯示一些特殊的信息。vim里面加入了很多額外的功能,例如支持正則表達式的搜索、多文件編輯、塊復制等等。 這對於我們在Linux上進行一些配置文件的修改工作時是很棒的功能。使用vi還是vim取決於個人習慣。
如果你是最小化安裝CentOS系統,默認情況下沒有vim命令,可以使用yum install vim -y安裝
1.2 vim的模式
在使用VIM之前,我們需要先介紹下VIM的三種模式: 普通模式、編輯模式、命令模式,每種模式分別支持多種不同的快捷鍵,要想高效率地操作文本,就必須先搞清這三種模式的操作區別以及模式之間的切換方法。
- 普通模式:主要是控制光標移動,可對文本進行復制、粘貼、刪除等工作。
- 編輯模式:主要進行文本內容編輯和修改
- 命令模式: 主要用於保存或退出文本。
當使用vim命令打開一個文件時,默認處於普通模式;從普通模式切換至編輯模式需要使用按鍵a/i/o;編輯模式修改完畢后需要先使用ECS返回普通模式;在普通模式輸入:或/進入命令模式,可實現文件的保存與退出。
2 vim的使用
2.1 普通模式
光標跳轉
shift+g # 光標跳轉到尾部
gg # 光標跳轉到頭部
Ngg # 光標跳轉至當前文件內的N行
$ # 光標跳轉至當前光標所在行的尾部(正則)
^或者0 # 光標跳轉至當前光標所在行的首部(正則)
# 另外在xshell等一些軟件上,光標跳轉到所在行的首部和尾部可以使用Home和End
對於文件內容很多的時候需要上下翻頁
ctrl+f # 向下翻頁
ctrl+b # 向上翻頁
# 另外在xshell等一些軟件上,翻頁也可以使用PageUp和PageDown
復制和粘貼
yy # 復制當前光標所在的行
Nyy # 復制當前光標以及光標向下N行,比如 3yy復制三行
p(小寫) # 粘貼至當前光標下一行
P(大寫) # 粘貼至當前光標上一行
刪除、剪貼、撤銷
dd # 刪除當前光標所在的行(是剪切)
4dd # 刪除當前光標所在的行以及往下的3行
dG # 刪除當前光標以后的所有行
D # 刪除當前光標及光標以后的這一行內容
x # 刪除當前光標后的一個字符
X # 刪除當前光標前的一個字符
dd & p # 剪切dd,用p粘貼
u # 撤銷上一次的操作
替換
r # 替換當前光標標記的單個字符
R # 進入REPLACE模式, 連續替換,ESC結束
2.2 編輯模式
i # 進入編輯模式,光標不做任何操作
a # 進入編輯模式,將當前光標往后一位
o # 進入編輯模式,並在當前光標下添加一行空白內容
I # 進入編輯模式,並且光標會跳轉至本行的頭部
A # 進入編輯模式,將光標移動至本行的尾部
O # 進入編輯模式,並在當前光標上添加一行空白內容
ESC # 退出編輯模式使用ESC
2.3 命令模式
:進入命令模式。
文件保存與退出
:w # 保存當前狀態
:w! # 強制保存當前狀態
:q # 退出當前文檔(文檔必須保存才能退出)
:q! # 強制退出文檔不會修改當前內容
:wq # 先保存,在退出
:wq! # 強制保存並退出
:x # 先保存,在退出
ZZ # 保存退出, shfit+zz
:number # 跳轉至對應的行號
:set nu # 顯示行號
:set nonu # 不顯示行號
文件內容查找
/string # 需要搜索的內容(查找),比如搜索 /bob 搜索bob
n # 按搜索到的內容依次往下進行查找
N # 按搜索到的內容依次往上進行查找
文件內容另存
:w /root/test.txt # 將所有內容另存為/root/test.txt文件中
文件內容讀入
:r /etc/hosts # 讀入/etc/hosts文件至當前光標下面
:5r /etc/hosts # 指定插入/etc/hosts文件至當前文件的第五行下面
