版權(quán)聲明:本文為 cdeveloper 原創(chuàng)文章澳淑,可以隨意轉(zhuǎn)載,但必須在明確位置注明出處!
vim 簡介
vim 被稱為編輯器之神轴术!
在 Linux
下我們經(jīng)常使用 vim
來寫程序劫流,學(xué)會使用它可以說是學(xué)習(xí) Linux
的必經(jīng)之路巫玻,而且 Google,F(xiàn)acebook 的各路大牛都在使用這個編輯器祠汇,你有什么理由拒絕呢仍秤?
Linux
系統(tǒng)默認是安裝了 vi
編輯器,而 vim
是 vi
的升級版可很,功能更強诗力,所以我們更經(jīng)常用 vim
,這次就來介紹使用 vim
的正確姿勢我抠,廢話不多說苇本,先來安裝 vim
。
安裝 vim
使用最簡單的方法來安裝:
sudo apt-get install vim
如果你有興趣了解其他的安裝方法菜拓,可以查看我之前更新的一篇文章:如何在 Linux 上安裝普通應(yīng)用程序瓣窄?
配置 vim
安裝之后的默認的功能比較少,例如缺少語法高亮纳鼎,打開行號俺夕,等等。但是這些功能都是可以配置的贱鄙,因此我們需要了解如何配置 vim
劝贸,其實是非常簡單的,我們只需要更改 vim
的配置文件即可逗宁。
對于 vim
來說悬荣,我們有 2 種方法更改配置:
- 更改
vim
系統(tǒng)配置文件:/etc/vim/vimrc
- 更改當(dāng)前用戶的
vim
配置文件:~/.vimrc
為了不影響其他的用戶,我這里就使用第二種方法疙剑,在當(dāng)前用戶的主目錄下新建 .vimrc
隱藏文件氯迂,這樣當(dāng) vim
啟動時就會讀取這個文件的配置信息。
在 Linux 下言缤,前綴是 「.」的文件表示隱藏文件嚼蚀,使用 la 命令來查看當(dāng)前目錄全部文件
我的 .vimrc
文件中關(guān)于 vim
配置的內(nèi)容如下(還有很多插件的配置信息就不列出了):
set fenc=utf-8 "設(shè)定默認解碼
set nocp "用于關(guān)閉 vi 的兼容模式
set number "顯示行號
set ai "使用自動對齊,也就是把當(dāng)前行的對齊格式應(yīng)用到下一行
set si "智能的選擇對齊方式
set tabstop=4 "設(shè)置 tab 鍵為 4 個空格
set sw=4 "設(shè)置當(dāng)行之間交錯時使用 4 個空格
set ruler "設(shè)置在編輯過程中管挟,于右下角顯示光標位置的狀態(tài)行
set incsearch "設(shè)置增量搜索
set showmatch "高亮顯示匹配的括號
set matchtime=5 "匹配括號高亮?xí)r間
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 "支持不同編碼的文件轿曙,防止出現(xiàn)亂碼
syntax on "高亮語法
set backspace=indent,eol,start "防止退格鍵不能使用
配置完畢,重新使用 vim
打開文件,可以看到增加了很多實用的功能导帝,寫程序的效率也提高很多守谓。當(dāng)然,想要更進一步提高編程的效率您单,還需要安裝一些插件斋荞,我后面會再寫篇文章來介紹如何使用 Vundle
來安裝插件,其實也很簡單虐秦,有興趣的可以先去 Google平酿。
如果你是配置系統(tǒng)的 sudo gedit /etc/vim/vimrc
文件,你也只需要將上面的內(nèi)容加到這個文件的尾部即可悦陋。
好了蜈彼,基本配置完成了,但是如何使用鞍呈弧幸逆?據(jù)說學(xué)會使用 vim
后基本不用鼠標了,是的暮现,用 vim
寫程序还绘,鍵盤就可以搞定一切,可謂鍵盤在手送矩,天下我有蚕甥。
下面就來介紹 vim
的基本使用方法。
使用 vim
vim 的 5 種常見模式
使用之前栋荸,需要先了解 vim
編輯器常用的 5 種模式:
- 底行模式:先按
ESC
退出到默認狀態(tài)菇怀,然后在編輯器中輸入 [ : ] 即可進入該模式,主要用來保存晌块,退出爱沟,替換這些功能 - 命令模式:默認模式就是命令模式,可以輸入例如 i匆背,o呼伸,a,這些命令來進入編輯模式
- 編輯模式:就是普通編輯器的模式钝尸,用來寫程序的地方括享,在命令模式下,輸入 i 即可進入編輯模式珍促,還有其他進入編輯模式的方法铃辖,后面介紹
- 字符可視模式 [ VISUAL ]:在命令模式下按 [ v ] 即可進入該模式,主要用于字符的復(fù)制猪叙,粘貼等
- 塊可視模式 [ VISUAL - BLOCK ]:在命令模式下按 [ Ctrl + v ] 即可進入該模式娇斩,主要用于塊字符的操作仁卷,例如塊注釋
不論什么模式,都可以按 ESC
來退回到默認的狀態(tài)犬第,務(wù)必記住锦积。
學(xué)習(xí) vim 有這張圖就夠了
這張圖包含了使用 vim
一些常用的命令,學(xué)會了這張圖歉嗓,你使用 vim
就沒有多大的問題了丰介。
下面就一起解讀一下這張圖。
1. Command mode
該模式是命令模式遥椿,我比較常用的命令有下面一些基矮,我建議你看的同時自己實踐練習(xí)淆储。
光標:我使用上下左右來移動光標冠场,[ ^ ] 移動光標到行首,[ $ ] 移動到行尾本砰。
插入:使用 [ i ] 在當(dāng)前光標的前面插入碴裙,[ a ] 在光標后面插入,[ I ] 和 [ A ] 分別在行首和行尾插入点额,另外補充一個舔株,[ o ] 在下一行插入,[ O ] 在上一行插入还棱。
刪除:使用 [ x ] 刪除當(dāng)前光標所在的字符载慈,[ dw ] 刪除一個單詞,[ dd ] 刪除一行珍手,[ ndd ] 刪除 n 行办铡。
查找:使用 [ / ] 來查找文本,比如查找 hello琳要,輸入 [ /hello ]寡具,然后回車即可看到結(jié)果,按 [ n ] 查看下一個結(jié)果稚补,按 [ N ] 查看上一個結(jié)果童叠。
復(fù)制:使用 [ yy ] 來復(fù)制一行,使用 [ nyy ] 來復(fù)制 n 行课幕,使用 [ p ] 來粘貼厦坛。
撤銷:使用 [ u ] 來撤銷上一次的操作,使用 [ . ] 來反撤銷乍惊。
進入底行模式:也稱為擴展模式杜秸,輸入 [ : ] 即可進入。
定位到某行:使用 [ gg ] 定位到文件首行污桦,[ G ] 定位到文件末尾亩歹,[ nG ] 定位到第 n 行匙监。
翻頁:使用 [ Ctrl + f ] 向前翻一頁,使用 [ Ctrl + b ] 向后翻一頁小作。
2. Ex mode
該模式即底行模式亭姥,主要用于保存,退出顾稀,替換等功能达罗,我比較常用的命令有下面這些:
保存退出:[ :w ] 保存,[ :w! ] 也是保存静秆,[ :q ] 退出粮揉,[ :q! ] 不保存退出,[ :wq! ] 不保存退出抚笔,[ :wq ] 保存退出扶认,最常用。
替換:[ :%s/old/new/gc ] 用 new 來替換 old殊橙,[ c ] 表示每次替換都要用戶確定是否替換辐宾,如果不加 c,則立刻全局替換膨蛮。
3. Edit mode
該模式即編輯模式叠纹,使用 Command mode 中介紹的插入命令即可進入該模式,在該模式下沒有啥技巧敞葛,就跟普通編輯器一樣誉察。
好了,常用的命令都介紹完了惹谐,不知道你實踐了沒有持偏,學(xué)習(xí)使用 vim
不是看看博客就能學(xué)會的,關(guān)鍵是你要自己去練習(xí)豺鼻,只要你能堅持每天都敲這些命令综液,養(yǎng)成你自己的習(xí)慣,形成肌肉記憶儒飒,與鍵盤融為一體谬莹,我相信你的編程效率會提高很多,因為你解放了一只使用鼠標的手桩了。
一些 vim 小技巧
這里我介紹幾個常用的 vim
的小技巧附帽,其實也算是命令,只不過不在上面的圖中井誉,這些命令我也經(jīng)常使用蕉扮。
可視化復(fù)制,剪切颗圣,刪除:在命令模式下鍵入 [ v ] 進入 [ VISUAL ] 模式喳钟,然后使用方向鍵可以選擇文本屁使,之后使用 y,d奔则,c 分別對選擇的文本進行復(fù)制蛮寂,刪除,剪切操作易茬,這樣就解決了一次只能復(fù)制和刪除一行或多行的限制了酬蹋。
添加多行注釋:這個功能 IDE 也有,在 vim
中也可以添加多行注釋抽莱,先使用 [ Ctrl + v ] 進入 [ VISUAL - BLOCK ] 模式范抓,然后上下選擇要注釋的多行,選擇完后按大寫的 I 來插入注釋使用的字符食铐,例如 #匕垫,然后按 ESC
鍵,大約等待 1 s 即可看到選擇的多行已經(jīng)被注釋了璃岳。
如何取消多行注釋呢年缎?同樣也是先進入 [ VISUAL - BLOCK ] 模式悔捶,上下選擇取消注釋的多行铃慷,然后按左右鍵將要刪除的注釋字符也選擇上,然后按 d 刪除注釋字符即可蜕该。這個操作描述起來有些復(fù)雜犁柜,但是實際操作其實挺簡單的,要多加練習(xí)堂淡,如果實在不能明白馋缅,可以去 Google 上查找相關(guān)的 Gif 圖片或者視頻。
格式化代碼:IDE 一般都有格式化代碼的快捷鍵绢淀,vim
怎么可能沒有萤悴,在命令模式下先按 [ gg ] 定位到行首,然后鍵入下面的命令:[ shift + v + g + = ]皆的,意思是先按大寫的 VG來全選文本覆履,然后按 [ = ] 即可格式化全部代碼。
如何格式化部分代碼呢费薄?使用 [ v ] 來進入 [ VISUAL ] 模式硝全,然后方向鍵選擇要格式化的代碼區(qū)域,之后按下 [ = ] 即可格式化楞抡。
總結(jié)
本次主要介紹了 vim
的基本使用方法和一些小技巧伟众,vim
真正強大的地方在于它有很多好用的插件,我后續(xù)會更新如何使用 Vundle
來為 vim
安裝炫酷的插件召廷,可以先看看我安裝完插件后的 vim
凳厢,是不是瞬間高大上了账胧,我看你骨骼驚奇,一定能夠?qū)W會先紫,期待后面與你相見 :)