從 0 開始學(xué)習(xí) Linux 系列之「03.vim 基礎(chǔ)教程」

vim

版權(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 編輯器,而 vimvi 的升級版可很,功能更強诗力,所以我們更經(jīng)常用 vim,這次就來介紹使用 vim 的正確姿勢我抠,廢話不多說苇本,先來安裝 vim

安裝 vim

使用最簡單的方法來安裝:

sudo apt-get install vim

如果你有興趣了解其他的安裝方法菜拓,可以查看我之前更新的一篇文章:如何在 Linux 上安裝普通應(yīng)用程序瓣窄?

配置 vim

安裝之后的默認的功能比較少,例如缺少語法高亮纳鼎,打開行號俺夕,等等。但是這些功能都是可以配置的贱鄙,因此我們需要了解如何配置 vim劝贸,其實是非常簡單的,我們只需要更改 vim 的配置文件即可逗宁。

對于 vim 來說悬荣,我們有 2 種方法更改配置:

  1. 更改 vim 系統(tǒng)配置文件:/etc/vim/vimrc
  2. 更改當(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 種模式:

  1. 底行模式:先按 ESC 退出到默認狀態(tài)菇怀,然后在編輯器中輸入 [ : ] 即可進入該模式,主要用來保存晌块,退出爱沟,替換這些功能
  2. 命令模式:默認模式就是命令模式,可以輸入例如 i匆背,o呼伸,a,這些命令來進入編輯模式
  3. 編輯模式:就是普通編輯器的模式钝尸,用來寫程序的地方括享,在命令模式下,輸入 i 即可進入編輯模式珍促,還有其他進入編輯模式的方法铃辖,后面介紹
  4. 字符可視模式 [ VISUAL ]:在命令模式下按 [ v ] 即可進入該模式,主要用于字符的復(fù)制猪叙,粘貼等
  5. 塊可視模式 [ VISUAL - BLOCK ]:在命令模式下按 [ Ctrl + v ] 即可進入該模式娇斩,主要用于塊字符的操作仁卷,例如塊注釋

不論什么模式,都可以按 ESC 來退回到默認的狀態(tài)犬第,務(wù)必記住锦积。

學(xué)習(xí) vim 有這張圖就夠了

這張圖包含了使用 vim 一些常用的命令,學(xué)會了這張圖歉嗓,你使用 vim 就沒有多大的問題了丰介。

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會先紫,期待后面與你相見 :)

myvim
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末找爱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泡孩,更是在濱河造成了極大的恐慌车摄,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仑鸥,死亡現(xiàn)場離奇詭異吮播,居然都是意外死亡,警方通過查閱死者的電腦和手機眼俊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門意狠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人疮胖,你說我怎么就攤上這事环戈。” “怎么了澎灸?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵院塞,是天一觀的道長。 經(jīng)常有香客問我性昭,道長拦止,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任糜颠,我火速辦了婚禮汹族,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘其兴。我一直安慰自己顶瞒,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布元旬。 她就那樣靜靜地躺著榴徐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪法绵。 梳的紋絲不亂的頭發(fā)上箕速,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天,我揣著相機與錄音朋譬,去河邊找鬼盐茎。 笑死,一個胖子當(dāng)著我的面吹牛徙赢,可吹牛的內(nèi)容都是我干的字柠。 我是一名探鬼主播探越,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼窑业!你這毒婦竟也來了钦幔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤常柄,失蹤者是張志新(化名)和其女友劉穎鲤氢,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體西潘,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡卷玉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了喷市。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片相种。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖品姓,靈堂內(nèi)的尸體忽然破棺而出寝并,到底是詐尸還是另有隱情,我是刑警寧澤腹备,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布衬潦,位于F島的核電站,受9級特大地震影響馏谨,放射性物質(zhì)發(fā)生泄漏别渔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一惧互、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧喇伯,春花似錦喊儡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捻悯,卻和暖如春匆赃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背今缚。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工算柳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人姓言。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓瞬项,卻偏偏與公主長得像蔗蹋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子囱淋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內(nèi)容