4.1 Vim文本編輯器

2023-05-11 14:09 更新

每當(dāng)在講課時(shí)遇到需要讓學(xué)生記住的知識(shí)點(diǎn)時(shí),為了能讓他們打起精神來,我都會(huì)突然提高嗓門,因此有句話他們記得尤其深刻:“在Linux系統(tǒng)中一切都是文件,而配置一個(gè)服務(wù)就是在修改其配置文件的參數(shù)”。而且在日常工作中大家也肯定免不了要編寫文檔,這些工作都是通過文本編輯器來完成的。劉遄老師寫作本書的目的是讓讀者切實(shí)掌握Linux系統(tǒng)的運(yùn)維方法,而不是僅僅停留在“會(huì)用某個(gè)操作系統(tǒng)”的層面上,所以我們這里選擇使用Vim文本編輯器,它默認(rèn)會(huì)安裝在當(dāng)前所有的Linux操作系統(tǒng)上,是一款超棒的文本編輯器。

Vim之所以能得到廣大廠商與用戶的認(rèn)可,原因在于Vim編輯器中設(shè)置了三種模式—命令模式、末行模式和編輯模式,每種模式分別又支持多種不同的命令快捷鍵,這大大提高了工作效率,而且用戶在習(xí)慣之后也會(huì)覺得相當(dāng)順手。要想高效率地操作文本,就必須先搞清這三種模式的操作區(qū)別以及模式之間的切換方法(見圖4-1)。

命令模式:控制光標(biāo)移動(dòng),可對(duì)文本進(jìn)行復(fù)制、粘貼、刪除和查找等工作。
輸入模式:正常的文本錄入。
末行模式:保存或退出文檔,以及設(shè)置編輯環(huán)境。

圖4-1 Vim編輯器模式的切換方法

在每次運(yùn)行Vim編輯器時(shí),默認(rèn)進(jìn)入命令模式,此時(shí)需要先切換到輸入模式后再進(jìn)行文檔編寫工作,而每次在編寫完文檔后需要先返回命令模式,然后再進(jìn)入末行模式,執(zhí)行文檔的保存或退出操作。在Vim中,無法直接從輸入模式切換到末行模式。Vim編輯器中內(nèi)置的命令有成百上千種用法,為了能夠幫助讀者更快地掌握Vim編輯器,表4-1總結(jié)了在命令模式中最常用的一些命令。

表4-1 Vim中常用的命令

命令 作用
dd 刪除(剪切)光標(biāo)所在整行
5dd 刪除(剪切)從光標(biāo)處開始的5行
yy 復(fù)制光標(biāo)所在整行
5yy 復(fù)制從光標(biāo)處開始的5行
n 顯示搜索命令定位到的下一個(gè)字符串
N 顯示搜索命令定位到的上一個(gè)字符串
u 撤銷上一步的操作
p 將之前刪除(dd)或復(fù)制(yy)過的數(shù)據(jù)粘貼到光標(biāo)后面

末行模式主要用于保存或退出文件,以及設(shè)置Vim編輯器的工作環(huán)境,還可以讓用戶執(zhí)行外部的Linux命令或跳轉(zhuǎn)到所編寫文檔的特定行數(shù)。要想切換到末行模式,在命令模式中輸入一個(gè)冒號(hào)就可以了。末行模式中可用的命令如表4-2所示。

表4-2 末行模式中可用的命令

命令 作用
:w 保存
:q 退出
:q! 強(qiáng)制退出(放棄對(duì)文檔的修改內(nèi)容)
:wq! 強(qiáng)制保存退出
:set nu 顯示行號(hào)
:set nonu 不顯示行號(hào)
:命令 執(zhí)行該命令
:整數(shù) 跳轉(zhuǎn)到該行
:s/one/two 將當(dāng)前光標(biāo)所在行的第一個(gè)one替換成two
:s/one/two/g 將當(dāng)前光標(biāo)所在行的所有one替換成two
:%s/one/two/g 將全文中的所有one替換成two
?字符串 在文本中從下至上搜索該字符串
/字符串 在文本中從上至下搜索該字符串

大家在平日里一定要多使用Vim編輯器,一旦把Vim的各種命令練熟,后面在編輯配置文件時(shí),效率就會(huì)有很大的提升。在2011年,有一位名為Aleksandr Levchuk的極客,他就為了追求極致的效率,發(fā)起了一個(gè)名為VIM Clutch的實(shí)驗(yàn)項(xiàng)目。他買了一對(duì)類似于汽車油門和剎車的離合器,改裝后再用USB與電腦相連,左腳踩剎車是進(jìn)入編輯模式(i),右腳踩油門是保存文件(wq!)。他對(duì)Linux和Vim的熱愛真是強(qiáng)大!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)