JavaScriptを有効にしてください

bashからfish(friendly interactive shell)へ移行する

 ·  ☕ 3 分で読めます  ·  ✍️ saiki

さて、いよいよ前回紹介したfishシェルを入れてbashから移行していきましょう。

1.fishのインストール

まずはインストールから。

Homebrewを使って簡単にやっていきましょう。

Homebrewが入ってない人は入れましょう。便利ですよ。

WindowsについてはわからないのでWindowsの人は頑張って下さい。

//Homebrewアップデート確認
brew up
//fishインストール
brew install fish

と言っても二行打つだけです。

簡単ですね。

2.設定ファイルの移行

bashから設定ファイルを移行しましょう。

ちょっとめんどくさいです。

//コンフィグファイルのディレクトリを作る
mkdir $HOME/.config/fish
//bashの設定をコピー
//もし.bashrcが必要なら同じくconfig.fishに追加してください。
cp $HOME/.bash_profile $HOME/.config/fish/config.fish

//configファイルを開く(お好きなエディタでどうぞ)
vim $HOME/.config/fish/config.fish

/*
export PATH=/opt/local/bin:$PATH
を
set -x PATH /opt/local/bin $PATH
の様に書き換える

export GOPATH=$HOME/go
は
set -x GOPATH $HOME/go

aliasはそのまま使える

vimなら以下のコマンドを使うと楽です(ただの置き換えですが)
:'<,'>s/export/set -x/gc
:'<,'>s/PATH=/PATH /gc
:'<,'>s/:/ /gc

*/

3.起動確認&デフォルトシェルに設定

which fish//場所確認
///usr/local/bin/fish

//shellのリストに追記.他のshellの末尾に先ほどのパスを入れれば良いです。
sudo vim /etc/shells

//起動確認(一回shell閉じたほうがいいかも?)
fish

//エラーが出なければデフォルトに設定
chsh -s /usr/local/bin/fish

//色とか変えたければ編集(ブラウザが開かれる)
fish_config

これで基本設定完了です!

 

4.(任意)VimModeの設定

VimModeを使う方はfish_vi_key_bindingsを実行し、Emacsモードに戻すには fish_default_key_bindingsを実行してください。

また、VimModeですとオートサジェストの確定コマンドであるctrl+fが効かないので以下の設定をconfig.fishに追加しましょう。

# viモードでもCtrl-f使える様に
function fish_user_key_bindings
  for mode in insert default visual
    fish_default_key_bindings -M $mode
  end
  fish_vi_key_bindings --no-erase
end

快適!

5.(任意)プロンプトの設定

最後はプロンプト(シェルの一番左に表示される文字列)のおしゃれ設定を晒して終わりです。

promptの設定は.config/fish/functions/fish_prompt.fishに書きます。

//開く
vim .config/fish/functions/fish_prompt.fish

//記入
   function fish_prompt
     test $SSH_TTY
       and printf (set_color red)$USER(set_color brwhite)'@'(set_color yellow)(prompt_hostname)' ' 
       test $USER = 'root' 
       and echo (set_color red)"#" 
    
       # Main カレントディレクトリ          色                  gitリポジトリ                     色             矢印      色                   矢印    色                矢印
       echo -n (prompt_pwd)(set_color cyan)(__fish_vcs_prompt) (set_color red)'❯'(set_color yellow)'❯'(set_color green)'❯ ' 
   end 

こんな感じ。

fish_configにあるやつを参考に書き換えたらいいと思います。

 

以上でbashからfishへの移行完了です。

さらに詳しく知りたい方はこちらがとても親切ですよ。

全訳!fishシェル普及計画

快適なシェル生活を!

ではまた。

共有

saiki
著者
saiki
Android App Developper