前言
文本編輯軟件是任何操作系統(tǒng)不可或缺的工具。盡管Linux上不乏現(xiàn)代化的圖形界面編輯軟件,但Linux的真正魅力在于其命令行界面。在命令行工作時(shí),用戶需要一個(gè)可以在控制臺(tái)窗口運(yùn)行的文本編輯器。
文本編輯器的作用
? Linux系統(tǒng)中的配置文件是以文本文件形式保存的 ? Linux管理員通過(guò)編輯這些配置文件來(lái)進(jìn)行系統(tǒng)管理
文本編輯器的分類
? 行編輯器與全屏幕編輯器 ? 字符界面編輯器與圖形界面編輯器
二 vim 編譯器常用的操作命令
vim編輯器包含三種狀態(tài)模式,通過(guò)Esc鍵在這些模式中切換:
? 命令模式:用于控制光標(biāo)移動(dòng),并進(jìn)行復(fù)制、粘貼、刪除和查找等操作 ? 輸入模式:用于正常的文本錄入 ? 末行模式:用于保存或退出文檔,以及設(shè)置編輯環(huán)境
2.1 vim編輯器的啟動(dòng)和退出
啟動(dòng) | |
---|---|
$ vi | 直接進(jìn)入編輯環(huán)境 |
$ vi 文件名 | 進(jìn)入編輯環(huán)境并打開(新建)文件 |
退出 | |
---|---|
:q | 退出 |
:wq | 保存并退出 |
:q! | 輸入末行命令,放棄對(duì)文件的修改并退出編輯器 |
2.2 文件的打開和讀取
命令 | 功能 |
---|---|
:e 文件名 | 打開新的文件到vi編輯器中 |
:e! 文件名 | 打開新的文件到vi編輯器中,并放棄對(duì)當(dāng)前文件的修改 |
:r 文件名 | 讀取文件內(nèi)容到當(dāng)前vi編輯器中 |
2.3 文件保存與另存為
2.4 vim編輯器的刪除與撤銷
命令 | 功能 |
---|---|
x | 刪除光標(biāo)處的單個(gè)字符(相當(dāng)于delete) |
dd | 刪除光標(biāo)所在行,5dd可刪除5行內(nèi)容(常用) |
dw | 刪除當(dāng)前字符到單詞尾(包括空格)的所有字符 |
de | 刪除當(dāng)前字符到單詞尾(不包括單詞尾部的空格)的所有字符 |
d$ | 刪除當(dāng)前字符到行尾的所有字符 |
d^ | 刪除當(dāng)前字符到行首的所有字符 |
J | 刪除光標(biāo)所在行行尾的換行符,相當(dāng)于合并當(dāng)前行和下一行的內(nèi)容 |
— | — |
u | 取消最近一次的操作,并恢復(fù)操作結(jié)果,可多次使用u命令恢復(fù)已進(jìn)行的多步操作(常用) |
U | 取消對(duì)當(dāng)前行進(jìn)行的所有操作 |
Ctrl + r | 對(duì)使用u命令撤銷的操作進(jìn)行恢復(fù) |
2.5 vim編輯器的復(fù)制與粘貼
注意:在輸入命令時(shí)是看不見(jiàn)的,這是新手容易出錯(cuò)的地方。
命令 | 功能 |
---|---|
yy | 在命令模式下,將光標(biāo)移動(dòng)到將要復(fù)制的行處,按“yy”進(jìn)行復(fù)制;單行復(fù)制 |
nyy | 在命令模式下,將光標(biāo)移動(dòng)到將要復(fù)制的首行處,按“nyy”復(fù)制n行;其中n為數(shù)字。多行復(fù)制 |
p | 在命令模式下,將光標(biāo)移動(dòng)到將要粘貼的行處,按“p”進(jìn)行粘貼 |
2.6 vim編輯器的查找與替換
- vi提供了多種方法來(lái)定位查找指定字符串在文件中的位置,同時(shí)還提供了一種強(qiáng)大的全局替換功能。
- 要查找一個(gè)字符串,在vi命令模式下鍵入“/”,后面跟要查找的字符串,再按回車。vi將光標(biāo)定位到該字符串下一次出現(xiàn)的地方。鍵入“n”跳到該字符串的下一個(gè)出現(xiàn)處,鍵入“N”跳到該字符串的上一個(gè)出現(xiàn)處。
命令 | 功能 |
---|---|
/word | 從上到下在文件中查找字符串“word” |
?word | 從下到上在文件中查找字符串“word” |
n | 定位下一個(gè)匹配的被查找字符串 |
N | 定位上一個(gè)匹配的被查找字符串 |
:s/old/new | 將當(dāng)前行中查找到的第一個(gè)字符“old”串替換為“new” |
:s/old/new/g | 將當(dāng)前行中查找到的所有字符串“old”替換為“new” |
:#,#s/old/new/g | 在行號(hào)“#,#”范圍內(nèi)替換所有的字符串“old”為“new” |
:%s/old/new/g | 在整個(gè)文件范圍內(nèi)替換所有的字符串“old”為“new”(常用) |
:s/old/new/c | 在替換命令末尾加入c命令,將對(duì)每個(gè)替換動(dòng)作提示用戶進(jìn)行確認(rèn)(常用) |
三 vim 輸入模式常見(jiàn)操作
3.1 快速進(jìn)入輸入模式
由于vim在命令模式下無(wú)法對(duì)當(dāng)前文件進(jìn)行輸入操作,必須進(jìn)入輸入模式才能進(jìn)行文本的輸入。快速進(jìn)入有i、a、o這幾個(gè)鍵。輸入時(shí)看不見(jiàn)。
命令 | 功能 |
---|---|
i | 在當(dāng)前光標(biāo)處進(jìn)入插入狀態(tài) |
a | 在當(dāng)前光標(biāo)后進(jìn)入插入狀態(tài) |
A | 將光標(biāo)移動(dòng)到當(dāng)前行的行末,并進(jìn)入插入狀態(tài) |
o | 在當(dāng)前行的下面插入新行,光標(biāo)移動(dòng)到新行的行首,進(jìn)入插入狀態(tài) |
O | 在當(dāng)前行的上面插入新行,光標(biāo)移動(dòng)到新行的行首,進(jìn)入插入狀態(tài) |
3.2 快速移動(dòng)編輯
按鍵 | 功能 |
---|---|
方向鍵 | 進(jìn)行上下左右方向的光標(biāo)移動(dòng) |
Home | 快速定位光標(biāo)到行首 |
End | 快速定位光標(biāo)到行尾 |
PageUp | 進(jìn)行文本的向上翻頁(yè) |
Backspace | 刪除光標(biāo)左側(cè)的字符 |
Del | 刪除光標(biāo)位置的字符 |
四 vim 命令模式常見(jiàn)操作
4.1 行內(nèi)快速跳轉(zhuǎn)
Home操作鍵 | 功能 |
---|---|
^ | 將光標(biāo)快速跳轉(zhuǎn)到本行的行首字符(home) |
$ | 將光標(biāo)快速跳轉(zhuǎn)到本行的行尾字符(end) |
w | 將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的后一個(gè)單詞的首字母 |
b | 將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的前一個(gè)單詞的首字母 |
e | 將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的后一個(gè)單詞的尾字母 |
方向鍵 | 進(jìn)行上下左右方向的光標(biāo)移動(dòng) |
Home | 快速定位光標(biāo)到行首 |
End | 快速定位光標(biāo)到行尾 |
4.2 行間快速跳轉(zhuǎn)
命令 | 功能 |
---|---|
:set nu | 在編輯器中顯示行號(hào)(常用) |
:set nonu | 取消編輯器中的行號(hào)顯示 |
1G | 跳轉(zhuǎn)到文件的首行(常用) |
G | 跳轉(zhuǎn)到文件的末尾行(常用) |
#G | 跳轉(zhuǎn)到文件中的第#行(常用) |
PageUp | 進(jìn)行文本的向上翻頁(yè) |
PageDown | 進(jìn)行文本的向下翻頁(yè) |