fish shellのconfig.fish
fishを使ってみた
良さげなのでとりあえず、(自分は)これだけあればなんとかなるconfig.fishをメモしておく
fishはここから fish shell もしくは
brew install fish
とかで
config.fishは
~/.config/fish/config.fish
にかく
ないなら作る
config.fish
## 環境変数 set -x GOPATH $HOME/dev set -x GOROOT /usr/local/go set -x PATH $PATH $GOROOT/bin set -x PATH $PATH $GOPATH/bin ## vi mode fish_vi_key_bindings # vi modeではなんか[I]みたいなの出るからオーバーライド function fish_mode_prompt end ## prompt function fish_prompt if test "$fish_key_bindings" = "fish_vi_key_bindings" switch $fish_bind_mode case default set_color --bold red white case insert set_color --bold green white case replace-one set_color --bold green white case visual set_color --bold magenta white end echo (prompt_pwd) ">><(( *> " end end #gitのbranch名出す function git_branch git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ [\1]/' end #右prompt function fish_right_prompt echo (git_branch) end ## cd後にls function cd builtin cd $argv; and ls end ## rmでゴミ箱に入れる alias rm='rmtrash' function hello echo 'hello' end
留意点
環境変数
環境変数の設定がなんか他のshellと違ってて、
set -x PATH hoge
てする
vi モードでのプロンプト
左プロンプト
さすがfish、vi モードがある. Vim大好きな私には嬉しい. ちなみにデフォルトはemacs
fish_vi_key_bindings
と書くとviモードになる。 すると最初は横に[I]とか[V]とかでる。 わかりやすいけど、ダサい
せっかくなので、左プロンプトをお魚さんにして、色でinsertやらを判断するようにした
function fish_prompt do something end
ここに書けば左プロンプトを操作できる
viモードに関してはgithubのコードをみました ここのfish_vi_nantoka
prompt_pwd
というのは、fishが用意してくれている関数で、デフォルトのプロンプトでも使われている。
/hoge/foo/bar
となっているのを
/h/f/bar
としてくれる、便利
右プロンプト
function fish_right_prompt do something end
ここに書く
これ をみました。 ありがとうございます
まとめ
何をしたかというとpromptの設定がほとんどで、 fishなだけあって、何もしなくても補完やらなんやらしてくれる、強い