極速開發課程分享
越寫越快
2024/02/29
想法概要
上課概要
- 學會怎麼使用 IDE (JetBrains 系列,上課是用 WebStorm 寫 JavaScript 做示範)
- 學 vim 怎麼用
- 安裝 vim:IdeaVim https://lp.jetbrains.com/ideavim/
- 設定 vim:待補充
- 課後持續練習 — 套句 91 所說,不練習,這堂課等同白上。
心法
- 核心: 懂得「自己要幹嘛」,叫「工具」幫我們做事。
- IDE 可以這樣做:
Shift * 2
→ 只要輸入需求,就會跳出指令提示。 - 工具可以這樣做: mac 裝
RayCast
或 windows 裝wox
,在指令列直接指定「要做的事」。
- IDE 可以這樣做:
- 快速開發
- 為什麼要用 vim ? → 因為可以透過指令的方式,做到我們「想做的事」 for example:往下三行 → 3j
- 來看一下 vim Cheat Sheet:有效的了解 vim 指令,更快速記住。
- 了解 vim 指令「概念」,有些有通則,這邊介紹些通則。(一點就通)
- Shift:多次、反轉。 Shift + A → aaaa 到這行最後;Shift + f(F) → 往前找
- 重複 N 次, N + 指令。 e.g. 2d、3k(往上三行)
- 設為「相對行數」
:set rnu!
>> 用 IDE 示範
- 先逼近,再精確。找到行數位置,再移動位置。(或是
aceJump
直接跳過去)
- 極速開發
- 減少「不必要」的動作,像是選取(visual mode)。
- 找到重複的 pattern → 做 vim mapping。
- 善用 code snippet 工具:Live Template, postfix…等。
- 把不好用的 mapping 成好按的。(e.g.
jj
→ Esc) - 打越多字,越容易錯 → 關鍵字就好(1, 2 個就好)
- 覺得很好用的(而且很常用) — surround
- va { — 包括整個 {} 的內容
- vat — 將整個 tag 的內容選起來
- vi { — {} 裡面的內容
練習心得
- 老師說的: 一天練習 12 min。
- 自己體驗的: 只練習 12 min 沒啥用,應該要先找時間「全部練完」才好。
- 對於需求不清楚,是我自己在練習途中的「大阻礙」,寫熟就順多了。
總結
- 工具、作法是一時的,想法才是核心價值。
- 持續精進,打磨自己的工具。
- 分享幾個 vim plugin
- Ace Jump: https://github.com/acejump/AceJump
- Exchange:寫測試案例蠻常用的 https://github.com/tommcdo/vim-exchange