用vim被人說裝逼,怎麼辦?

因為我用習慣了vim,基本沒用ide,本無裝逼之意。雖然每次用vim被別人看到的時候別人總有種奇怪眼神,我沒當回事。然後某一天被人說成裝逼。那個人技術不如我,這我就更奇怪了。

在說明一句,老子的工作效率並不差,至少是他兩倍的量。


微微一笑,深藏功和名就可以了。

題主請記住,裝逼有理,裝逼無罪。你需要有一種「我就是裝逼了,你能把我怎麼樣」的迷之自信。

我第一份職業的上司是vi黨。那時我覺得她在裝逼。然後幾個月內發現辦公室大多數人居然都是vi黨,當時我心裡突然有句mmp不知道當不當講。

後來的結果。。。我發奮圖強學習vi,然後引入了vim,然後在每台主機上都裝上(那些主機都不是x86的,也不是Linux系統,是專用Unix,為了編譯vim也是花了老鼻子功夫),努力安利他們都用vim取代vi。成功裝逼反殺!

以上是題外話,真實的事實在於:人類在這個世界上所做的很多事情的原動力,就是為了更好的裝逼。裝逼是推動人類發展的最重要情感之一,擅長裝逼,說明你個人的努力與整個人類歷史發展的進程是符合的,為什麼要反駁?有什麼可反駁的?


這是好事啊。

像我這樣不會用 Vim 的,不得不在 terminal 下工作時,就只能用 nano。

然後就會被人說傻逼。


就我從學編程就用 Vi/Vim, 以及開發了一年 VSCode 和 VSCodeVim (Code 上的 Vim emulator)的經驗來看,「被人說裝逼」這個事情成立不成立,得看你用 Vim 的目的和姿勢。

蘋果剛出沒有 Esc 鍵的 MacBook 的時候,大傢伙著急的呀。但是說實話,我接觸過的 Vim 用戶(沒有一千也有五百),大部分人是用 Ctrl-C 而不是 Esc。

再比如說 duplicate 一行代碼,`yyp`, `YP`, `Yp` 都很快,`:t.` 也不錯除了不太好記。但是現代編輯器基本上也是 cmd+shift+arrow 組合鍵直接完成。你說是連續拍兩個不同的鍵還是一起按組合鍵方便?我也不知道,差個幾十幾百毫秒吧而且還因人而異。

簡言之,如果你說你用 Vim 是為了高效率,你得看看自己的常用鍵以及你的 .vimrc 里的配置;如果你說你不喜歡 IDE,喜歡 Lightweight ,你得看看有沒有裝各種試圖 autocomplete 或者 intellisense 的插件。

相反,如果你說你用 Vim 是因為

  • 能夠無縫地在各個平台穿梭
  • 思考的時間比寫代碼的時候多多了,根本不在乎什麼 intellisense、超高級的快捷鍵、在編輯器里 debugging 啥的
  • 系統上只有 Vi
  • 喜歡純粹的 keyboard focus 的編輯器

就會很安全。

希望我們每個 Vim 用戶不忘初心,知道自己為啥用 Vim。


從沒見過 Vim 的用戶神經病跑到 IDE / 大JB / sublime / vscode / atom ... 話題下去砸場,讓他們來用 Vim;反而天天看到 IDE / 大JB / sublime / vscode / atom 的用戶天天跑到 Vim 話題板塊下來勸退,罵裝逼,罵程序寫不好用編輯器找存在感,我就有點奇怪了。

究竟是誰在這裡找存在啊?為何哪些板塊下有些人天生就有那麼大的優越感,覺得用 Vim 的人都是程序寫的差的,不如他們的人呢?甚至因為寫程序主要實在思考,其次才是在編輯,所以就覺得程序寫的好的人編輯速度或者打字速度很慢居然是一種光榮。

按這種神邏輯, 寫中文文章大部分也是思考,是不是要建議大家把聯想輸入法關閉,倒退到全拼時代才滿意啊?不是還有文學大師至今不會打字全靠手寫么,想學嗎?這就叫反智,vim提高效率以後正是幫你解放大腦去思考,編輯工作直接小腦加脊柱反射就完成了,根本不需要把大腦費在編輯上。

我看很多 IDE 重度用戶也很喜歡用 vscode / sublime 的嘛,為何不準別人 Vim 了呢? vscode / sublime 出來前覺得 IDE天下第一,vscode / sublime 出來後又覺得快速開發真方便;覺得 vscode/ sublime 配置性強,擴展豐富跨平台,集成 git 方便。我就奇怪了,這是在誇 Vim 么?這些點上 Vim 可以甩前兩者十條街啊,只不過上手難點而已。

再說 IDE 板塊有些用戶,過來砸場也就砸了,根本砸不到點上,什麼 Vim 不支持帶上下文語義的智能補全的說法都出來了。jedi / deoplete / YCM / clang completor 等插件,都被吃了?

--

延伸閱讀:如何練習編程的手速? - 知乎

--


有人敢說我用vim是裝逼,我肯定罵回去,傻X才來管別人用什麼編輯器。

