對於需要長期與終端打交道的工程師來說,擁有一款稱手的終端管理器是很有必要的,對於 Windows 用戶來說,最好的選擇是 Xshell
,這個大家都沒有異議。但對於 MacOS 用戶來說,仍然毋庸置疑,iTerm2
就是你要的利器,如果你覺得不是,那是你的問題,不是 iTerm2
的問題。今天我就來告訴你問題出在哪里,我將要向你展示的基本上都是你沒見過的配方,擦亮眼睛吧!
本教程總共分為三個部分:第一部分關於 iTerm 自身的設置和優化;第二部分關於連接遠程服務器的設置和優化;第三部分關於 zsh 的設置和優化。
今天來講第一部分。
1. 懸浮窗口
首先我們來解決第一個問題:如何在任何界面呼入呼出 iTerm2 的窗口,並且懸浮在界面的頂部?
相信每個人都會有這樣的使用場景:你正在全屏瀏覽器瀏覽網頁,或者正在全屏編輯器寫代碼寫文章之類的,突然想到了什么,或發現了什么,想快速打開終端,執行一兩條命令(諸如打開文件、啟動服務等),然后關閉。
對於這種情況,我們的願景是可以通過快捷鍵迅速打開終端,然后用同樣的快捷鍵迅速隱藏它,直到我需要時再次來到我面前。至於實現方式,雖繁瑣但並不復雜,下面跟着我的步驟走:
創建新的 Profile
首先打開 Preperence → Profiles
,新建一個 Profiles
,取名 HotKey Window
。
背景透明與模糊設置
在Preperence → Profiles → Window → Window Appearance
進行設置
窗口風格配置
在Preperence → Profiles → Window → Settings for New Windows
進行設置
解釋一下這幾個參數:
- Full-Width Top of Screen : 這個很好理解,讓終端顯示在屏幕頂部,並占滿整個寬度。
- Current Spce : 表示只顯示在當前的工作空間,舉個例子吧,假設你在當前屏幕打開了終端,你切換到下一個屏幕時它就不會跟到下一個屏幕。
- Screen width Cursor : 這個和上面的參數搭配,用來判定哪個屏幕屬於當前的工作空間,表示你的鼠標在哪,哪里就是當前的工作空間。
設置 HotKey
在 Preperence → Profiles → Keys → HotKey Window
進行設置
選中 A hotkey opens a dedicated window with this profile
,表示此 profile 可以通過快捷鍵快速打開快速關閉。
然后點擊 Configure Hotkey Window
,設置快捷鍵。
為了只使用一個鍵,可以使用功能鍵作為快捷鍵,我選擇的是 F12
。
這里需要說明一點,功能鍵只適用於沒有 Touch Bar
的 MacBook,對於新款的帶 Touch Bar
的 MacBook,只能使用其他的組合快捷鍵,比如 Cmd+P
什么的。至於原因嘛,那是因為新款 MacBook 的功能鍵只能顯示在 Touch Bar
上,你只能分別針對應用打開功能鍵,也就是說,你只有打開這個應用時,才會在 Touch Bar 上顯示功能鍵,可是我們要的是在任何地方通過快捷鍵呼出終端,我不能先打開終端,再使用功能鍵打開終端。。。這是個先有雞還是先有蛋的問題,所以還是選其他快捷鍵吧。
對於沒有 Touch Bar
的 MacBook,我們可以這么設置,首先打開系統偏好設置,選擇鍵盤設置。
選中 將 F1、F2 等鍵用作標准功能鍵。
這樣你就可以通過 F12
來快速打開關閉終端了。
請注意:打開了標准功能鍵之后,以后再想使用功能鍵的特殊功能,比如
F11
減小音量、F12
增大音量,必須得和Fn
鍵組合使用,例如增大音量就是Fn+F12
。
對於新款帶 Touch Bar
的 MacBook,可以這么設置,首先打開系統偏好設置,選擇鍵盤設置。
"按下 Fn 鍵以" 選擇 “顯示F1、F2等鍵”:
這樣就可以使用 Fn+F12
來快速打開終端。
同時在 快捷鍵 → 功能鍵
設置中添加 iTerm 應用,這樣打開 iTerm2 窗口時就可以直接使用 F12
鍵來關閉窗口。
到目前為止,懸浮終端的 Profile
就配置完成了,你可以按下你設置的HotKey
來方便快速打開和隱藏命令行。如果你想新建標簽頁也用這個 Profile,可以將 Hotkey Window
設為默認的 Profile:
下面我們來做一些優化工作。
2. 改變光標形狀
在 Preperence → Profiles → Text
進行設置。
默認光標形狀是醬紫的:
更改設置之后光標形狀就順眼多了:
3. 為自己代言
如果你要為自己代言,新建任何一個終端窗口都想打上自己的 Logo
,可以在 Preperence → Profiles → General
進行設置。

