2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AMBL株式会社Advent Calendar 2022

Day 13

【Linux】カスタマイズTerminal!

Last updated at Posted at 2022-12-12

こんにちは!こちらはAMBL株式会社のAdvent Calendarの記事です。

早速ですが、皆さんはTerminalをよく使っていますか?私は使っています。
Terminalと言っても、基本的にはWSL2Linuxを愛用しています。
ここでは、皆さんに紹介したいことがあります。

それが、カスタマイズTerminalです!

すでにカスタマイズされている方はぜひYour Styleを教えてください!

やりたいこと

Terminalをカスタマイズして、コマンドを楽しく打てること!

Terminal

WindowsWSL2のTerminal(VS Code)は下記のようなものです。

image.png
うん、あまり面白くないですね。

では早速、やってみましょう!

修正対象ファイル

Linux上では~/.bashrcを修正して、Terminalをカスタマイズします。

~/.bashrcとはなんぞや?については下記を参照してください!

修正対象

今回のTerminalに関する変数はPS1になります。
ですので、~/.bashrcの最後の方に下記のように記載すれば簡単にTerminalをカスタマイズできます。

PS1+="\$(git branch 2> /dev/null | grep '^*' | colrm 1 2 | xargs -I BRANCH echo -n \"" # check if git branch exists
export PS1

更に下記のようにカラーコードを指定することで色も変えられます。


# Color
FMT_BOLD="\[\e[1m\]"
FMT_DIM="\[\e[2m\]"
FMT_RESET="\[\e[0m\]"
FMT_UNBOLD="\[\e[22m\]"
FMT_UNDIM="\[\e[22m\]"
FG_BLACK="\[\e[30m\]"
FG_BLUE="\[\e[34m\]"
FG_CYAN="\[\e[36m\]"
FG_GREEN="\[\e[32m\]"
FG_GREY="\[\e[37m\]"
FG_MAGENTA="\[\e[35m\]"
FG_RED="\[\e[31m\]"
FG_WHITE="\[\e[97m\]"
FG_YELLOW="\[\e[33m\]"
BG_GREY="\033[100m"
BG_BLACK="\[\e[40m\]"
BG_BLUE="\[\e[44m\]"
BG_CYAN="\[\e[46m\]"
BG_GREEN="\[\e[42m\]"
BG_MAGENTA="\[\e[45m\]"
BG_RED="\[\e[41m\]"
BG_YELLOW="\[\e[43m\]"

PS1+="${BG_MAGENTA}${FG_CYAN}${FG_BLACK} \u@\h "

MY STYLE

それでは私のスタイルを皆さんに紹介したいと思います!
私はTerminalをこういうふうにしました!

image.png

{仮想環境}|{デバイス情報}|{今のパス}|{git branch命}|{commitある・なし}

下記のコードを参照してください!

# count untracked files
parse_git_count() {
    expr $(git status --porcelain 2>/dev/null | grep -E "^ M|^??|^ D" | wc -l)
}

# change color between clean/dirty tree
parse_git_fg() {
    [[ $(git status -s 2>/dev/null) ]] && echo -e "\033[93m\e[1m BRANCH 🔀 $(parse_git_count)" || echo -e "\033[92m\e[1m BRANCH ✅ 0"
}

# Virtual ENV
function virtualenv_info() {
    # Get Virtual Env
    if [[ -n "$VIRTUAL_ENV" ]]; then
        # Strip out the path and just leave the env name
        venv="${VIRTUAL_ENV##*/}"
    else
        # In case you don't have one activated
        venv=''
    fi
    [[ -n "$venv" ]] && echo "($venv)"
}

VENV="\$(virtualenv_info)"

# change color between clean/dirty tree

# disable the default virtualenv prompt change
export VIRTUAL_ENV_DISABLE_PROMPT=1

PS1="${FG_BLACK}${BG_GREEN}${VENV}"
PS1+="${BG_MAGENTA}${FG_CYAN}${FG_BLACK} \u@\h "
PS1+="${BG_BLUE}${FG_GREY} \w "
PS1+="\$(git branch 2> /dev/null | grep '^*' | colrm 1 2 | xargs -I BRANCH echo -n \"" # check if git branch exists
PS1+="${BG_GREY}  "                                                                    # end FILES container / begin BRANCH container
PS1+="\$(parse_git_fg)${FMT_BOLD}  "                                                   # print current git branch
PS1+="${FMT_RESET}\")"                                                                 # end last container (either FILES or BRANCH)
PS1+="${FMT_RESET}\n"
PS1+="${FMT_BOLD}${FG_GREEN}╰> $ ${FMT_RESET}"
export PS1

さいごに

~/.bashrcは非常に便利です。
少し追加すれば開発はより面白くなり、やる気も出るじゃないかと!

ぜひ使いこなしてみてください!

皆さんのおすすめスタイルがあればぜひシェアしてください!
さらに面白くしたいです!

それでは!

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?