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設定
Typora——>偏好設定——>外觀——>獲取主題,在開啟的Web頁面查詢“Solarized”主題,下載該主題到本地。
Typora——>偏好設定——>外觀——>開啟主題資料夾,將上一步下載的主題解壓縮,然後將相關檔案拷貝到Typora的主題資料夾中,如下圖所示
在Typora的視窗頁選擇:主題——>Solarized Dark或Solarized即可,主題格式如下:
iTerm2設定
iTerm2現在的版本非常簡單,自帶了Solarized主題。通過iTerm2——>Preferences——>Profiles,開啟配置視窗,選擇Colors這個Tab頁,在右下角有個下拉框可以選擇,如下圖所示:
IDEA設定
- 安裝Solarized Theme外掛,可以通過IDEA的外掛市場,或者下載到本地再匯入進行安裝
- 在偏好設定中搜索theme,可以看到,主題設定可以在Appearance中進行設定
參考資料
- http://ericbanisadr.com/tutorials/solarizing-the-macos-terminal.html
- https://medium.com/@adrian.j.chen/iterm-tips-tricks-15bebf01fa51
本號專注於後端技術、JVM問題排查和優化、Java面試題、個人成長和自我管理等主題,為讀者提供一線開發者的工作和成長經驗,期待你能在這裡有所收穫。
相關推薦
Mac高效開發之iTerm2、Prezto和Solarized主題
本文首發於個人網站: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開發之IMap、ILayer、IFeatureLayer和IFeatureClass關系
是什麽 gpo cmap arc arcmap mar tro 多圖 必須 剛開時學習 Engine 開發時,對於這幾個接口之間的關系總是理不清,因此寫下這篇文章做個總結。 是什麽 在 engine 開發中,我覺得使用過程中應該將每個接口對應到 ArcMap 中的具體事物中
Java開發之Eclipse、MyEclipse for mac安裝及啟用
先說一下Eclipse、MyEclipse、IntelliJ IDEA在JavaWeb開發的區別 MyEclipse 簡稱1 Eclipse 簡稱2 IntelliJ IDEA 簡稱3 (1)、整體使用感覺而言——1、2使用方法很相似,二者與3差別就比較大;個人喜歡3的介面風格;
GUI開發之AWT、SWING、SWT和JFACE的比較
AWT Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包。在任何一個 Java 執行環境中都可以使用它。 AWT 是一個非常簡單的具有有限 GUI 元件、佈局管理器和事件的工具包.有些經常使用的元件,例如表、樹、進度條等
C/C++ 文件操作之CreateFile、ReadFile和WriteFile
amp 列表 invalid bsp 功能 空間 out 系統 file 通常使用下列函數來通過Win系統來對外圍設備進行通信處理: ------------------------------- 1. CreateFile 這個函數的功能是創建或者打開一個文件或者I/
C++知識回顧之__stdcall、__cdcel和__fastcall三者的區別
進行 pan span number 適用於 編譯器 api num 處理 __stdcall、__cdecl和__fastcall是三種函數調用協議,函數調用協議會影響函數參數的入棧方式、棧內數據的清除方式、編譯器函數名的修飾規則等。 調用協議常用場合 __stdca
嵌入式開發之hi3519--- pcie dma和dma cache 緩存更新sync memery
www. -- 管理 緩存 con 嵌入 內存 pin sta http://blog.csdn.net/likeping/article/details/42235111 linux下dma 管理 http://blog.csdn.net/skyflying2012/a
Python測試開發之---list、str、dict、tuple小結
split 常用方法 split() nco item 它的 ase 小寫字母 -- str的常用方法有: str.digits 0-9的表示str.uppercase 大寫字母str.lowercase 小寫字母str.letters 所有字母" ".join(s
django之cookie、session和ajax
length clean 投票 console 默認值 設置 什麽 save pre 1 Cookie cookie是什麽? 保存在客戶端瀏覽器上的鍵值對 {k:v} cookie依附在請求頭或響應頭中出現 發
Java之byte、char和String類型相互轉換
rac static rgs div body valueof () print byte[] 1 package basictype; 2 3 /** 4 * byte、char和String類型相互轉換 5 */ 6 public class C
(轉)MySQL之char、varchar和text的設計
SQ 數值 abc dep 添加 pos sage character AC from: http://www.cnblogs.com/billyxp/p/3548540.html 最近有表結構設計中出現了varchar(10000)的設計引起了大家的討論,我們下面就
社會網絡分析之”組成部分”、小圈子和聚類
直接 cli 引入 網絡 網絡圖 其他 社交網絡 個人 直觀 組成部分(Components) “組成部分“這個翻譯有點不太直觀,如果哪位朋友有更好的翻譯方式,請告知我。組成部分是一個在網絡圖中的子圖,該子圖與外界沒有聯系。比如生活在某個太平洋小島上的居民們,他們與外界可能
CSS的position之absolute、fixed和relative區別
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 3之hash、chunkhash和contenthash三者的區別
就是 區別 生成 用法 pac put 覆蓋 一個 失效 在使用webpack 3中,文件名的hash值可以有三種hash生成方式,那具體使用哪一種呢? 1.hash 如果都使用hash的話,所有文件的hash都是一樣的,而且每次修改任何一個文件,所有文件名的hash至都將
Python學習筆記字符串操作之rjust()、ljust()和icenter()方法對齊文本
字符串操作 int 圖片 方法 spa -c enter ice 第一個 隨筆記錄方便自己和同路人查閱。 #------------------------------------------------我是可恥的分割線--------------------------
Java容器深入淺出之PriorityQueue、ArrayDeque和LinkedList
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)委託