1. 程式人生 > >Mac高效開發之iTerm2、Prezto和Solarized主題

Mac高效開發之iTerm2、Prezto和Solarized主題

本文首發於個人網站:Mac高效開發之iTerm2、Prezto和Solarized主題

工欲善其事必先利其器,作為開發,我追求極致的高效,因此會在很多細節上追求效率,例如:命令列視窗敲命令的時候,如果能善用快捷鍵,就可以在短時間內敲更多的命令;IDEA的快捷鍵如果用得熟,在同樣時間內,就可以產出更多的程式碼。這篇文章主要總結了我對iTerm2的使用,延伸出來了Zsh的配置框架Prezto和護眼主題Solarized的安裝和配置。

iTerm2

iTerm2是非常好用的終端,我在拿到新的Mac後,第一個安裝的軟體就是iTerm2。這裡我總結了一些常用的iTerm2的快捷鍵,在平常工作中使用最高頻,對效率提升最高的,列舉如下。

快捷鍵 效果
Fn ← 跳到行首
Fn ➝ 跳到行尾
Control u 刪除當前行
Option ← 跳到當前單詞的第一個字母前面,以空格為分隔符
Option ➝ 跳到當前單詞的尾部,以空格為分隔符
Control w 刪除游標位置到當前單詞第一個字母的內容
Cmd d 將當前Tab視窗縱向切分為兩個子視窗
Cmd Shift d 將當前Tab視窗橫向切分為兩個子視窗
Cmd [ 在當前Tab頁視窗中,移動到前一個子視窗
Cmd ] 在當前Tab頁視窗中,移動到後一個子視窗
Cmd t 新建一個Tab頁視窗
Cmd ← 移動到上一個Tab頁視窗中
Cmd ➝ 移動到下一個Tab頁視窗中
Cmd q 退出iTerm2程式
Cmd Shift ; 搜尋歷史執行過的命令
Cmd Shift h 搜尋歷史貼上過的內容
Cmd option i 多個輸入視窗個同時輸入命令,非常適合用於同時操作多臺機器的情況
Cmd option e 搜尋多個視窗的內容

Prezto

Prezto是Zsh的配置框架,作用是簡化Zsh的配置難度,Prezto的使用可以參考這兩篇文章:prezto官網和Customizing Your Prezto Prompt。

根據第一篇文章安裝好Prezto後,需要按需配置Prezto,配置檔案是~/.zpreztorc檔案,將歷史記錄補全、語法高亮、git等外掛的功能開啟,另外在選擇主題的時候,可以根據命令prompt -l

列舉出所有的主題,根據prompt -p themename預覽主題的樣式。我使用的就是它經典的主題sorin,其他的主題沒有嘗試過,你可以根據自己的喜好安裝和配置。

Solarized主題

作為開發人員,每天長時間對著各種編輯器,勢必需要選擇一款比較護眼的主題,Solarized主題作為最流行的主題之一,對眼睛的保護效果也非常好。Solarized主題分為淺色和深色主題,我平常主要使用的編輯器有:Typora、iTerm2、IDEA、Visual Studio Code,這裡我總結了這四種編輯器設定Solarized主題的方法。

Typora設定

  1. Typora——>偏好設定——>外觀——>獲取主題,在開啟的Web頁面查詢“Solarized”主題,下載該主題到本地。

  2. Typora——>偏好設定——>外觀——>開啟主題資料夾,將上一步下載的主題解壓縮,然後將相關檔案拷貝到Typora的主題資料夾中,如下圖所示

  3. 在Typora的視窗頁選擇:主題——>Solarized Dark或Solarized即可,主題格式如下:

iTerm2設定

iTerm2現在的版本非常簡單,自帶了Solarized主題。通過iTerm2——>Preferences——>Profiles,開啟配置視窗,選擇Colors這個Tab頁,在右下角有個下拉框可以選擇,如下圖所示:

IDEA設定

  1. 安裝Solarized Theme外掛,可以通過IDEA的外掛市場,或者下載到本地再匯入進行安裝
  2. 在偏好設定中搜索theme,可以看到,主題設定可以在Appearance中進行設定

參考資料

  1. http://ericbanisadr.com/tutorials/solarizing-the-macos-terminal.html
  2. https://medium.com/@adrian.j.chen/iterm-tips-tricks-15bebf01fa51

本號專注於後端技術、JVM問題排查和優化、Java面試題、個人成長和自我管理等主題,為讀者提供一線開發者的工作和成長經驗,期待你能在這裡有所收穫。

相關推薦

Mac高效開發iTerm2PreztoSolarized主題

本文首發於個人網站:Mac高效開發之iTerm2、Prezto和Solarized主題 工欲善其事必先利其器,作為開發,我追求極致的高效,因此會在很多細節上追求效率,例如:命令列視窗敲命令的時候,如果能善用快捷鍵,就可以在短時間內敲更多的命令;IDEA的快捷鍵如果用得熟,在同樣時間內,就可以產出更多的程式

Python全棧開發4內置函數文件操作遞歸

開發 hang mon alien yun alpha err fdm ax1 %E5%AD%97%E8%8A%82%E5%BA%8F%E8%BD%AC%E6%8D%A2%E4%B8%8E%E7%BB%93%E6%9E%84%E4%BD%93%E4%BD%8D%E5%9F%

arcEngine開發IMapILayerIFeatureLayerIFeatureClass關系

