便利なコマンドやカスタムしたシェル(fish)について

fish生産性向上開発環境Advent Calendar
Tomu Obata
📅2019/12/3

今回は、快適なシェル操作をするために、便利なコマンドやターミナルのカスタム設定について書いていこうと思います。

はじめに

この記事は、Sunrise Advent Calendar 2019の3日目になります。

便利なコマンド

bass

自分は普段fishを使っているので、bashコマンドがそのまま使えなくて困ることがあります。そんな時、bassコマンドを使えば、fishシェルのままbashコマンドが使用できます。

使い方は、

$ bass export X=3

のような感じでbassの後にbashコマンドを入力するだけです。

GitHubリポジトリ:

FisherFundleOh My Fishのどれでも導入可能です。

bat

batコマンドは、多数のプログラミング・マークアップ言語の構文強調表示Git統合を備えたcatコマンドのようなものになります。

GitHubリポジトリ:

batコマンド
batコマンド

他の主な機能

Homebrewでのインストールコマンド

$ brew install bat

exa

GitHubリポジトリ:

exaコマンドは、ファイルの種類・メタデータを区別し色をつけ表示してくれるものになります。

exaコマンド
exaコマンド

lsコマンドとの違い

$ exa -ahl --git

のようにすると、以下のようにステータス表示されます。

exaコマンドでGitステータスを表示している様子
exaコマンドで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

おわりに

生産性を更に上げるためのシェル設定は奥が深いですよね〜

このコマンド・設定便利だよ!!などなどありましたらTwitterにでもコメントしてくれると嬉しいです😀

💡
この記事はこちらのクロスポストになります

SHARE

スポンサーリンク