哪天用別人的電腦怎麼辦?哪天要login到產品環境機器上看文件怎麼辦?哪天要用Linux怎麼辦?不都是要靠vim嘛,作為vim使用者沒有來說你們這幫只會用IDE的就不錯了,居然還敢找上門來說用vim裝逼?

至少先去學會emacs再來戰


謝邀,這個問題在我的 timeline 上好長時間了,也看了大家的回答,現在說下我的看法。

其實這個問題無關 Vim,無關技術。我也有很多這樣的親身體會,比如我個人比較喜歡看 YouTube 上的一些有關技術的視頻,這些視頻當然是英文的;另外我作為開發者,雖然現在是學生,但平時還是很喜歡寫代碼、研究各種技術的。班裡的人如果看見了,他們雖然口頭不會說『你很裝逼』之類的話,但是總會委婉透露出一絲不屑,甚至覺得你這人怎麼這麼古怪,竟然喜歡捯飭這些『無聊』的東西。

你看,其實不管什麼領域,總有這樣的鄙視鏈。有些人自己不如別人,就想方設法找機會酸別人,這樣就能覺得自己不那麼難堪。有人是無意的,有人就是惡意的。但是自己喜歡什麼不需由他人來左右,你用 Vim 可能是由於你習慣了,我寫 Haskell 可能是由於我就喜歡,這跟裝逼沒有任何關係,不要把自己看不明白的東西都想成裝逼,太狹隘了。

想起一個故事:一個女孩在彈鋼琴,琴上放的是最新出的 iPhone,一個人過來說,呦,剛出新 iPhone 就買了挺能裝逼呀,殊不知,女孩彈的鋼琴的價格是 iPhone 的幾倍。所以有些人的視野就那麼大,他也沒有辦法從更高深的角度去貶低你,只能從這些很微不足道的地方挖苦你,以獲得自我滿足。

題主其實大可不必將這類人放在心上,努力提升自己的水平,儘早擺脫這種環境才是正途。


友盡唄。不然你還想怎樣?


沒辦法,我記得之前有些平台只能命令行make clean;make 有些操作vim會快很多,要不然來回切換窗口會吐血的。送大家一句話共勉吧:

你太在意別人的看法,你就變成了別人的褲衩,別人放個屁,你都得兜著!

——快手社會語錄

就醬。


不要理那些只會用其他編輯器的人,他們的水平,早晚去做產品經理。


讀本科的時候還只會用IDE來著。後來去FB實習,沒IDE用,就被逼學會了VIM。主要是得SSH到伺服器寫代碼調試之類的。我還真不知道這種情況除了VIM和EMACS還有啥好用的。

實習結束後,也再也沒有碰過IDE,因為發現VIM實在好用。後遺症就是用google docs寫文檔時經常會按快捷鍵把窗口關了。。。。


請給我個真的Haskell IDE,然後我們再討論這個問題……


謝邀。我能給你的建議就是,遠離那些說你裝逼的人。


那就活脫脫地裝逼被他們看,之所以用Vim,主要是在於,Vim支持高度自定義,能夠實現跟多自己需要的功能。

來看看 SpaceVim 實現了哪些實用的功能:可以嘗試讓身邊使用IDE的同時去試試,用IDE實現同樣的功能。

歡迎來嘗試: SpaceVim/SpaceVim

附贈一份 Vim 教程: https://github.com/wsdjeg/vim-galore-zh_cn

1, 查看 自己github 所有收藏(star)的項目,模糊搜索自己需要的,點擊自動用瀏覽器打開:為什麼有這個需求,github上很多非常好的項目,看到後點擊加星收藏,日積月累,收藏項目太多,找起來太慢。

1, 編寫git commit message 時候,關聯github 的issue 列表,於是傻眼了,不知道issue的編號,還得去網頁看,這麼麻煩的事情,怎麼能夠忍受,於是,SpaceVim 內實現了,commit message 內的補全,可以補全 github issue PR 列表,同時可以補全本地log 信息:

3, 快捷鍵太多,無法記憶,怎麼辦,SpaceVim 實現了快捷鍵 分組,導航,內置N多個快捷鍵,無需看文檔記憶,直接實時導航。

4, 模塊化狀態欄,狀態欄顯示搜索結果index,提示當前結果和結果總數。

5, 既然是裝逼, 遊戲怎麼能少, 看看 這個2048遊戲:順便練習下 HJKL

非同步文件搜索,再大項目也不怕卡頓,側欄文件樹,

代碼補全,錯誤提示:

===========================更=====新======================

編寫markdown文件,側邊展示標題目錄,子標題可摺疊, 右側展示文件樹,顯示 git 狀態:

markdown 實時預覽:


我至少學過10次vim……

我在想第十一次是什麼時候……

所以我覺得,我對題主的敬仰猶如滔滔江水,連綿不絕的,這絕對不是反話。

別人看到了我,自然就覺得題主裝逼了……

明白我的意思了嗎?

眼紅的人到處都是,誰特么告訴你程序員就只會踏踏實實寫代碼的?


vim 這種東西就像是家裡常備的蠟燭和火柴:平時有電燈有手機,但是總有備急的需要。

