Vim - 適合自己的,才是最好的

原文鏈接:Vim - 適合自己的,才是最好的

Vim 被稱為編輯器之神,是我用過之后才體會(huì)到的,用之前實(shí)在不敢對(duì)它做出什么評(píng)價(jià)。在大學(xué)時(shí)代,Vim 的大名就已如雷貫耳,但由于它陡峭的學(xué)習(xí)曲線,一直望而卻步。等真正開始學(xué)習(xí)之后,發(fā)現(xiàn)并沒有想象中的復(fù)雜,也沒有所謂的瓶頸,只要在實(shí)際寫代碼中強(qiáng)迫自己使用就可以了,無形中就會(huì)形成習(xí)慣。最初的不適,換來的是效率的飛升。這和我當(dāng)初學(xué)習(xí)雙拼的感覺一樣。下圖是我的 Vim 界面:

我的 Vim 界面
我的 Vim 界面

學(xué)習(xí)方式

我一開始也是看了很多教程,這里我就不說具體的學(xué)習(xí)方法了,因?yàn)?Google 上一搜一大堆。

我只想談一點(diǎn):很多「過來人」告誡新手,一開始使用 Vim 一定不能使用插件,要從最純凈的 Vim 開始練習(xí)。他們認(rèn)為一上手就使用別人的配置,很容易被別人影響,不能領(lǐng)會(huì)到自己配置 Vim,這種從無到有的感覺。雖然我也很喜歡折騰的感覺,但這對(duì)于學(xué)習(xí)、入門一個(gè)工具來說有點(diǎn)南轅北轍,我們學(xué)習(xí)一個(gè)工具就是為了用好它,或者用它來為我們服務(wù)。為什么要我們?nèi)ミm應(yīng)它呢?也許這不符合 Vim 的哲學(xué),但是我覺得:

  • Vim 存在這么多年,已經(jīng)有很多優(yōu)秀的 Vim 配置(比如:spf13-vim),可以為我們節(jié)省很多折騰的時(shí)間。不過如果你非常喜歡折(zuo)騰(si),那也可以從頭開始。
  • 對(duì)于新手來說,自己的配置總是很不成熟,到頭來還是得參考一些高手的配置。索性一開始用他們的,慢慢刪改。
  • 從純凈版開始你會(huì)覺得很枯燥,Vim 遠(yuǎn)沒別人口中、視頻中所述的酷炫,效率不升反降。這很容易喪失進(jìn)階的興趣。
  • 天下武功,唯快不破,這個(gè)時(shí)代求快。我不否認(rèn)先夯實(shí)基礎(chǔ),再層層遞進(jìn)的學(xué)習(xí)方式,但針對(duì)不同的學(xué)習(xí)對(duì)象,不同的環(huán)境背景,我們還是應(yīng)該采取最快、最有效的學(xué)習(xí)方式。

如果你學(xué)習(xí) Vim 是為了體驗(yàn)學(xué)習(xí)的新鮮感,或者業(yè)余玩味,請(qǐng)忽略我上面的話。但如果你的最終目的是為了在實(shí)際中用到它,提升我們的工作效率,那你不妨和我一樣,直接拉別人的配置下來,在 Shell 里輸入 Vim 啟動(dòng),開始寫代碼!

當(dāng)時(shí)我找到了 k-vim,按照他的安裝步驟,很簡(jiǎn)單就把 Vim 配置好了,啟動(dòng) Vim,發(fā)現(xiàn)界面也很漂亮,嗯,這就是我要的效果。接著,我打開自己那兩天正在寫的項(xiàng)目,通過僅會(huì)的四個(gè)快捷鍵 HJKL 移動(dòng)光標(biāo)來查看文件。然后我仔細(xì)閱讀了 k-vim 的 README 文件,把它提到的幾個(gè)快捷鍵試了試,感覺很不錯(cuò)。接下來的幾天,它的 README 網(wǎng)頁我一直開著,遇到想要的快捷鍵一搜就搞定,雖然寫代碼的效率確實(shí)下降了很多,但對(duì)編輯器的使用越來越純熟。一周之后我已經(jīng)習(xí)慣用 Vim 來編程了。

