本文主要介紹mac下iTerm2的基本配置,包括兩方面內(nèi)容:主題和快捷鍵。寫(xiě)這篇的目的是為自己電腦的配置做個(gè)記錄,以備不時(shí)之需。
主題
在配置完主題后,當(dāng)你打開(kāi)iTerm2時(shí),會(huì)顯示如下界面
這個(gè)主題會(huì)讓你的光標(biāo)提示符之前的內(nèi)容一目了然,尤其是當(dāng)你進(jìn)入git目錄之后,還會(huì)提示git本地代碼庫(kù)相關(guān)的狀態(tài),例如:它會(huì)提示你所在的分支,以及文件是否有變化。下面我們一步步來(lái)配置吧。
安裝oh-my-zsh
oh-my-zsh是mac下shell(zsh)的開(kāi)源配置管理框架,從本文中,你將會(huì)看到可以用它來(lái)配置zsh的字體、主題、配色等。
首先我們檢查下自己默認(rèn)的shell是否是zsh
$ echo $0
-zsh
如果你的輸出不是-zsh
,需要手動(dòng)切換一下
chsh -s /bin/zsh
安裝oh-my-zsh
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.zshrc ~/.zshrc.orig
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
修改主題
zsh的配置文件是~/.zshrc
,每次打開(kāi)終端時(shí),這個(gè)腳本都會(huì)執(zhí)行,修改該文件的ZSH_THEME
字段,配置主題
ZSH_THEME="agnoster"
同時(shí)將agnoster
主題下載下來(lái),拷貝到~/.oh-my-zsh/themes
目錄下
$ wget https://gist.githubusercontent.com/agnoster/3712874/raw/c3107c06c04fb42b0ca27b0a81b15854819969c6/agnoster.zsh-theme
$ mv agnoster.zsh-theme ~/.oh-my-zsh/themes/agnoster.zsh-theme
修改配色
我使用的是solarized配色方案,你可以從這里下載:
將solarized.zip
解壓縮后,請(qǐng)?jiān)?iTerm 里按command+,
(逗號(hào))快捷鍵,打開(kāi)Preferences(選項(xiàng))對(duì)話框
Preferences -> Profiles -> Colors -> Color Presets -> Import
導(dǎo)入iterm2-colors-solarized
目錄下的兩個(gè).itermcolors
文件,修改配色方案
Preferences -> Profiles -> Colors -> Color Presets
選擇Solarized Dark
。
配置字體
首先配置字體編碼,修改~/.zshrc
文件,將字體編解碼方式修改為UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
下載并安裝Powerline
字體,繼續(xù)打開(kāi)iTerm2的選項(xiàng)
Preferences -> Profiles -> Text -> Change Font
換成Menlo
字體,字號(hào)14
新打開(kāi)一個(gè)iTerm2 Tab,就可以看到效果了。
快捷鍵設(shè)置
這里說(shuō)的快捷鍵主要是光標(biāo)移動(dòng)的快捷鍵,因?yàn)槭炀毷褂眠@些快捷鍵會(huì)提升工作效率。iTerm2需要配置的地方不多,我就設(shè)置了兩個(gè)地方,使光標(biāo)可以以單詞為單位移動(dòng):
- 使光標(biāo)移動(dòng)到右邊單詞的首字符
- 使光標(biāo)移動(dòng)到左邊單詞的首字符
依然是打開(kāi)iTerm2的選項(xiàng)
Preferences -> Profiles -> Keys -> 添加快捷鍵(+號(hào))
設(shè)置光標(biāo)前進(jìn)一個(gè)單詞的快捷鍵
繼續(xù)添加快捷鍵,設(shè)置光標(biāo)回退一個(gè)單詞的快捷鍵
于是,當(dāng)你需要敲一串很長(zhǎng)的命令時(shí),不巧其中某個(gè)選項(xiàng)需要修改,在配置完以上快捷鍵后,你可以鍵入option + f
或option + b
完成以單詞為單位的移動(dòng),這樣移動(dòng)速度會(huì)快很多。
其他常用的快捷鍵
- Ctrl + a:將光標(biāo)移動(dòng)到命令行首
- Ctrl + e:將光標(biāo)移動(dòng)到命令行尾
- Ctrl + w:刪除光標(biāo)前的一個(gè)單詞
- Ctrl + u:刪除所有內(nèi)容
- Ctrl + y:粘貼上次刪除的內(nèi)容
- Ctrl + f:光標(biāo)向右移動(dòng)一個(gè)字符
- Ctrl + b:光標(biāo)向左移動(dòng)一個(gè)字符
- Ctrl + r:搜索歷史命令
以上是我常用的一些快捷鍵,趕緊練練手吧。也歡迎在留言區(qū)補(bǔ)充其他Tips。
補(bǔ)充
ssh保活(keepalive)配置
當(dāng)你使用ssh客戶(hù)端連接公司服務(wù)器時(shí),很有可能會(huì)出現(xiàn)閑置一段時(shí)間后,被服務(wù)器斷開(kāi)的情況,這是運(yùn)維部門(mén)的一種安全策略。但這種被動(dòng)斷開(kāi)很可能會(huì)影響到自己的工作上下文,例如你運(yùn)行了一個(gè)耗時(shí)較長(zhǎng)的腳本,或用vim打開(kāi)了一個(gè)文本文件,如果此時(shí)遠(yuǎn)程服務(wù)器斷開(kāi)了你的連接,你的工作就被中斷了,且無(wú)法恢復(fù),這種體驗(yàn)非常糟糕。
怎樣才能讓iTerm2幫你保持連接呢?其實(shí)這事兒也不是iTerm2來(lái)完成的,而是ssh客戶(hù)端本身來(lái)完成的,修改~/.ssh/config
文件,如下
Host *
ServerAliveInterval 10
上述設(shè)置意為對(duì)任何一個(gè)ssh連接,每10秒發(fā)送一個(gè)no-op
包,意思是即使你不做任何操作,也可以起到心跳保活的效果。
參考:
微信公眾號(hào):程序員在深圳(studycode)
交流微信:jingwumen777