Linux下vim編輯器的使用小技巧
Vim是Linux操作系統(tǒng)中最常用一個(gè)編輯器。如配置文件的更改、環(huán)境變量的設(shè)置等等基本上都是在這個(gè)vim編輯器上完成。所以這是Linux系統(tǒng)管理員最常用的一個(gè)工具。不過(guò)這個(gè)工具雖然小,但是其有很多的實(shí)用小技巧。有些系統(tǒng)管理員可能并不知道。在此筆者就把這些技巧共享出來(lái),大家若覺(jué)得有用,不妨在工作中用用看。
一、備份個(gè)性化配置文件。
Vim文本編輯器有很多默認(rèn)的設(shè)置。但是當(dāng)系統(tǒng)管理員熟悉了這個(gè)工具之后,可能這個(gè)默認(rèn)的設(shè)置就不符合他們的需求了。為此系統(tǒng)管理員希望能夠像Word等文本處理器一樣對(duì)其進(jìn)行一些個(gè)性化的設(shè)置,以方便他們編寫(xiě)配置文件、設(shè)置環(huán)境變量等等。如系統(tǒng)管理員可能會(huì)重新定義某些鍵的功能、創(chuàng)建一些縮寫(xiě)符號(hào)、或者設(shè)置特定的環(huán)境等等。這些個(gè)性化的內(nèi)容都會(huì)保存在一個(gè)文件中。在Linux操作系統(tǒng)中,默認(rèn)情況下這個(gè)文件是保存在用戶(hù)的主目錄中。通常情況下這個(gè)文件的名字叫做,vimrc。注意這個(gè)文件是一個(gè)隱形的文件。必須要使用-a可選項(xiàng)才可以看到這個(gè)文件。有些版本的shell可能沒(méi)有這個(gè)文件,也就無(wú)法保存?zhèn)€性化的設(shè)置。此時(shí)可以從其他版本的系統(tǒng)中將這個(gè)文件復(fù)制過(guò)去即可,一般情況下這個(gè)文件是通用的。
在vim編輯器啟動(dòng)的時(shí)候,會(huì)自動(dòng)讀取這個(gè)文件。隨著時(shí)間的推移,這個(gè)文件會(huì)慢慢的變成一個(gè)系統(tǒng)管理員的專(zhuān)用庫(kù)。在這個(gè)文件中包含了系統(tǒng)管理員熟悉的所有快捷鍵和用戶(hù)經(jīng)常用到的環(huán)境配置。這對(duì)于系統(tǒng)管理員來(lái)說(shuō)非常的重要。為此系統(tǒng)管理員應(yīng)該經(jīng)常備份這個(gè)文件。另外,如果系統(tǒng)管理員經(jīng)常需要移動(dòng)辦公的話(huà),也最好將這個(gè)文件隨身帶一份。如此的話(huà),即使換了一個(gè)工作平臺(tái),系統(tǒng)管理員只要將這個(gè)文件復(fù)制到新的平臺(tái)中去,可以很方便的創(chuàng)建一個(gè)自己熟悉的vim工作環(huán)境。而且這個(gè)文件是保存在用戶(hù)的目錄下面的。為此這個(gè)文件不會(huì)對(duì)這個(gè)操作平臺(tái)上的其他用戶(hù)的vim工具產(chǎn)生影響。在多用戶(hù)環(huán)境中,這個(gè)特性非常的有用。如在一臺(tái)Linux服務(wù)器上,同時(shí)部署了數(shù)據(jù)庫(kù)服務(wù)器、郵件服務(wù)器等等,而且有不同的管理員來(lái)維護(hù)。此時(shí)由于這個(gè)配置文件保存在各自的用戶(hù)目錄中,只要他們所采用的用戶(hù)登錄名不同,為此就不會(huì)彼此的干擾。
二、快速取消錯(cuò)誤的操作。
在Linux操作系統(tǒng)中使用vim工具時(shí),如果輸入了錯(cuò)誤的參數(shù),而又不知道修改之前參數(shù)的值,該怎么辦呢?在其他的文本編輯器中,如Word文本編輯器里,可以通過(guò)撤銷(xiāo)或者CTRL+z組合鍵來(lái)撤銷(xiāo),恢復(fù)修改之前的數(shù)據(jù)(前提是沒(méi)有保存)。但是在vim編輯器中大家會(huì)發(fā)現(xiàn)這個(gè)組合鍵不起作用,而且也沒(méi)有撤銷(xiāo)的按鈕。難道這個(gè)vim編輯器就能夠撤銷(xiāo)錯(cuò)誤的操作嗎?其實(shí)是有的,只是其工作的原理跟其他編輯器不同而已。
當(dāng)系統(tǒng)管理員在編輯文本的過(guò)程中出現(xiàn)錯(cuò)誤的時(shí)候,如錯(cuò)誤的修改了某個(gè)參數(shù)或者刪除了不該刪除的文本,此時(shí)可以再重新操作將原來(lái)的內(nèi)容修改過(guò)來(lái)。但是如果不知道修改之前的內(nèi)容,或者說(shuō)錯(cuò)誤修改的內(nèi)容比較多,此時(shí)系統(tǒng)管理員可以按ESC鍵或者U鍵,來(lái)取消上次的操作。如果采取這個(gè)操作沒(méi)有效果的話(huà),那么可以使用組合鍵ctrl+r鍵來(lái)恢復(fù)上次的不正確操作。注意在vim編輯器中,這個(gè)ctrl+z組合鍵是不起作用的。如果在vim編輯器中使用這個(gè)組合鍵的話(huà),則在終端會(huì)顯示^z符號(hào)。可見(jiàn)這個(gè)組合鍵默認(rèn)情況下在vim編輯器中沒(méi)有定義。注意如果是出于輸入模式的下的話(huà),需要先使用esc鍵退出輸入模式,然后再使用u鍵。否則的話(huà),當(dāng)系統(tǒng)管理員使用u鍵的話(huà),則其當(dāng)作的是一個(gè)普通的鍵,即會(huì)在編輯器內(nèi)輸入u字符。這一點(diǎn)需要特別的注意,需要先退出插入模式。
三、大小寫(xiě)輸入要注意。
在使用vim工具來(lái)編寫(xiě)腳本程序、更改配置文件、設(shè)置環(huán)境變量的時(shí)候,需要注意,其修改的大小寫(xiě)是敏感的。如在設(shè)置環(huán)境變量的時(shí)候,大寫(xiě)的路徑與小寫(xiě)的路徑其代碼的含義是不同的。而且環(huán)境變量名稱(chēng)本身也是區(qū)分大小寫(xiě)的。這跟Windows操作系統(tǒng)下是不同的。如HOME和home這兩個(gè)環(huán)境變量,在Windows操作系統(tǒng)中是同一個(gè)環(huán)境變量。但是在Linux操作系統(tǒng)中,則認(rèn)為是兩個(gè)不同的環(huán)境變量,因?yàn)樗麄兊拇笮?xiě)不同。故筆者提醒各位系統(tǒng)管理員,vim編輯器對(duì)于大小寫(xiě)是敏感的,a和A代表兩種不同的含義,是這個(gè)工具中兩個(gè)不同的命令。在vim工具中,要進(jìn)行大寫(xiě)下的轉(zhuǎn)換主要有兩種形式。一是按鍵盤(pán)上的Caps Lock鍵來(lái)進(jìn)行大小寫(xiě)的轉(zhuǎn)換。二是在輸入的時(shí)候采用shift鍵加字符鍵的組合方式來(lái)輸入大寫(xiě)字符。通常情況下,筆者推薦的是采用第二種方法。因?yàn)樵诶胿i工具設(shè)置環(huán)境變量或者調(diào)整系統(tǒng)配置文件時(shí),大部分文件下采用的都是小寫(xiě)字符。所以采用第二種方式的話(huà),可以避免大小寫(xiě)頻繁轉(zhuǎn)換所造成的麻煩,也會(huì)增加錯(cuò)誤的紀(jì)律。而采用shift鍵字符組合鍵的話(huà),只會(huì)將當(dāng)時(shí)的字符轉(zhuǎn)換為大寫(xiě)。放開(kāi)這個(gè)鍵后,其輸入的字符仍然是小寫(xiě)。所以大小寫(xiě)輸入錯(cuò)誤的幾率會(huì)小的多。不過(guò)這只適合與大寫(xiě)字符并不是很多的情況下。如果大寫(xiě)字符比較多,那么采用這種方式的話(huà),會(huì)增加工作量與輸入的難度。也就是說(shuō),在需要輸入大量大寫(xiě)字符的時(shí)候,最好采用第一種方式。即如果需要輸入一段大寫(xiě)的字母文本,則可以按下這個(gè)Caps Lock鍵來(lái)進(jìn)行大小寫(xiě)切換。不過(guò)等到輸入完成之后,需要及時(shí)的再次按這個(gè)鍵將字符轉(zhuǎn)換為小寫(xiě)。因?yàn)関im很多命令都是采用小寫(xiě)的。如退出這個(gè)工具的exit命令就區(qū)分大小寫(xiě)。如果系統(tǒng)管理員輸入的是大寫(xiě)的EXIT,vim工具就無(wú)法識(shí)別,也就無(wú)法退出這個(gè)編輯器了。故在使用這個(gè)Caps Lock鍵的時(shí)候,需要及時(shí)的轉(zhuǎn)換為小寫(xiě)。或者說(shuō),盡量采用shift鍵加字符組合鍵的方式來(lái)輸入大寫(xiě)字符。
四、在輸入重復(fù)字符時(shí)善于使用重復(fù)因子。
在編寫(xiě)腳本程序的時(shí)候,往往需要在腳本程序的開(kāi)頭編寫(xiě)腳本程序的說(shuō)明。為了更突出這寫(xiě)說(shuō)明性的字符,往往會(huì)有很多*符號(hào)將他們包圍起來(lái)。此時(shí)如果一個(gè)個(gè)的輸入星號(hào)就會(huì)很麻煩。那么在vim工具中能否快速的輸入這些重復(fù)的字符呢?答案是肯定的。要實(shí)現(xiàn)這個(gè)需求的話(huà),就需要用到重復(fù)因子。重復(fù)因子出現(xiàn)在命令之前,表示某個(gè)命令重復(fù)執(zhí)行的次數(shù)。通過(guò)這個(gè)功能就可以在vim編輯工具中快速的輸入重復(fù)的字符。在vim編輯器的命令模式和輸入模式下的許多命令都可以使用重復(fù)因子。如通常情況下命令k表示將光標(biāo)往上移動(dòng)一行。此時(shí)10k則表示將光標(biāo)往上移動(dòng)十行。這里的放在命令前面的阿拉伯?dāng)?shù)字10就表示重復(fù)因子。重復(fù)因子可以加快處理過(guò)程,減少重復(fù)的輸入。在實(shí)際工作中,如果能夠靈活使用這個(gè)重復(fù)因子,往往可以起到事半功倍的效果。在減少輸入的同時(shí),還可以提高操作的準(zhǔn)確率。
Vim在Linux操作系統(tǒng)中是一個(gè)很有用的文本編輯工具。利用這個(gè)工具可以完成腳本文件的編寫(xiě)、環(huán)境變量的配置等等重要的系統(tǒng)維護(hù)工作。所以系統(tǒng)管理員一定要熟練掌握這個(gè)工具。在掌握其命令使用的時(shí)候,同時(shí)還需要掌握一些個(gè)性化的配置與一些常用的技巧。希望上面筆者提到的這些內(nèi)容能夠幫助大家更好的使用這個(gè)vim 文本編輯工具。在編寫(xiě)腳本程序、修改配置文件時(shí)更加有效率,操作更加準(zhǔn)確與迅速。