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

2015-12-15    分類:作業系統、程式設計開發、首頁精華2人評論發表於2015-12-15
我們經常需要長時間地坐在電腦前做一項具體的工作只為能夠優化工作流程。這包括選擇和配置能讓你最高效工作的工具。從長遠來看,簡單易學的工具並不總是好的,那些能夠充分個性化並無縫地融入獨特工作流程的工具才是真正的好工具。

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

1.Zsh以及Oh-My-Zsh

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

一些很棒的功能:

  • 比在bash中的實現更好,因為它是通過一個可以重複迴圈的互動列表,而不是每次按下tab才能輸出的靜態文字展現的。
  • 可以擴充套件部分匹配的路徑。例如work/tom可以變為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機器上,那麼這些工具真的值得一用。對了,哪個是你的真愛,大家一起來交流一下吧。

相關文章