工欲善其事,必先利其器
今天窗外雨兒淅瀝,本叔心裡異常平靜,獻上一篇如何打造我們 Mac 上好用的終端紀實。落霞與孤鶩齊飛,實用與裝X並濟!
註:以下的步驟我都親身實踐過,環境 macOS Sierra 10.12,我相信無論比我高或者是低版本的系統都能夠正確執行,請大家放心。
最終效果圖:
iTerm2 是網上大家公認的在 Mac 上最好用的終端工具,比系統自帶的 Terminal 智能和強大,詳細的操作大法等大叔積累夠了再出一篇文章。終端工具通俗理解就是 Windows 下的 CMD。(Emmmmm...沒用過的同學就算了)
而 「Oh My Zsh」 就厲害了,不過還是要說一下 Shell。
我們都知道 Mac 的操作系統是基於 Linux/Unix 進行開發的,其實 Windows 也是,人家一開始不承認,最後面不得已才說借鑒了一部分 Linux/Unix,呵呵。言歸正傳,Shell是Linux/Unix的一個外殼,你理解成衣服也行。它負責外界與Linux內核的交互,接收用戶或其他應用程序的命令,然後把這些命令轉化成內核能理解的語言,傳給內核,內核是真正幹活的,幹完之後再把結果返回用戶或應用程序。
Linux/Unix提供了很多種Shell,為毛要這麼多Shell?其實就是那些大牛程序員看到不爽的Shell,就會自己重新寫一套,慢慢形成了一些標準,常用的Shell有這麼幾種,sh、bash、csh等,想知道你的系統有幾種shell,可以通過以下命令查看:
$ cat /etc/shells
顯示如下:
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
這裡 Mac 會比 Linux 多預裝了一份 zsh。目前常用的 Linux 系統和 OS X 系統的默認 Shell 都是 bash,但是真正強大的 Shell 是深藏不露的 zsh。但由於複雜的配置,導致很長一段時間都無人問津,直到有一天,國外有個窮極無聊的程序員開發出了一個能夠讓你快速上手的 zsh 項目,叫做「oh my zsh」,Github網址:https://github.com/robbyrussell/oh-my-zsh
官方下載網址:http://www.iterm2.com/
下載好安裝就行了,沒有什麼特別需要注意的。
注意:以下所涉及到的命令,若沒有特殊聲明,都是在 iTerm2 上運行的。
打開 iTerm2,並在該終端上執行以下命令:
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
這句命令意思就是下載該腳本並執行
Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome, i3 and Qtile.
說白了 Powerline 就是用 Python 寫的可以美化終端輸出的腳本,而且支持多種終端。
首先查看本機是否有安裝 pip:
$ pip --version
如果沒有成功輸出版本信息的話,那就先安裝 pip:
$ sudo easy_install pip
如果已經確認本機有安裝的話,那就來正式安裝 Powerline:
$ pip install powerline-status
如果在這步提示因為許可權不足無法成功安裝的話(一般是 macOS Sierra 以上的用戶),是因為蘋果官方的 SIP 安全保護策略,以下步驟可以暫時關閉,等我們安裝好再重新開啟,可以放心操作。
關閉 SIP 操作:
這樣就將 SIP 關閉了,重啟電腦後重新在 iTerm2 上執行安裝 powerline 的命令
安裝完後,可以出於安全性考慮,我們還是把 SIP 啟動,以保護我們的電腦吧!
打開 SIP 操作:
字體庫的 Github 倉庫地址:https://github.com/powerline/fonts
Step 1: 將倉庫 git clone 下來,然後進入到 install.sh 腳本文件所在的目錄;
install.sh
$ ./install.sh
安裝完成後,會提示所有字體安裝到了 ~/Library/Fonts 文件夾下
~/Library/Fonts
如下圖所示,把 iTerm2 的設置里的 Profile 中的 Text 選項卡中里的 RegularFont 和 Non-ASCIIFont 的字體都設置成 Powerline 的字體。(可以注意到,Powerline 字體名稱後面都有加 powerline 字樣,很好區分)
RegularFont
Non-ASCIIFont
powerline
配色方案的 Github 倉庫地址:https://github.com/altercation/solarized
Step 1: 將倉庫 git clone 下來,然後進入到文件夾;
SolarizedDark.itermcolors
SolarizedLight.itermcolors
主題有很多種,這裡選擇了 agnoster 主題,大家熟悉操作之後,可以自己尋找主題並安裝
agnoster 主題的 Github 倉庫:https://github.com/fcamblor/oh-my-zsh-agnoster-fcamblor
~/.oh-my-zsh/themes
$ vim ~/.zshrc
# 找到 ZSH_THEME 欄位,並修改成:ZSH_THEME="agnoster"
使用該工具的作用是當我們在終端上輸入正確或成功執行的命令時,會綠色提示;相反不成功或錯誤命令時,會有紅色警告提示。
zsh-syntax-highlighting 的 Github 倉庫地址:https://github.com/zsh-users/zsh-syntax-highlighting
Step 1: 進入 ~/.oh-my-zsh/custom/plugins/ 目錄;
~/.oh-my-zsh/custom/plugins/
.zshrc
plugins=(zsh-syntax-highlighting)
source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
Step 4: 最後重載配置文件
$ source ~/.zshrc
這樣就同時配置好了zsh和oh-my-zsh。
至此,所有配置操作已經結束。可以酷炫地使用屬於你的 iTerm2 了!
有時候我們想在 Finder 的當前目錄下打開 iTerm2,以避免在 iTerm2 手動進入相應路徑,網上有介紹使用 Go2Shell 插件的用法,在這裡我推薦使用 Mac 自帶的 Automator 創建 AppleScript 以執行完成我們的需求。
在 Launchpad 中打開 Automator:
選擇 文件 -> 新建 -> 服務:
文件
新建
服務
選擇 AppleScript 並粘貼進腳本代碼:
代碼如下:
on run {input, parameters}
tell application "Finder"
set pathList to (quoted form of POSIX path of (folder of the front window as
alias))
set command to "clear; cd "
& pathList
end tell
tell application "System Events"
-- some versions might identify as
"iTerm2" instead of "iTerm"
set isRunning to (exists (processes where name is
"iTerm"))
or
(exists (processes where name is
"iTerm2"))
tell application "iTerm"
activate
set hasNoWindows to ((count of windows)
is
0)
if isRunning and hasNoWindows then
create window with
default profile
end
if
select first window
tell the first window
if isRunning and hasNoWindows is
false
then
create tab with
tell current session to write text command
end run
粘貼完後,按 command+s 以保存,在彈出的提示框內輸入該服務的名字,自定義就好。
接下來設置一下直接調用該服務的鍵盤快鍵鍵:
完成!
$ chsh-s/bin/zsh
$ chsh-s/bin/bash
Preference-General-Closing
Confirm"Quit iTerm2(?Q)"
agnoster.zsh-theme
build_prompt
prompt_context
工作和興趣上努力讓自己變得酷一點,生活上努力讓自己變得更溫暖一點。
另外,很感謝你閱讀完了本文,我相信你與眾不同。
http://weixin.qq.com/r/iUjo8PPEeK4HrbeT9x2b (二維碼自動識別)
推薦閱讀:
TAG:Terminal(軟體) | MacOSX使用技巧 | ohmyzsh |