是什麽 gpo cmap arc arcmap mar tro 多圖 必須 剛開時學習 Engine 開發時,對於這幾個接口之間的關系總是理不清,因此寫下這篇文章做個總結。 是什麽 在 engine 開發中,我覺得使用過程中應該將每個接口對應到 ArcMap 中的具體事物中

Java開發EclipseMyEclipse for mac安裝及啟用

先說一下Eclipse、MyEclipse、IntelliJ IDEA在JavaWeb開發的區別 MyEclipse 簡稱1 Eclipse 簡稱2 IntelliJ IDEA 簡稱3 (1)、整體使用感覺而言——1、2使用方法很相似,二者與3差別就比較大;個人喜歡3的介面風格;

GUI開發AWTSWINGSWTJFACE的比較

 AWT Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包。在任何一個 Java 執行環境中都可以使用它。 AWT 是一個非常簡單的具有有限 GUI 元件、佈局管理器和事件的工具包.有些經常使用的元件,例如表、樹、進度條等

C/C++ 文件操作CreateFileReadFileWriteFile

amp 列表 invalid bsp 功能 空間 out 系統 file 通常使用下列函數來通過Win系統來對外圍設備進行通信處理: ------------------------------- 1. CreateFile   這個函數的功能是創建或者打開一個文件或者I/

C++知識回顧__stdcall__cdcel__fastcall三者的區別

進行 pan span number 適用於 編譯器 api num 處理 __stdcall、__cdecl和__fastcall是三種函數調用協議,函數調用協議會影響函數參數的入棧方式、棧內數據的清除方式、編譯器函數名的修飾規則等。 調用協議常用場合 __stdca

嵌入式開發hi3519--- pcie dmadma cache 緩存更新sync memery

www. -- 管理 緩存 con 嵌入 內存 pin sta http://blog.csdn.net/likeping/article/details/42235111 linux下dma 管理 http://blog.csdn.net/skyflying2012/a

Python測試開發---liststrdicttuple小結

split 常用方法 split() nco item 它的 ase 小寫字母 -- str的常用方法有: str.digits 0-9的表示str.uppercase 大寫字母str.lowercase 小寫字母str.letters 所有字母" ".join(s

djangocookiesessionajax

length clean 投票 console 默認值 設置 什麽 save pre 1 Cookie cookie是什麽? 保存在客戶端瀏覽器上的鍵值對 {k:v} cookie依附在請求頭或響應頭中出現 發

JavabytecharString類型相互轉換

rac static rgs div body valueof () print byte[] 1 package basictype; 2 3 /** 4 * byte、char和String類型相互轉換 5 */ 6 public class C

(轉)MySQLcharvarchartext的設計

SQ 數值 abc dep 添加 pos sage character AC from: http://www.cnblogs.com/billyxp/p/3548540.html 最近有表結構設計中出現了varchar(10000)的設計引起了大家的討論,我們下面就

社會網絡分析”組成部分”小圈子聚類

直接 cli 引入 網絡 網絡圖 其他 社交網絡 個人 直觀 組成部分(Components) “組成部分“這個翻譯有點不太直觀,如果哪位朋友有更好的翻譯方式,請告知我。組成部分是一個在網絡圖中的子圖,該子圖與外界沒有聯系。比如生活在某個太平洋小島上的居民們,他們與外界可能

CSS的positionabsolutefixedrelative區別

abs 當前 splay body left position borde ati aud 首先,我們應了解position的默認值——static static 默認值,沒有定位,元素出現在正常的流中,即忽略 top, bottom, left, right 或者 z-

MAC OS開發從入門到崩潰(一)

bsp 運行 shee 相關 .com nsh 彈出 add 區域 本文目標:通過xcode,創建一個Mac app程序。點擊按鈕,彈出Hello World窗口,其效果如下。 我們可以通過4個步驟來實現如上效果。 1.創建一個MAC app工程項目。 2.布局“按鈕”

Python學習筆記字典keys()values() items()方法

com png inf keys 學習筆記 修改 分享圖片 clas 沒有 隨筆記錄方便自己和同路人查閱。 #------------------------------------------------我是可恥的分割線--------------------------

webpack 3hashchunkhashcontenthash三者的區別

就是 區別 生成 用法 pac put 覆蓋 一個 失效 在使用webpack 3中,文件名的hash值可以有三種hash生成方式,那具體使用哪一種呢? 1.hash 如果都使用hash的話,所有文件的hash都是一樣的,而且每次修改任何一個文件,所有文件名的hash至都將

Python學習筆記字符串操作rjust()ljust()icenter()方法對齊文本

字符串操作 int 圖片 方法 spa -c enter ice 第一個 隨筆記錄方便自己和同路人查閱。 #------------------------------------------------我是可恥的分割線--------------------------

Java容器深入淺出PriorityQueueArrayDequeLinkedList

Queue用於模擬一種FIFO(first in first out)的佇列結構。一般來說,典型的佇列結構不允許隨機訪問佇列中的元素。佇列包含的方法為: 1. 入隊 void add(Object o): 指定元素加入佇列尾部 boolean offer(Object o):同上,在有限容量佇列中,此方

.NET基礎字串集合

轉自:http://www.cnblogs.com/edisonchou/p/4805206.html   字串、集合和流 Index: (1)型別語法、記憶體管理和垃圾回收基礎 (2)面向物件的實現和異常的處理 (3)字串、集合與流 (4)委託