的確,現在使用 IDE 非常方便,從代碼補全到 debug 幫助都很方便,可以說純粹為了寫代碼考慮是不需要什麼 Vim 了。要說快速切換游標最好用 IDE 的 vim mode. 但是……反正家裡也有停電的時候。 ssh 到一個新的伺服器上、輸入個 git commit message, 乃至就想臨時寫個 bash script 的情況總是有的。

所以我的態度是,每個人都應該會 vim 的基本操作::q, :q!, :wq, esc, i (insert mode), 上下左右。我不喜歡 hjkl.

然後,剩下的游標移動,需要在使用 vim 的過程中學習。就像你的代碼要 lazy 一樣,學習 vim 也可以 lazy. 像背單詞一樣死記硬背指令唯一的結局就是忘掉。當你有了某個需求再去 stackoverflow 上搜索,就會記得牢——而且記得有用。

刪除這一行怎麼辦?搜一搜: dd

粘貼怎麼辦? p

插入空行怎麼辦? o

(python 程序員絕望地問)調整縮進怎麼辦? 進入 v 模式選中幾行 然後 &>

跳轉到本行開頭結尾怎麼辦? ^$

跳轉到本行某個字元怎麼辦? f&

以上這些內容在 vim 教程里會出現在哪裡呢?恐怕是第一章。但是這些是我會的僅有的 vim 操作了。並且我認為這些對現在的我來說夠了。如果有了新的需求,比如隔一行刪一行怎麼寫?不知道,我去 so 上搜就是了。

畢竟,so 上教人如何退出 vim 的問答已經有一百萬次觀看了。

Stack Overflow: Helping One Million Developers Exit Vim - Stack Overflow Blog


我奇怪的是你何必在意別人說什麼


這要分開看,題目沒講清楚,是有一些人,到處說我用vim你們不用的都是弱雞,這是裝逼。你普通使用,這樣說你裝逼的人,不睬也罷


再補充一張圖片,vscode 推薦的 keymaps,從下載量的對比來看是很明顯的吧....

沒想到這個破回答能收到這麼多贊,那麼就再補充一些看法吧。

我覺得有一個回答說得很好了,學 vim 學的是一種文本操作習慣。你要說別的編輯器也能學得這樣的操作習慣我也不反駁,只是使用 vim 後轉到別的編輯器時,會自主探索那些可以替代 vim 文本操作的快捷鍵或配置,不一定要用 vim 插件,這是個人偏好問題。

===========================

你們要的,dva 桌面壁紙,還有命令行工具leetcode-cli。

====原文====

別人認為裝逼就裝逼吧,畢竟對自己而言能高效完成工作才比較重要,不是嗎?

編輯器好不好用,我覺得得看個人的習慣或偏好,目前 vim 和 vscode 都在使用。

vim 主要用於終端(寫腳本文件、改配置文件等),刷 leetcode 也常用 vim 。配合 Terminator 使用 vim 效果更佳。vim 的文本操作確實需要學習和熟練,我認為一些人覺得裝逼是因為很多操作都與一般的編輯器非常不一樣,甚至顯得麻煩,例如複製粘貼,普通的編輯器選中文本然後快捷鍵 Ctrl c Ctrl v 就好,而 vim 要先進入視圖模式選擇文本然後y複製p粘貼,等等,然而習慣之後自己反而會更喜歡 vim 的這種形式,因為 vim 的跳轉很方便,ESC+冒號+行數 或者 斜杠+文本內容+若干個n 就能跳到對應行的內容(對於上千行的代碼文件就不用一直滑滾輪啦),w、e、b之類的跨詞移動游標也方便了不少操作。雖然我對 vim 的理解只停留在 vimtutor 的內容上,不過使用 spf13/spf13-vim 這個配置後,寫代碼比以往無配置的感覺好太多了。

vscode 比較常用於做項目(依賴代碼提示;內置終端)、寫博客(markdown 即時預覽)、看項目源碼之類的(project manager 插件真的很方便)。vscode 還有很多好用的插件。倒是沒有在 vscode 以及其他 ide 使用 vim 插件,因為快捷鍵基本滿足了文本操作的需求(跨詞移動游標Ctrl+左右方向鍵,跳行 Ctrl+g,等等),效率什麼的也沒受什麼影響。不過如果用它來修改配置文件什麼的就有點殺雞用牛刀了。

所以我覺得用什麼編輯器,跟裝不裝逼沒什麼關係,能否提高效率才是最主要的。

當然對我而言編輯器的選擇還有一個重要的原因:顏值即正義

vim 刷 leetcode (終端透明、背景是桌面壁紙)

vscode 寫博客

vscode 的終端


我們公司的CTO(小公司,研發一共就幾個人),我眼中的偶像,30歲都沒有,啥都會,上到web框架前後端,下到操作系統編譯原理彙編。就是任何情況都一直用vim,可能跟經常要在伺服器上搞有關。

沒有他我們公司乾脆就別開了。


跳槽


推薦閱讀:

TAG:編程 | Vim | Vim插件 | vim代碼補全 | vim腳本 |