提高 Linux 開發效率的 5 個工具

我們經常需要長時間地坐在電腦前做一項具體的工作只爲能夠優化工作流程。這包括選擇和配置能讓你最高效工作的工具。從長遠來看,簡單易學的工具並不總是好的,那些能夠充分個性化並無縫地融入獨特工作流程的工具纔是真正的好工具。

在這篇文章中,我想向大家介紹5款免費又開源的工具,而且它們在我的軟件開發生涯中發揮了很重要的作用。

1.Zsh以及Oh-My-Zsh

Zsh是一個主要針對交互性和可定製而設計的shell。我常常搭配Oh-My-Zsh一起使用,Oh-My-Zsh是一個社區支持的框架,可提供無數插件和主題。

一些很棒的功能:

  • 比在bash中的實現更好,因爲它是通過一個可以重複循環的互動列表,而不是每次按下tab才能輸出的靜態文本展現的。

  • 可以擴展部分匹配的路徑。例如work/tom<tab>可以變爲my_work/apache-tomcat-8.0.23。

  • 強大的Git支持:提供Git命令和提示位於工作目錄的Git倉庫的狀態的視覺指示器的實現。

  • 可定製的主題,支持左右提示。

它可以用來替代bash,並且很容易上手,建議大家能夠嘗試用一用。

2.Less

我剛開始使用Linux的時候,我用的是Midnight Commander的內置功能在終端和各種基於GUI的應用程序中查看文件。

Midnight Commander的視圖模式,mcview,不但易於使用也易於學習,但less比它(以及許多其他文本瀏覽器)更有優勢,因此我選擇了Less爲通用的文本查看:

  • 默認情況下啓動時沒有鼠標支持,因此它不會淹沒鼠標事件,所以你可以在終端輕鬆地選擇和複製文本。(雖然mc加-d選項也可以完成。)

  • 可輕鬆處理大文件。我選擇轉換到Less的主要原因是,如果我要檢查大型日誌文件,在我到處導航,例如檢查文件的末尾的時候,mcview不會完全切斷它。Less就很快,只需按下「G」就行,然後按「g」就能回到起點。

  • 默認已安裝。

  • 使用Vim作導航,因此能很好地融入到其他工具的約定中。很容易搜索,使用「/」、「?」、「n」和「N」鍵能有高亮效果,使用「j」和「k」導航。當然,它也支持箭頭鍵和PgDn / PgUp鍵。

  • 許多工具都使用它。例如,man和git diff工具都使用Less來呈現信息,所以你應該已經很熟悉它了。

Less入門很容易,因爲你瞭解它,並且它早就在你的系統上了。

3. Vim

關於Vim,我已經寫過一些帖子,因此打算長話短說。這是一個非常偉大的通用文本編輯器,具備許多的插件和大量的可定製性,可以協助我們完成從工作簡單的文本編輯到編程的各種任務。

它也有很多非常不錯的替代品,比如說Kate,Gedit,甚至是完全成熟的IDE(當涉及到編程的時候),但Vim中提供了一個與之互動的獨特方式,使得它成爲了一個非常有趣的編輯器。

除此之外,我認爲大家還需要注意:

  • 有許多插件。

  • 大多數重複性任務可以自動化或輕鬆解決。

  • 可以從終端進行操作。在正常模式下使用Ctrl + Z,就可以發送到背景,非常方便。

  • 只需要很少量的擊鍵就可以執行各種操作和可進一步組合的導航,這使得它既高效,又可協同工作,哪怕是在連接到遠程服務器的高延遲連接中。

學習Vim需要時間,但是如果操作得當,你絕對可以事半功倍。

4. XMonad

XMonad是用Haskell寫的平鋪窗口管理器。XMonad提供的各種自動佈局和簡單易學的快捷鍵使得它從鍵盤操作桌面非常自然。而且還有大多數基於活動的終端和麪向鍵盤的工具,真的很不錯。

它的一些重要功能:

  • 極簡主義和高度可配置。默認配置中幾乎沒有窗戶裝飾和工具欄,而且可以大範圍進行定製。

  • 面向鍵盤,友好的用戶體驗。

  • 平鋪。不必手動排列窗口。

  • 如果你使用鼠標,光標所在的窗口自動獲得焦點。

XMonad易於安裝和上手,但它需要一些調整來完成定製,因爲很多你在其他環境中慣於使用的功能都不是默認的。它就是這麼簡約,所以建議你在使用它之前先在這裏查看默認的快捷鍵,因爲默認情況下它只爲用戶提供了一個空白的屏幕,其他什麼都沒有。

由於它只是一個窗口管理器,我會搭配KDE軟件一起使用。

5.Konsole

一個偉大的終端應用程序是使用命令行應用程序的必需品。由於在桌面環境時我更喜歡KDE,所以我大多使用Konsole,而且我對它的功能設置真的很滿意:

  • 搜索/高亮功能。高亮匹配是實時刷新的,這對於拖尾日誌文件真的很方便。

  • 易於選擇和複製文本塊。

  • 簡單選擇屏幕滾動,使用CTRL + SHIFT + K清理緩衝區。

  • 可自定義隱藏大部分不必要的細節(標籤欄、菜單),默認提供許多顏色主題。

它還提供了tab,不過我不用,我有打開新實例更方便的方法。唯一我不喜歡的地方是,當我不需要滾動條的時候,不能自動隱藏它。

我相信對於Konsole有很多很好的替代品,我的想法是隻要確保你使用的終端模擬器有你需要的功能,那你用什麼都OK。不管黑貓白貓,能抓老鼠就是好貓。

使用dotfiles儲存庫管理

每個工作流程在某種程度上是唯一的,所以我們可以通過個性化的配置來強化使用的工具。但是,這會引出一個新的問題:你要麼以某種方式管理配置,或者每次都手動重現一遍。

如果選擇自動,那麼dotfiles Git儲存庫是保存配置非常方便的方法。它的基本思路是,配置文件駐留於一個Git儲存庫,並且符號鏈接到其 正確的位置。甚至會有智能腳本來自動完成這個工作。我使用的是Zach Holman的dotfiles repo,在Github上有很多這方面的內容。

這些都是很常見的工具,不過如果你要花很多時間在Linux機器上,那麼這些工具真的值得一用。對了,哪個是你的真愛,大家一起來交流一下吧。


作者:小峯

來源:51CTO