福建建筑人才服務(wù)中心檔案/熱狗seo顧問
文章目錄
- 一、vim簡介
- 二、命令模式
- 1. 光標(biāo)移動
- 2. 復(fù)制、剪切和粘貼
- 3. 撤銷和重做
- 4. 搜索和替換
- 5. 顯示行號
- 三、輸入模式
- 1. 進(jìn)入輸入模式
- 2. 在輸入模式下編輯文本
- 3. 使用特殊字符和快捷鍵
- 注意事項(xiàng)
- 四、命令行模式
- 1. 保存和退出
- 2. 查找和替換
- 3. 顯示行號和其他設(shè)置
- 4. 執(zhí)行外部命令
- 注意事項(xiàng)
- 五、相關(guān)鏈接
一、vim簡介
Vim是高度可配置的,大多數(shù)常用的編輯功能都可以不必使用鼠標(biāo)就可以實(shí)現(xiàn),并提供了豐富的插件系統(tǒng)。Vim的這些特性使其成為了一個非常強(qiáng)大的文本編輯器,尤其適合在命令行界面中使用。
Vim的操作模式主要包括普通模式、插入模式和命令模式。在普通模式下,用戶可以進(jìn)行文本的定位、復(fù)制、粘貼、刪除等操作;在插入模式下,用戶可以輸入文本;在命令模式下,用戶可以執(zhí)行一些特定的命令,如保存文件、退出Vim等。
二、命令模式
在 vi/vim 的命令模式下,用戶可以執(zhí)行一系列的命令來操作文本,而無需進(jìn)入插入模式。
1. 光標(biāo)移動
h
:左移一個字符j
:下移一行k
:上移一行l
:右移一個字符w
:向前移動到下一個單詞的開頭b
:向后移動到上一個單詞的開頭e
:向前移動到當(dāng)前單詞的結(jié)尾0
(數(shù)字零):移動到當(dāng)前行的開頭$
:移動到當(dāng)前行的結(jié)尾G
:移動到指定行號的位置,例如10G
將光標(biāo)移動到第10行
案例:假設(shè)你正在編輯一個文本文件,并且想要快速將光標(biāo)移動到第10行的末尾。你可以在命令模式下輸入 10G$
。
2. 復(fù)制、剪切和粘貼
yy
:復(fù)制當(dāng)前行dd
:剪切當(dāng)前行p
:粘貼到當(dāng)前行的下一行P
:粘貼到當(dāng)前行的上一行
案例:假設(shè)你想要復(fù)制第5行并將其粘貼到第7行之后。你可以在命令模式下執(zhí)行以下步驟:
- 將光標(biāo)移動到第5行:
5G
- 復(fù)制當(dāng)前行:
yy
- 將光標(biāo)移動到第7行:
7G
- 粘貼到下一行:
p
3. 撤銷和重做
u
:撤銷上一步操作Ctrl + r
:重做上一步被撤銷的操作
案例:如果你在編輯文本時不小心刪除了幾行,你可以使用 u
命令來撤銷這個操作。如果你又想要恢復(fù)那些被撤銷的更改,可以使用 Ctrl + r
命令。
4. 搜索和替換
/pattern
:從當(dāng)前位置開始向前搜索指定的模式?pattern
:從當(dāng)前位置開始向后搜索指定的模式:s/old/new/g
:在當(dāng)前行替換第一個old為new:%s/old/new/g
:在全文替換old為new:n,ms/old/new/g
:在第n行到第m行之間替換old為new
案例:假設(shè)你想要在全文中將所有的 “apple” 替換為 “orange”。你可以在命令模式下輸入 :%s/apple/orange/g
。
5. 顯示行號
:set nu
:顯示行號:set nonu
:取消顯示行號
案例:如果你想要查看當(dāng)前文件的行號,可以在命令模式下輸入 :set nu
。當(dāng)你不再需要行號時,可以輸入 :set nonu
來取消顯示。
這些只是 vi/vim 命令模式下的一些基本命令和案例。實(shí)際上,vi/vim 的功能非常強(qiáng)大,還有許多高級特性和命令等待你去探索和學(xué)習(xí)。通過不斷練習(xí)和實(shí)踐,你可以逐漸掌握這個強(qiáng)大的文本編輯器,并提高你的文本編輯效率。
三、輸入模式
在 vi/vim 編輯器中,輸入模式(Insert Mode)是用戶用于輸入或編輯文本的模式。當(dāng)從命令模式(Command Mode)切換到輸入模式后,用戶就可以開始輸入文本了。
1. 進(jìn)入輸入模式
i
:在當(dāng)前光標(biāo)位置前插入文本。I
:在當(dāng)前行的行首插入文本。a
:在當(dāng)前光標(biāo)位置后插入文本。A
:在當(dāng)前行的行末插入文本。o
:在當(dāng)前行的下一行插入新行并進(jìn)入插入模式。O
:在當(dāng)前行的上一行插入新行并進(jìn)入插入模式。
案例:假設(shè)你正在編輯一個文本文件,并且想要在第5行的行首插入一些文本。你可以在命令模式下執(zhí)行以下步驟:
- 將光標(biāo)移動到第5行:
5G
- 在行首插入文本:
I
然后輸入你想要添加的文本,比如 “這是新添加的內(nèi)容:”。 - 按下
Esc
鍵退出輸入模式,返回到命令模式。
2. 在輸入模式下編輯文本
在輸入模式下,除了 Esc
鍵用于退出輸入模式外,其他的按鍵都可以被視作為一般的輸入按鍵,用于輸入文本。你可以輸入字母、數(shù)字、標(biāo)點(diǎn)符號等任何你需要的字符。
案例:繼續(xù)上面的例子,假設(shè)你想要在剛才插入的文本后面繼續(xù)輸入一些內(nèi)容。你可以直接在輸入模式下繼續(xù)輸入,比如 “這是繼續(xù)輸入的內(nèi)容。”,然后按下 Esc
鍵退出輸入模式。
3. 使用特殊字符和快捷鍵
在輸入模式下,你還可以使用一些特殊字符和快捷鍵來輔助編輯。例如:
Ctrl + u
:撤銷當(dāng)前行的所有更改。Ctrl + r
:恢復(fù)被撤銷的更改。Tab
:插入制表符(通常用于縮進(jìn))。
案例:假設(shè)你在輸入模式下輸入了一行文本,但突然發(fā)現(xiàn)其中有誤,你可以使用 Ctrl + u
來撤銷整行的更改,然后重新輸入。如果你想要恢復(fù)被撤銷的更改,可以使用 Ctrl + r
。
注意事項(xiàng)
- 在輸入模式下,編輯器不會識別命令,只會將輸入的字符作為文本內(nèi)容。
- 按下
Esc
鍵是退出輸入模式并返回到命令模式的唯一方式。 - 在輸入模式下,你可以使用方向鍵來移動光標(biāo),但這通常不是最高效的做法。在 vi/vim 中,更推薦使用命令模式的光標(biāo)移動命令來快速定位光標(biāo)位置。
四、命令行模式
在 vi/vim 編輯器中,命令行模式(Command-line Mode)允許用戶執(zhí)行一些全局性的命令,如保存文件、退出編輯器、查找替換文本等。
1. 保存和退出
:w
:將當(dāng)前編輯的內(nèi)容寫入文件。:q
:退出 vi/vim 編輯器。:wq
或ZZ
(兩個大寫字母Z):保存文件并退出。:q!
:不保存文件,強(qiáng)制退出。:w [filename]
:將當(dāng)前文件內(nèi)容另存為新文件,filename 為新文件名。
案例:假設(shè)你編輯完一個文件后,想要保存并退出 vi/vim。你可以在命令行模式下輸入 :wq
然后按回車鍵。如果你想直接退出而不保存更改,可以輸入 :q!
。
2. 查找和替換
/pattern
:在當(dāng)前文件中向前查找指定的字符串 pattern。?pattern
:在當(dāng)前文件中向后查找指定的字符串 pattern。:s/old/new/g
:在當(dāng)前行將 old 替換為 new。:%s/old/new/g
:在整個文件中將 old 替換為 new。:n,ms/old/new/g
:在文件的第 n 行到第 m 行之間將 old 替換為 new。
案例:如果你想在當(dāng)前文件中查找所有的 “error” 字符串,可以在命令行模式下輸入 /error
然后按回車鍵。每次按 n
鍵會向前查找下一個匹配項(xiàng),按 N
鍵會向后查找。如果你想將文件中的所有 “error” 替換為 “mistake”,可以輸入 :%s/error/mistake/g
。
3. 顯示行號和其他設(shè)置
:set number
或:set nu
:顯示文件的行號。:set nonumber
或:set nonu
:隱藏文件的行號。:set ignorecase
:在查找時忽略大小寫。:set paste
:切換到粘貼模式,避免粘貼時出現(xiàn)格式問題。
案例:如果你想在編輯時顯示文件的行號,可以在命令行模式下輸入 :set number
。當(dāng)你不再需要顯示行號時,可以輸入 :set nonumber
來隱藏它們。
4. 執(zhí)行外部命令
:!command
:執(zhí)行 shell 命令 command,并返回到 vi/vim。
案例:如果你想在編輯文件時執(zhí)行一個外部命令(比如查看當(dāng)前目錄的文件列表),可以在命令行模式下輸入 :!ls
。執(zhí)行完命令后,按回車鍵會返回到 vi/vim 繼續(xù)編輯。
注意事項(xiàng)
- 在命令行模式下輸入的命令通常以冒號
:
開頭。 - 輸入完命令后,需要按回車鍵來執(zhí)行。
- 一些命令可能支持額外的參數(shù)或選項(xiàng),可以通過查看 vi/vim 的文檔或幫助信息來了解更多詳情。
五、相關(guān)鏈接
- Linux官網(wǎng)
- Linux常用命令
- CentOS官網(wǎng)下載地址
- 「Linux系列」Linux簡介及常見的Linux系統(tǒng)
- 「Linux系列」Linux 系統(tǒng)啟動過程
- 「Linux系列」Linux 系統(tǒng)目錄結(jié)構(gòu)/忘記密碼解決方法
- 「Linux系列」Linux 遠(yuǎn)程登錄/文件基本屬性
- 「Linux系列」Linux 文件與目錄管理
- 「Linux系列」Linux 如何學(xué)習(xí)用戶和用戶組管理
- 「Linux系列」聊聊Linux磁盤管理的事