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