4
5

More than 3 years have passed since last update.

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

Posted at

この記事は、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.png

他の主な機能

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

$ brew install bat

exa

GitHubリポジトリはこちら

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

lsコマンドとの違い

--gitオプションでGitのステータスも表示できる点です。

$ exa -ahl --git

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

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

おわりに

生産性を更に上げるためのシェル設定は奥が深いですよね〜
このコマンド・設定便利だよ!!などなどありましたらコメントしてくれると嬉しいです😀

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5