咱們常常須要長時間地坐在電腦前作一項具體的工做只爲可以優化工做流程。這包括選擇和配置能讓你最高效工做的工具。從長遠來看,簡單易學的工具並不老是好的,那些可以充分個性化並沒有縫地融入獨特工做流程的工具纔是真正的好工具。git
在這篇文章中,我想向你們介紹5款免費又開源的工具,並且它們在個人軟件開發生涯中發揮了很重要的做用。shell
1.Zsh以及Oh-My-Zshapache
Zsh是一個主要針對交互性和可定製而設計的shell。我經常搭配Oh-My-Zsh一塊兒使用,Oh-My-Zsh是一個社區支持的框架,可提供無數插件和主題。編程
一些很棒的功能:瀏覽器
·比在bash中的實現更好,由於它是經過一個能夠重複循環的互動列表,而不是每次按下tab才能輸出的靜態文本展示的。tomcat
·能夠擴展部分匹配的路徑。例如work/tomtab能夠變爲my_work/apache-tomcat-8.0.23。bash
·強大的Git支持:提供Git命令和提示位於工做目錄的Git倉庫的狀態的視覺指示器的實現。服務器
·可定製的主題,支持左右提示。框架
它能夠用來替代bash,而且很容易上手,建議你們可以嘗試用一用。less
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須要時間,可是若是操做得當,你絕對能夠事半功倍。
學習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機器上,那麼這些工具真的值得一用。對了,哪一個是你的真愛,你們一塊兒來交流一下吧。