fishシェルの便利コマンドとカスタム設定まとめ
fishシェルを活用した便利なコマンドやターミナルのカスタマイズ方法を紹介!bass、bat、exaなどの効率的なコマンドや、快適なシェル環境を構築する設定を解説。
はじめに
この記事は、Sunrise Advent Calendar 2019の3日目になります。
便利なコマンド
bass
自分は普段fishを使っているので、bashコマンドがそのまま使えなくて困ることがあります。そんな時、bassコマンドを使えば、fishシェルのままbashコマンドが使用できます。
使い方は、
$ bass export X=3のような感じでbassの後にbashコマンドを入力するだけです。
GitHubリポジトリ:
Fisher・Fundle・Oh My Fishのどれでも導入可能です。
bat
GitHubリポジトリ:
他の主な機能
- 制御文字などデフォルトでは表示出来ないものを表示する
A/--show-allオプションをつけると可視化出来ます
- 自動ページング
- 1画面内では出力しきれないファイルを、オプションをつけずに実行した
catコマンドでは、見切れてしまうので便利です
- 1画面内では出力しきれないファイルを、オプションをつけずに実行した
Homebrewでのインストールコマンド
$ brew install batexa
GitHubリポジトリ:
exaコマンドは、ファイルの種類・メタデータを区別し色をつけ表示してくれるものになります。
lsコマンドとの違い
-gitオプションでGitのステータスも表示できる点です。
$ exa -ahl --gitのようにすると、以下のようにステータス表示されます。
Homebrewでのインストールコマンド
$ brew install exaターミナルのカスタム設定
alias以外のところでは、config.fishの以下の設定が気に入っています。
cdした後にls
- config.fish
# cdした後にls
function cd
if test (count $argv) -eq 0
cd $HOME
return 0
else if test (count $argv) -gt 1
printf "%s\n" (_ "Too many args for cd command")
return 1
end
# Avoid set completions.
set -l previous $PWD
if test "$argv" = "-"
if test "$__fish_cd_direction" = "next"
nextd
else
prevd
end
return $status
end
builtin cd $argv
set -l cd_status $status
# Log history
if test $cd_status -eq 0 -a "$PWD" != "$previous"
set -q dirprev[$MAX_DIR_HIST]
and set -e dirprev[1]
set -g dirprev $dirprev $previous
set -e dirnext
set -g __fish_cd_direction prev
end
if test $cd_status -ne 0
return 1
end
pwd
ls -A
return $status
endおわりに
生産性を更に上げるためのシェル設定は奥が深いですよね〜
このコマンド・設定便利だよ!!などなどありましたらTwitterにでもコメントしてくれると嬉しいです😀