iTerm2 都不會用,還敢自稱老司機?(上)

對於須要長期與終端打交道的工程師來講,擁有一款稱手的終端管理器是頗有必要的,對於 Windows 用戶來講,最好的選擇是 Xshell,這個你們都沒有異議。但對於 MacOS 用戶來講,仍然毋庸置疑,iTerm2 就是你要的利器,若是你以爲不是,那是你的問題,不是 iTerm2 的問題。今天我就來告訴你問題出在哪裏,我將要向你展現的基本上都是你沒見過的配方,擦亮眼睛吧!html

本教程總共分爲三個部分:第一部分關於 iTerm 自身的設置和優化;第二部分關於鏈接遠程服務器的設置和優化;第三部分關於 zsh 的設置和優化。shell

今天來說第一部分。vim

1. 懸浮窗口

首先咱們來解決第一個問題:如何在任何界面呼入呼出 iTerm2 的窗口,而且懸浮在界面的頂部?api

相信每一個人都會有這樣的使用場景:你正在全屏瀏覽器瀏覽網頁,或者正在全屏編輯器寫代碼寫文章之類的,忽然想到了什麼,或發現了什麼,想快速打開終端,執行一兩條命令(諸如打開文件、啓動服務等),而後關閉。瀏覽器

對於這種狀況,咱們的願景是能夠經過快捷鍵迅速打開終端,而後用一樣的快捷鍵迅速隱藏它,直到我須要時再次來到我面前。至於實現方式,雖繁瑣但並不複雜,下面跟着個人步驟走:bash

建立新的 Profile

首先打開 Preperence → Profiles,新建一個 Profiles,取名 HotKey Window服務器

背景透明與模糊設置

Preperence → Profiles → Window → Window Appearance 進行設置微信

窗口風格配置

Preperence → Profiles → Window → Settings for New Windows 進行設置markdown

解釋一下這幾個參數:curl

  • 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,咱們能夠這麼設置,首先打開系統偏好設置,選擇鍵盤設置。

選中 將 F一、F2 等鍵用做標準功能鍵

這樣你就能夠經過 F12 來快速打開關閉終端了。

請注意:打開了標準功能鍵以後,之後再想使用功能鍵的特殊功能,好比 F11 減少音量、F12 增大音量,必須得和 Fn 鍵組合使用,例如增大音量就是 Fn+F12

對於新款帶 Touch Bar 的 MacBook,能夠這麼設置,首先打開系統偏好設置,選擇鍵盤設置。

"按下 Fn 鍵以" 選擇 「顯示F一、F2等鍵」:

這樣就可使用 Fn+F12 來快速打開終端。

同時在 快捷鍵 → 功能鍵 設置中添加 iTerm 應用,這樣打開 iTerm2 窗口時就能夠直接使用 F12 鍵來關閉窗口。

到目前爲止,懸浮終端的 Profile 就配置完成了,你能夠按下你設置的HotKey來方便快速打開和隱藏命令行。若是你想新建標籤頁也用這個 Profile,能夠將 Hotkey Window 設爲默認的 Profile:

下面咱們來作一些優化工做。

2. 改變光標形狀

Preperence → Profiles → Text 進行設置。

默認光標形狀是醬紫的:

更改設置以後光標形狀就順眼多了:

3. 爲本身代言

若是你要爲本身代言,新建任何一個終端窗口都想打上本身的 Logo,能夠在 Preperence → Profiles → General 進行設置。

![](/Users/cnsgyg/Desktop/屏幕快照 2020-03-10 下午2.56.46.png)

這樣無論我切換到哪一個終端,均可以 fuck cloud native!

4. 自定義標籤頁標題

Preperence → Profiles → General 進行設置。

取消勾選 Applications in terminal may change the title

Title 選擇 Profile Name,取消勾選 Job Name

這樣每一個標籤頁的標題都會顯示爲對應的 Profile Name

5. 自定義配色方案

網上有現成的配色方案,咱們能夠直接拿來主義,地址在這裏: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 自身的設置和優化到這裏就結束了,下一篇將會介紹關於鏈接遠程服務器的設置和優化,敬請期待。

微信公衆號

掃一掃下面的二維碼關注微信公衆號,在公衆號中回覆◉加羣◉便可加入咱們的雲原生交流羣,和孫宏亮、張館長、陽明等大佬一塊兒探討雲原生技術