作者changyuheng (張昱珩)
看板Soft_Job
標題Re: [討論] 被主管要求盡量用GUI工具
時間Sun Jul 26 15:06:28 2015
※ 引述《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