Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@tomu28

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

More than 1 year has passed since last update.

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

おわりに

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

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
tomu28
興味を持ったら、まず調べて行動!毎日コツコツと技術力を高めていきたいです。技術ブログはこちらに移行しました➡️https://tomu28.jp/tech-blog

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?