fish-shell入門
Macのshellをデフォルトでfish-shellなんかにしてみました。POSIX非互換だそうです。
brew install fish
fish-shellを実行します。
/usr/local/bin/fish
デフォルトでfish-shellにしたい場合はchshコマンドでデフォルトシェルを変更します。
/etc/shellsファイルに/usr/local/bin/fish
を追記しておきます。
chsh -s /usr/local/bin/fish
確認します。
takahashi@Air ~> echo $SHELL /usr/local/bin/fish
ログインシェルがfish shellに変更されているのが確認できました。
fish shellは入力補完してくれるのですごい便利です。それとシンタックスハイライトされていて見栄えも良い感じです。好みによるかもしれませんが。
fish_configコマンド
fish_configコマンドでなんとブラウザが起動します。このブラウザからfish shellの設定を変更できるようになっています。ちょっとこれには驚きました。
cdがcdじゃないです。cd ~
としていたところを~
とするだけでホームディレクトリに移動することができます。さすがPOSIX非互換です。
どうもcdが省略できるっぽいです。
takahashi@Air >pwd /var/log/ takahashi@Air >apache2/ takahashi@Air >pwd /var/log/apache2
cdを省略してもディレクトリ移動ができます。最後にスラッシュを付けないと移動できません。
pwdはpwdのままのように思われます。
よく使うhistoryコマンドはhistory clear
すると履歴を削除します。
history search --contains 'ls'
上記でhistoryの中のコマンドで、ls文字列があるコマンドのみを表示します。
履歴の一部を削除したい場合はclearではなくdeleteを使用します。
takahashi@Air >history --delete 'ls' [1]〜〜 [2]〜〜
対象となるコマンドが複数表示された場合は、そのエントリーを選択して削除します。
takahashi@Air >1 2
半角スペースで区切ります。
コマンドラインをviモードにする
fish shellはデフォルトはemacsモードなのですが、fish_vi_key_bindingsコマンドで、コマンドラインをviのようにすることができます。
困ったらエスケープを連打、iでインサートモードです。
詳細はvi入門を読んでください。
ちなみにemacsモードに戻すにはfish_default_key_bindings
コマンドを実行します。
fisherプラグイン
便利なプラグインがあります、まずfisherプラグインをインストールします。これはプラグインマネージャで、プラグインの管理をするプラグインです。
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
便利プラグイン
fisher add jethrokuan/z
過去に移動したディレクトリでマッチするディレクトリに一気に移動してくれます。
z log
とタイプすると、/var/log/に移動してくれたりします。便利ですね。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント