看板 Soft_Job 關於我們 聯絡資訊
※ 引述《pokkys (人很好那一個)》之銘言: : ※ 引述《prelight (I am a crawler.)》之銘言: : : 自己從學習programming以來都是習慣在command line下工作,記了很多快捷鍵 : : 如bash/zsh/tmux/screen/vim的一堆快速鍵等。也很習慣在command line下做事 : : 可是主管常常告知將來到了某個年紀後根本記不住指令,用GUI才是王道。在某個 : : 層面上我可以認同GUI環境可以整合許多功能的確比較方便,不過我也把我的vim : : 加了很多外掛,基本上GUI可以做到的vim都可以。而且vim還有手速(action per : : min/sec)高的優點、連到遠端機器也可以編輯的優點。基本上也不是排斥GUI, : : 只是覺得習慣了。 同事也有人覺得幹嘛不用GUI偏要用vim,講得好像故意在鄙視鏈 : : 上層一樣,我覺得蠻無言的。也懶得理他,不知道大家是怎麼看所謂中年記不住 : : 指令這個問題的? : 其實vim不是CLI,他是一種文字介面的UI。 : 真正說CLI editor應該是ed/sed那種東西 : =================================================================== : 我舉我自己常用的例子來說明 : Editor 常用功能 常用,但是記不住 不常用 : vim 身體直接反應 查man page google it : gvim 身體直接反應 點GUI快捷鍵 翻目錄 or google it : eclipse 身體直接反應 點GUI快捷鍵 翻目錄 or google it : 我自己的經驗是:因為vim查man page的effort太大,導致我會記住大量熱鍵。 : 以前用vim,背了一堆熱鍵,裝了一堆plugin,大概就這樣工作了四~五年。 : 有一天用了eclipse,我就回不去了。 : 為什麼呢?我舉一個例子給你看: : 我常作trace linux kernel code,我舉trace code為例。 : 1.找某一個functionA : 2.找functionA裡面,用到的global varA還有哪些地方有用過。 : 3.你找到funtcionB, 進去看一看,發現裡面有functionC。 : 4.functionC進去看一看,只有讀varA, 沒有改varA,退回functionB : 5.functionB裡面有functionD有可能, 找看看整個kernel誰用過funcitonD : 6.發現functionD裡面,有一個變數 varB會影響到varA,試著找看看有誰改過varB : 以上流程可能很多trace code的人都做過同樣的事情,你試著用你最順手的editor作看看 : 順道一提,以上每一動在我用的eclipse裡面都是一個熱鍵: : 1.找到定義的地方 : 2.找看看誰呼叫過他 : 3.找看看誰用過這些變數 : 4.回到上一個找到的地方(functionC -> functionB) : 問題不在圖形介面還是文字介面,根本問題在於對工作流程的改善。 : 我發現我trace code的流程大量用到上面四個功能,於是我找到一款可以快速操作的方法 : 如果你可以把vim用到出神入化,那這就是你的最佳工作流程 : 如果你覺得vim用起來,你常用的功能很卡,那你是不是試看看其他工具? : 很多常常聽到用vim的朋友給我一種論述:這個vim也做得到! : 我同意,vim有很多功能,但是做得到,跟做得好,跟用得順手,是有程度上的差別。 : 我也跟我以前帶過的新人講過:你要不要試看看不要用vim, 用看看eclipse? : 那位同仁也是跟我說:不會啊,你看我裝了很多plugin, 記了很多熱鍵,我都可以做到。 : 其實我當時心理有一句話沒講:我當然知道做得到,但是我看你trace code慢到爆炸!! : 結論:找到你最佳的工作流程,而不只是工具。 請問 YouCompleteMe 或 Cscope/Gtags hold 的住 kernel 嗎? 同意 IDE 是強在背後的引擎 (即時編譯、動態分析、語意補完等等) 和 開發環境整合度,而非 graphic 本身。 VIM 只是 text editor,和 Eclipse 或 JetBrains 這些 IDE 比起來, 整合開發實用性差得遠了,只好透過一些 plug-in 來補全。 我自己寫 Android 和 Python 的心得是,VIM edit 的功能雖然很強, 但是那些用來作為 integration 的 plug-in 做得不夠好, 所以只好使用 JetBrains 的 IDE + IdeaVim。 不過 Go 在 VIM 倒是蠻順手的,所以 VIM 也是能夠有很高效的產出, 只要有足夠強大的 plug-in。 熱鍵是不是一個壞處我有點疑惑, 因為許多人就是不想用滑鼠或是根本不想離開主要打字區,才使用 Emacs/VIM, 並不是為了炫技。可以看到 80%、75%、60% 的鍵盤一直有固定客源。 熱鍵對於他們來說完全是增加產能。 -- http://changyuheng.github.io/ http://murmuring-on-the-air.github.io/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.254.36 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1437894391.A.A48.html
noonOut: 我覺得不離開鍵盤區是我的主因,還有鍵盤相容性的問題 07/26 18:49
noonOut: 比方說,Mac 鍵盤,普通 NB 鍵盤,普通鍵盤 07/26 18:50
noonOut: 為了要能夠同時使用這麼多種,只好只用交集區域 07/26 18:51
noonOut: 久而久之也就依賴那些 keybind 了 07/26 18:52
iman00b: 以前有一個同事總是覺得用 VIM 很屌看不我用SI, IDEA, 07/27 22:10
iman00b: 直到有一天我到他電腦上用,看到我熟練的使用熱鍵才嚇到 07/27 22:11
iman00b: 不用不代表不會啊,有些東西真的是 VIM 能力不及的。 07/27 22:11
iman00b: 話說 JetBrain 系列真的是目前 IDE 最好用的。 07/27 22:12
※ 編輯: changyuheng (36.224.210.164), 07/27/2015 22:43:33