VIM真的好用嗎?到底要不要學(xué)習(xí)VIM?
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)
為什么很多程序員都喜歡用VIM?我敢肯定每個(gè)人至少認(rèn)識(shí)一個(gè)VIM狂熱分子,它真的有那么神奇嗎?
抱歉,VIM狂熱粉可以左上角叉掉了,本文不打算對(duì)VIM本身進(jìn)行美化。但假如你想認(rèn)真地了解一下VIM,不妨繼續(xù)看下去。
簡單介紹下我的編程背景:在決定將編程作為職業(yè)前后,我于2018年末開始認(rèn)真學(xué)習(xí)編程。此前,我經(jīng)常會(huì)為自己玩過的各種游戲創(chuàng)建(非常糟糕的)腳本,并將運(yùn)行一些網(wǎng)站/游戲服務(wù)器作為副業(yè)。自從從事編程工作以來,我已涉獵多種語言,在JavaScript生態(tài)系統(tǒng)中也做了很多工作。
本文將主要討論我決定學(xué)習(xí)VIM的原因、VIM可解決的問題、未能解決的問題,以及最重要的,你應(yīng)該學(xué)習(xí)VIM嗎?開始進(jìn)入正題吧!
VIM未能解決的問題
VIM并沒有使我成為更好的軟件工程師。再說一遍:學(xué)習(xí)VIM并不能使您成為一名更好的軟件工程師。
從本質(zhì)上講,軟件工程與您開發(fā)的殼層、編輯器與 OS無關(guān)。我認(rèn)為很多人都有這樣一種潛在的觀念,即需要使用X或Y才能成為“優(yōu)秀”的軟件工程師。
作為行業(yè)新手,我發(fā)現(xiàn)一般擁有“ ____OR BUST”心態(tài)的都是膽小的精英。我們都在為復(fù)雜的問題創(chuàng)建解決方案。用于編寫解決方案的工具包并不能讓您成為更好或更差的開發(fā)人員。
圖源:github
為什么我決定學(xué)習(xí) VIM
1. 培養(yǎng)習(xí)慣
作為初級(jí)程序員,我還有很多地方需要改進(jìn),工作流就是其中一個(gè)。在學(xué)習(xí)VIM之前,我從來不是一個(gè)真正利用熱鍵/鍵綁定來發(fā)揮自己優(yōu)勢(shì)的人,而非常依賴鼠標(biāo)。因?yàn)槲掖蜃忠恢焙芸?,所以有人向我推薦典型的VIM尖峰時(shí),“把手放在鍵盤上”這一點(diǎn)對(duì)我很有吸引力。
至少,我認(rèn)為學(xué)習(xí)VIM不會(huì)帶來任何負(fù)面影響。
2. 潛力無限
在考慮是否應(yīng)該學(xué)習(xí)VIM時(shí),我觀摩了一場(chǎng)相關(guān)的技術(shù)沙龍,它告訴我的是,在今后多年人們都可以持續(xù)使用VIM,并不斷拓展工具使用范圍。
這給了我一些提醒:首先,選擇VIM意味著需要投入大量時(shí)間,但更重要的是,你始終在尋找提升技能的方法。作為新手開發(fā)人員,我想竭盡所能。
這重申了先前的觀點(diǎn),將不同的工具(以VIM為例)集成運(yùn)用到開發(fā)工作流程中,就可以一石二鳥。
3. Linux服務(wù)器上不再需要nano
這點(diǎn)來自于在Linux環(huán)境中遠(yuǎn)程工作多年,負(fù)責(zé)運(yùn)行站點(diǎn)或服務(wù)器的程序員,是他們不了解VIM其實(shí)很煩人。如果需要修改在電腦中運(yùn)行的服務(wù)器配置文件,則要安裝nano,在我看來VIM就是:q!.
工作環(huán)境
日常工作中,我會(huì)將VSCode與VIM插件結(jié)合使用。我曾嘗試安裝諸如coc.nvim之類的插件并通過終端本身進(jìn)行開發(fā),效果just so so。
我一直非常喜歡在VSCode上編寫代碼。使用VIM VSCode插件的體驗(yàn)與運(yùn)行VIM相同,但VSCode提供的生態(tài)系統(tǒng)讓我受益更多。對(duì)我來說,使用此設(shè)置不失為兩全其美之舉。
圖源:unsplash
小結(jié)
應(yīng)該學(xué)習(xí)VIM嗎?如果沒有固定的習(xí)慣或快捷鍵設(shè)置,你至少可以嘗試一下。我沒有給自己劃定快捷鍵或工作流程的“舒適圈”,所以我會(huì)對(duì)VIM感興趣。學(xué)習(xí)了VIM后,我也在原有基礎(chǔ)上獲得了新的框架。
啟用VSCode插件前,我花了大約兩周的時(shí)間輕而易舉地通過了vimtutor。此后又花了一周時(shí)間進(jìn)行開發(fā),通過肌肉記憶來自發(fā)使用快捷鍵瀏覽代碼。那時(shí)我正使用任一方式進(jìn)行編碼,而選擇VIM可以帶來更多價(jià)值。
程序員歸根到底是要解決問題,決定使用哪個(gè)快捷鍵或編輯器完全取決于你的偏好,編輯文件的速度通常也不是開發(fā)工作的瓶頸。
所以到底要不要用VIM?希望你已經(jīng)有答案了。