這樣不管我切換到哪個終端,都可以 fuck cloud native!
4. 自定義標簽頁標題
在 Preperence → Profiles → General
進行設置。
取消勾選 Applications in terminal may change the title
:
Title 選擇 Profile Name
,取消勾選 Job Name
:
這樣每個標簽頁的標題都會顯示為對應的 Profile Name
:
5. 自定義配色方案
網上有現成的配色方案,我們可以直接拿來主義,地址在這里:https://iterm2colorschemes.com/。
下載壓縮包,解壓后,打開 iTerm2 的設置:Preperence → Profiles → Colors → Color Presets
。點擊 import
選擇解壓好的主題目錄下 schemes
目錄下的你想要的主題導入。
導入之后,再選擇你想要的主題就好了,我當然選的是 Ubuntu 騷紫~~
6. 統一配色
默認情況下標簽的顏色是黑的,即使你改了配色也沒用:
如果想統一配色,需要稍微調整一下配置,打開 Appearence → General
,將 Theme 改為 Minimal
:
7. 關閉啟動界面
如果你不想每次打開 iTerm2 都打開默認的窗口,也就是靜默打開程序,可以在 Appearence → General
設置:
勾選 Exclude from Dock and ...
,更改設置之后下次你再重新打開 iTerm2 就會變成這個樣子:
它再也不會出現在 Dock 中,也不會在啟動時給你打開一個默認的窗口,你可以優雅地通過快捷鍵呼入呼出窗口,完美。
8. 使用 shell integration
iTerm2 可以與 unix shell 集成在一起,在安裝了 iTerm2 的 shell 集成工具后,可以在 iTerm2 中看到命令歷史、當前工作目錄、主機名、上傳下載文件等。
可以點擊菜單欄 iTerm2 > Install Shell Integration
或者終端輸入指令:
# 如果你的默認 shell 是 bash,請將 zsh 換成 bash
$ curl -L https://iterm2.com/misc/install_shell_integration.sh | zsh
該腳本會自動安裝當前終端 shell 的對應腳本,並寫入到對應的 shell 配置文件中。例如在 zsh shell 中執行完腳本后,.zshrc
中間中寫入了下面語句:
$ test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
在安裝完 iTerm2 的 shell integration
后會在終端界面中最左側多出一個藍色三角形的標記。如圖:
有藍色三角形的標記說明當前 shell 支持 shell integration。如需關閉標記,可以在 iTerm2 > Preferences > Profiles > (your profile) > Terminal 最下面 > Shell Integration
關閉 Show mark indicators
。
所有工具:
imgcat filename
Displays the image inline.
imgls
Shows a directory listing with image thumbnails.
it2api
Command-line utility to manipulate iTerm2.
it2attention start|stop|fireworks
Gets your attention.
it2check
Checks if the terminal is iTerm2.
it2copy [filename]
Copies to the pasteboard.
it2dl filename
Downloads the specified file, saving it in your Downloads folder.
it2setcolor ...
Changes individual color settings or loads a color preset.
it2setkeylabel ...
Changes Touch Bar function key labels.
it2ul
Uploads a file.
it2universion
Sets the current unicode version.
例如,可以用 imgcat
直接在終端顯示圖片:
9. 奇技淫巧
最后介紹一些 iTerm2 的奇技淫巧。
剪貼板歷史記錄
iTerm2 允許我們快速查看剪貼板內容 只需使用 Command + Shift + h
可以呼出粘貼歷史,支持模糊檢索。還可以設置將粘貼歷史保存在磁盤上(Preferences -> General)
智能選中
在 iTerm2 中,雙擊選中,三擊選中整行,四擊智能選中(智能規則可配置),可以識別網址,引號引起的字符串,郵箱地址等。(很多時候雙擊的選中就已經很智能了)
巧用 Command 鍵
按住 ⌘ 鍵:
- 可以拖拽選中的字符串;
- 點擊 url:調用默認瀏覽器訪問該網址;
- 點擊文件:調用默認程序打開文件;
- 點擊文件夾:在 finder 中打開該文件夾;
- 同時按住
option
鍵,可以以矩形選中,類似於 vim 中的ctrl v
操作。
將文本內容復制到剪切板
$ pbcopy < text.md
在 Finder 中打開當前目錄
$ open .
ok,關於 iTerm 自身的設置和優化到這里就結束了,下一篇將會介紹關於連接遠程服務器的設置和優化,敬請期待。
微信公眾號
掃一掃下面的二維碼關注微信公眾號,在公眾號中回復◉加群◉即可加入我們的雲原生交流群,和孫宏亮、張館長、陽明等大佬一起探討雲原生技術