over 2 years ago

前情提要

個人有使用過Eclipse(約三年使用經驗)後來改成Intellij(比較少,約半年多),其從Eclipse到Intellij的原因主要是開啟時速度的差別。我的工作環境為MacBook Pro 13吋、memory 8G,開啟Eclipse約要數分鐘而Intellij可以在一分鐘內搞定。

那麼為什麼又要從Intellij換成Vim呢?還是速度!!!在我工作維護專案的過程中,不時會有需要快速處理的客訴問題,使用Vim時可以馬上開啟程式碼,就非常重要。然而Eclipse/Intellij這類IDE並不是不好,它們最大的好處就是它整合了很多工具,相對地也是要付出時間,去學習這些工具在IDE裡是如何操作。如果沒有用到這些功能時,其實無形之中也肥大了IDE的效能。

用Vim除了速度快之外,更重要的是有一大堆的plugin可以使用安裝。你可以任意安裝你所需要的功能,最佳化你的Coding環境。不過同樣地,學習Vim也是需要付出時間,不會比學習IDE的時間來的少,但如果你和我一樣經常使用Linux-base的系統,甚至工作環境是在Remoter Server上,那麼將Vim學好會感覺很有幫助的。基於上述理由(自我感覺良好,呵),我改用了Vim來開發專案/trace code到目前已有數月,以下就介紹個人目前所使用的Vim環境設定和工作流程。

PS:我目前是Vim的新手,仍不斷地在調整自己的工作環境和習慣。

Coding Workflow

目前的工作是開發維護JavaEE專案,build tool使用Ant。我在coding時,使用iTerm2開啟多個tab,多個Vim和多個Zsh terminal。當寫code寫到一個段落後就切換到Zsh執行junit或是build的動作。

Plugin

那裡可以找到plugin

  1. VimAwesome
    這邊很棒的是,該網站整合GitHub和Vim.org上的plugin,也提供該plugin在不同套件管理(Vundle, NeoBundle和Pathogen)之下的安裝方式。如果有發現沒有在登錄在網站上的plugin,它也提供讓你submit的功能。

  2. Vim.org
    老牌子的search tool. BJ4~

我所使用的plugin

Vundle - Plugin管理工具

文章:Vundle安裝
Demo影片:

CtrlP - file finder

文章:vim中的杀手级插件:CtrlP | Cloud's Blog
Demo影片:

airline-vim - status狀態列顯示

文章:vim-airline - 狀態列顯示的好幫手
Demo影片:

easymotion - 快速切換游標(cursor)

文章:CookieFactory: Vim 學習筆記(五)
Demo影片:

No autocomplete???

也許是Java Language的特性,自動補齊的plugin相較其他語言(C, C++, Python, Go)顯得陽春的許多。像我有使用過vim-autocomplpop,能補齊的其實很有限,而在Vim.org能找到的autocompletion plugin都有一陣子沒有更新(ex:javacomplete停在2011-01-30)。到Stack Overflow搜尋相關問題時,別人則是建議安裝Eclim,或是在Eclipse/Intellij安裝Vim的plugin。這些都不符合我的需求啊 XDDDD~

由於最近在學習Scala,讓我看到這篇Coding Scala with Vim,也啟發了我不同的思緒,也就是不一定要使用autocompletion。讓我回想起來剛開始學習Java時,也是只在Notepad++上撰寫程式。

我目前也把vim-autocomplpop解除安裝,回到全部手動輸入的方式。個人感想是沒有什麼差別,反而讓我更專注。(因為怕打錯字,呵呵)

trace code

跟開發比較無關,但也是有機會碰到的情況是trace code,此情況到不需要特別安裝plugin。方法請看Vim上trace code

Why Vim

最後再一次回到"為什麼使用Vim"來coding。本文的開頭提供了我的看法,以下是他人的觀點。

← JCConf TW 2014 台灣Java conference整理 →
 
comments powered by Disqus