Bash — Unix shell的一種,能執行於大多數類Unix系統的作業系統之上,包括Linux與Mac OS X v10.4都將它作為預設shell。它也被移植到Microsoft Windows上的Cygwin與MinGW,或是可以在MS-DOS上使用的DJGPP專案。在Novell NetWare與Android在上也有移植。Bash是一個命令處理器,通常執行於文字窗口中,並能執行用戶直接輸入的命令。Bash還能從檔案中讀取命令,這樣的檔案稱為指令碼。 — Wiki
Zsh(Z shell) — Unix shell的一種,它可以用作為互動式的登入shell,也是一種強大的shell指令碼命令直譯器。Zsh可以認為是一種Bourne shell的擴充功能,帶有數量龐大的改進,包括一些bash、ksh、tcsh的功能。一個叫做「Oh My Zsh」的用戶社群收錄了Zsh的第三方擴充功能。 — Wiki
意思是Zsh是一種較新的unix shell,可以為terminal加入比bash更多的客製化,所以接下來讓我們一起為iTerm使用zsh,加入客製化吧!
總共五個步驟:
- 安裝homebrew
- 安裝iTerm 2
- 安裝Zsh
- 安裝oh my zsh
- 客製化Prompt
步驟一:安裝Homebrew
Homebrew — 是 Mac OSX 上的的套件管理工具,方便安裝管理 OSX 裡需要用到但預設沒安裝的套件
打開terminal,輸入:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
確認完成,輸入:
brew --version
步驟二:安裝iTerm 2
到官網下載:https://www.iterm2.com/index.html
安裝完成後:
・替換iTerm佈景,使用SOLARIZED:按此下載
安裝完solarized後,打開 iTerm,進入以下路徑 iterm → preference → profiles → colors → load presets →import,載入solarized dark。
・替換iTerm字型:打開 iTerm,進入→ preference → profiles → text,换成 Menlo 14 字體。
步驟三:安裝Zsh
在iTerm輸入:
brew install zsh zsh-completions
確認安裝:
zsh --version
・因為Mac預設的shell為bash,所以要改為zsh,輸入:
chsh -s $(which zsh)
確認更改,輸入:
echo $SHELL
若回傳:/bin/zsh 則為成功。
步驟四:安裝Oh my zsh
在iTerm輸入:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
修改theme,在iTerm輸入:
open ~/.zshrc
將打開檔案中的ZSH_THEME="robbyrussell"改為
ZSH_THEME="agnoster"
然後存檔,再重開iTerm,即可看到改變。(這裡的雙引號一定要使用西式雙引號,否則會出現錯誤,導致theme沒有更動。)
因為agnoster有專門配對的字型,所以請到github下載,三個都需要下載:
https://gist.github.com/qrush/1595572
下載完成後,到iTerm → Preferences → Profiles → Text → Change Font,選擇Meslo字體。
步驟五:客製化prompt
因為zsh會讓iTerm顯示長長的電腦名稱,如user@hostname。為了讓它不要顯示。我們要更改zsh設定檔。
打開zshrc這個檔案:
open ~/.zshrc
在zshrc這個檔案,找個地方加入下面這段。最後一行的DEFAULT_USER 中 “yourname” 要填的是你使用者的名稱。
# optionally set DEFAULT_USER in ~/.zshrc to your regular username to hide the “user@hostname” info when you’re logged in as yourself on your local machine.
DEFAULT_USER=yourname
然後存檔,就可以看到名稱改變了。
另外,我們可以讓 terminal 用 Sublime 開啟我們想要編輯的「檔案」或「目錄」。
將sublime放置在applications下,然後在iTerm輸入:
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
這樣就可以使用subl
指令開啟想要編輯的「檔案」或「目錄」。
Zsh套件:
Auto Suggestions (for Oh My ZSH)
讓Iterm自動產生曾經打過的指令,這裡和Emmet不同(Emmet使用tab鍵),是使用”向右”鍵,將完整指令顯示出來。
檔案來源Github
安裝步驟:
在terminal輸入
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
然後
subl ~/.zshrc(打開zshrc檔案)plugins=(zsh-autosuggestions)(在zshrc檔案,放入這行指令,若有多個plugins,用空白鍵分開)
重新再開iterm,輸入文字就可以看到指令顯示。