為什么要學(xué) vim

可怕的 vim (缺點(diǎn))

  • vim 學(xué)習(xí)門檻高
    • 操作奇怪
    • 不能用鼠標(biāo)
  • 功能弱
    • 不配置不折騰的話,什么功能都沒有,就是一個(gè)普通的編輯器
    • 不能管理項(xiàng)目
    • 沒有代碼高亮
    • 沒有代碼提示
    • ......
    • 什么都沒有

如此來說, vim 沒有任何優(yōu)勢(shì)...可是業(yè)內(nèi)有一句話:
世界上只有三種編輯器 vim, Emacs, 其他

vim 的優(yōu)點(diǎn)

為何會(huì)這樣呢? 我們來看看 vim 的優(yōu)點(diǎn):

  • 運(yùn)指如飛
  • 所思即所得
    可以這樣說, 用 vim 和用 IDE 什么的,完全是兩個(gè)感覺.

用 IDE 就像用一雙筷子,夾住一把勺子,然后去舀菜吃. 別扭不? 想想都別扭.

用 vim 就像用手直接去抓菜吃,那個(gè)淋漓暢快.

為什么這樣說呢?

  • vim 使用的是肉體記憶
  • 其他使用的是技巧記憶

肉體記憶是反射性的,相當(dāng)于給你增加了一個(gè)繪圖的 GPU,不會(huì)中斷和占用你的 CPU

而技巧記憶必須中斷 CPU, 切換 CPU 去做其他事情,然后再切換回來.

比如我要將文本中一行代碼剪切到最頂端.

  • vim: ddggp敲下這幾個(gè)字母你就實(shí)現(xiàn)了這個(gè)功能了
  • 其他黨: 把手從鍵盤上拿下來,抓住鼠標(biāo),顫抖的小心翼翼的拖拉著光標(biāo)選中對(duì)應(yīng)的文本,千萬要小心,不要少選中任何一個(gè)字符. 按下右鍵, 在彈出的一堆菜單中仔細(xì)的找到 剪切 小心翼翼的選中 剪切 ,然后拼命的滾動(dòng)滾輪,直到滾不動(dòng)以后,仔細(xì)查看是否滾最上面了,有沒有少滾一點(diǎn),然后把顫抖的光標(biāo)移動(dòng)到最上面那一行的頂端.接著按下右鍵,在彈出的密密麻麻的菜單中,仔細(xì)的找到 粘貼 這兩個(gè)字.

可憐的其他黨,做完這些以后,你還能想得起來復(fù)制到最上面是干什么么?

嗯,沒錯(cuò)你花了2分鐘,還是能想得起來,可能就是復(fù)制上去測(cè)試一下. 然后不行還是得改回去.

  • vim: uu就改回去了
  • 其他黨: 好累,就是把上面的操作反向再重復(fù)一次.我都懶得寫了.難點(diǎn)是要找到該插回代碼的哪里?別插錯(cuò)了.不能用 ctrl+z 哦.純粹的其他黨不應(yīng)該使用熱鍵的.

中斷對(duì)我們的工作效率影響是非常巨大的,可以參見 碎片化對(duì)我們腦力智力的摧殘

不要說上面這種不人性的操作了,即使是將手從鍵盤上拿下來,也是影響非常大的.

所以一個(gè)優(yōu)秀的 vim 程序員,操作編輯文本的能力和效率可能只是其他黨的4-5倍.

但是考慮到持續(xù)思考不中斷編輯的產(chǎn)出, vim 程序員的工作效率甚至能達(dá)到其他黨的10-20倍.

vim 甚至能讓你思維方式和看待事物的發(fā)生不一樣的改變. 所以身為一個(gè)程序員, 不使用一個(gè)真正的編輯器,那是不稱職的.

vi的歷史

vi 由 Bill Joy 于1976年發(fā)表, 已經(jīng)有接近 40 年的歷史.目前是 UNIX 規(guī)范的一部分, 只要是 UNIX 的衍生類操作系統(tǒng), 里面一定能使用 vi.

vi/vim 是一款能夠一輩子使用下去的工具,永遠(yuǎn)不會(huì)過時(shí),而且你永遠(yuǎn)可以持續(xù)性的學(xué)習(xí)技巧,持續(xù)性的提高自己的生產(chǎn)效率. 是不變應(yīng)萬變的神器

然后IDE呢? 這幾年流行過的 IDE 數(shù)不勝數(shù) jbuilder, Netbeans, IntelliJ, Eclipse, webstorm, Sublime 還有 jetbrains 出品的各種IDE. 可能我孤陋寡聞了,還有很多優(yōu)秀的 IDE 沒列出來, 沒錯(cuò) IDE 是很好用, 以后可能還有更好用的 IDE 出來, 你就慢慢的沒有積累的學(xué)下去吧.

如何學(xué)習(xí) vim

  • 打開一個(gè) vim 編輯器,輸入:help
  • 部門有一本書
  • 網(wǎng)絡(luò)上有很多簡(jiǎn)單的入門技巧

你隨時(shí)可以開始學(xué)習(xí), 但是學(xué)習(xí)的過程, 怎么說呢?并不是那么讓人愉快的, 更類似學(xué)習(xí)一款新的輸入法. 你會(huì)痛苦糾結(jié)彷徨, 但是堅(jiān)持過來了,形成肉體記憶了,就都好了.

你要抱著一種思路: 不求完美,但求使用

只要學(xué)到基礎(chǔ)的東西,堅(jiān)持的用下去,每次遇到不會(huì)的操作, 停下手頭工作, 都去查出來,記下來.

vim 有兩種(其實(shí)是三種)模式:

  • 移動(dòng) esc
  • 插入 i
  • 虛擬 v(可以不用管)

基本能力

  • 移動(dòng)模式: h(左)j(下)k(上)l(右) 一定要最先的記死用熟
  • 插入模式: 你可以輸入想要輸入的東西,沒什么可以說的
  • 保存文件: :w然后回車
  • 復(fù)制內(nèi)容: v 進(jìn)入虛擬模式, hjkl 移動(dòng)復(fù)制, 然后按下 y
  • 粘貼內(nèi)容: p
  • ....

自己慢慢學(xué),其實(shí)入門也很簡(jiǎn)單,只是形成肉體記憶比較難. 我現(xiàn)在熟悉的 vim 命令也很少,就是常用那幾個(gè),因?yàn)榫幋a工作不夠多吧.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容