この記事は、Sunrise Advent Calendar 2019の3日目になります。
はじめに
今回は、快適なシェル操作をするために、便利なコマンドやターミナルのカスタム設定について書いていこうと思います。
便利なコマンド
bass
自分は普段fishを使っているので、bashコマンドがそのまま使えなくて困ることがあります。
そんな時、bass
コマンドを使えば、fishシェルのままbashコマンドが使用できます。
使い方は、
$ bass export X=3
のような感じでbass
の後にbashコマンドを入力するだけです。
GitHubリポジトリはこちら
Fisher・Fundle・Oh My Fishのどれでも導入可能です。
bat
bat
コマンドは、多数のプログラミング・マークアップ言語の構文強調表示とGit統合を備えたcat
コマンドのようなものになります。
GitHubリポジトリはこちら
他の主な機能
-
制御文字などデフォルトでは表示出来ないものを表示する
-
-A/--show-all
オプションをつけると可視化出来ます
-
-
自動ページング
- 1画面内では出力しきれないファイルを、オプションをつけずに実行した
cat
コマンドでは、見切れてしまうので便利です
- 1画面内では出力しきれないファイルを、オプションをつけずに実行した
Homebrewでのインストールコマンド
$ brew install bat
exa
GitHubリポジトリはこちら
exa
コマンドは、ファイルの種類・メタデータを区別し色をつけ表示してくれるものになります。
ls
コマンドとの違い
--git
オプションでGitのステータスも表示できる点です。
$ exa -ahl --git
Homebrewでのインストールコマンド
$ brew install exa
カスタム設定
alias以外のところでは、config.fish
の以下の設定が気に入っています。
cdした後にls
# 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
おわりに
生産性を更に上げるためのシェル設定は奥が深いですよね〜
このコマンド・設定便利だよ!!などなどありましたらコメントしてくれると嬉しいです😀