接下來開始進(jìn)一步研究 Vim,理解 Vim 的三種模式(正常模式、命令模式、視圖模式),然后掌握如何配置插件快捷鍵就OK了。最關(guān)鍵一點(diǎn)就是要實(shí)戰(zhàn),強(qiáng)迫自己所有的操作只用鍵盤,強(qiáng)迫只用 Vim 作編輯器。

插件與快捷鍵

Vim 的插件可以通過 Vundle 來管理。(據(jù)說 vim-plug 也挺好用)

只需兩步:

  • vimrc.bundles 文件中配置你想要的插件
  • 在 Vim 的命令模式中輸入:BundleInstall

其他的命令有:

:BundleUpdate    //更新插件
:BundleClean     //刪除插件

個(gè)人覺得必備的插件:

  • syntastic 多語言語法檢查
  • YouCompleteMe 代碼自動(dòng)補(bǔ)全
  • ctrlp.vim 文件搜索,類似 Sublime Text 里面的 Cmd + P
  • vim-airline 狀態(tài)欄增強(qiáng)
  • nerdtree目錄樹
  • vim-ctrlspace tab/buffer導(dǎo)航增強(qiáng)

而快捷鍵的學(xué)習(xí)方法,就是用到的時(shí)候去 Google,多用幾次就記住了。如果它自帶的快捷鍵用著不舒服,你完全可以自己重設(shè),Vim 就是自由,不必拘泥條條框框。

哲學(xué)

非常推薦閱讀 Stack Overflow 上的這篇回答:

What is your most productive shortcut with Vim?

這篇真正闡述了 Vim 作者當(dāng)初設(shè)計(jì) Vim 快捷鍵時(shí)的哲學(xué),看懂這篇對(duì) Vim 快捷鍵的掌握會(huì)更上一層。

感悟

在學(xué)習(xí) Vim、使用 Vim 的過程中,我最大的感悟就是「適合自己的,才是最好的」

很多插件看起來很酷炫,快捷鍵幾下就能實(shí)現(xiàn)很繁雜的操作,但是你不一定會(huì)有使用這個(gè)插件的需求,或者即使用也用的不多。有人總喜歡拿 IDE 和 Vim 比,我覺得這根本沒有比較的必要,你兩個(gè)都用也沒什么問題。大的項(xiàng)目,復(fù)雜的文件結(jié)構(gòu)和引用,你不用 IDE 而用 Vim,是浪費(fèi)時(shí)間。而且一般 IDE 都提供了 Vim 模式,你仍可以在 IDE 中繼續(xù)擊鍵如飛。

用 Vim 體驗(yàn)的是一種輕便、自由、可塑的感覺。你可以根據(jù)自己的需求來培養(yǎng) Vim,這就像戀(gao)愛(ji)一樣是兩個(gè)人互相適應(yīng)的過程。互相習(xí)慣才能把效率最大化。


推薦鏈接


本作品采用知識(shí)共享 署名-非商業(yè)性使用-禁止演繹 4.0 國(guó)際 許可協(xié)議進(jìn)行許可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,337評(píng)論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,947評(píng)論 18 139
  • 青春散湯 我不知道自己是怎樣睡去的 也沒有夢(mèng)見什么 只是半夜醒來的時(shí)候 發(fā)現(xiàn)自己卷縮如一只蝦米,抱著枕頭睡 想起很...
    鷹叔閱讀 182評(píng)論 0 0
  • 我與文案 這是一篇廣告文。而且你也一定知道我是為誰而寫。 我寫文案的時(shí)候常常想,我到底是為了什么而動(dòng)筆? 我知道我...
    DIDickson閱讀 591評(píng)論 2 3
  • 1、樂于分享,好為人師是掌握知識(shí)、技能的最好的辦法。 你沒看錯(cuò),不是動(dòng)手實(shí)踐而是將你掌握的知識(shí)教授給別人。通過這種...
    奔跑的湯盆兒閱讀 237評(píng)論 0 0