目錄

在 Terminal 環境下的開發配置

在 Teminal 底下開發時間約三年,環境的工具以及整合修改隨著時間與見識也不斷進化。 這篇是紀錄自己在工作操作方式流程與配置,或許不是最好的工作流,但與大家分享,也樂見給予回饋

ref. 🔗 GitHub 上的設定檔

Terminal 環境下開發所需要的工具

  1. shell: 選定一個你喜歡的 shell 進行設定,我目前選用 zsh
  2. tmux: 在 terminal 工作為了加速流程跟操作,使用 tmux 可以建立多個窗並且可以隱藏在背景 cache 你的開發過程,或者你也可以選用 screen
  3. vim: 選用 vim 搭配套件配置自己的使用習慣
  4. tig: 利用 tig 就可以不用 GUI 看 Git 的提交紀錄,可以全程 Focus 在 terminal 裡面工作
  5. fzf: 模糊查找工具,支援在 vim 裡面使用也可以在 unix 下使用
  6. ack: unix 指令,我用它取代 grep,原因是字母少好記速度又略勝 grep

Vim 的配置與使用習慣

vim 的個人配置與使用習慣都大相徑庭,這邊點出對於工作流有影響的部分,其餘可以參考我的 GitHub .vimrc

Nerdtree 與 tagbar

  • scrooloose/nerdtree

  • 有時候還是想要查看目錄底下的檔案方便進一步搜尋,並且可以在不離開 vim 做檔案的 新增/重新命名/複製/刪除 等動作

  • majutsushi/tagbar

  • 總覽專案規模以及變數查找的時候會使用

Nerdtree with tagbar image

fzf vs CtrlP

模糊搜尋的功能在其他類似的 IDE 也有提供,在 vim 裡面廣為人知的的套件就是 CtrlP,但是裝了 fzf 之後,速度快過 CtrlP 許多,除了在 vim 裡面使用之外,還可以在 unix 環境底下做檔案或者歷史紀錄的查詢,兼具 自動補全 及 模糊查詢 的功能

fzf demo image

tig

查看 GIT 版本控制的工具,可撰寫 .tigrc 調整自己喜歡的樣式,在 terminal 底下使用 tig 指令就可以不用開 git sourcetree

tig tool demo

顏色及主題的配置

開發工具順眼與否,決定我們想不想用,甚至影響開發效率。 以下知名的套件中很多都有提供主題的設定即客製化,列出我使用到的套件以及設定

  • zsh powerline theme: bhilburn/powerlevel9k
    • zsh 提供比 bash 更多的主題設定
  • vim colortheme: winyu.vim
    • 這套我是改自 raphamorim/lucario ,專 For PHP 開發者使用的
  • vim setting: .vimrc
    • 其中包含 airline 狀態列,以及 nerdtree 的 icon 美化等等
  • tmux: .tmux.conf.local, from: gpakosz
    • gpakosz 的設定實在太炫砲了,還可以把電池狀態放上來
  • itermcolos: winyu.itermcolors
    • 使用 iTerm2 很多地方的預設顏色都會根據 iTerm2 走

winyu.vim 在 `PHP` 中的顏色主題

參考資料