安裝以及配置
Linux 和 OS X 基本都可以通過源來安裝,實在不行就下載源碼編譯,不難的。
Ubuntu的話就是這樣:
代碼如下:
sudo apt-get install fish
從bash進入fish直接輸入fish就行了
安裝好第一步是修改 OS 預設 shell:
代碼如下:
chsh -s /usr/bin/fish
然後就可以直接使用了,就是這麼簡單。你不需要面對 zsh 浩如煙海的設定檔,也不需要去 github clone 一個 “Oh My Zsh”。
當然如果你實在想配置,輸入 fish_config 命令會啟動 web 管理介面。
什麼?逼格太低,非要手動設定。OK, ~/.config/fish/config.fish這就是 fish 的設定檔,類似於 bash 的.bashrc。
我喜歡配置三件東西:
1.問候語(配置config.fish):
代碼如下:
set fish_greeting 'Talk is cheap. Show me the code.'
2.命令列提示(在web介面配置,完成後會產生~/.config/fish/functions/fish_prompt.fish):
3.設定接受建議(第三條優勢)的快速鍵:
修改fish_prompt.fish,增加一條語句:bind ej accept-autosuggestion。同步選取alt和j將接受建議。
優勢
文法高亮
不存在的命令會顯示為紅色。
萬用字元
整合find命令,遞迴搜尋神器。
智能建議
當按下幾個字母后,fish會有智能建議,按下向右箭頭將接受建議。
Tab補全
如果補全項超過1個,會列出全部以供選擇。
變數
fish是通過set來代替“=”對變數賦值的。
將某目錄加入到PATH中也是用set(配置config.sh):
代碼如下:
set PATH $PATH /home/mountain/shell
Exports
fish沒有export命令,需要用set -x來代替。如果需要擦除變數,就執行set -e。
列表
有些變數有多個值,例如$PATH,fish會把所有值組裝成一個列表,可以迭代或者通過下標訪問。
命令替換
用法很簡單,把命令放在括弧裡即可。
文法糖
fish 的常用關鍵字(if、switch、function 等)比 bash 高端、實用很多,但是考慮到公司的生產環境根本不可能安裝 fish,導致指令碼無法移植,所以對於這部分只能忍痛放棄。