【Bash】ターミナルに矢印を付ける方法を初心者向けに解説する【簡単】

こんにちは!のせっち@nosecchi01です。

僕はWordPressを中心としたマークアップエンジニアとして活動しておりますが、ターミナルを使わない日はありません。

これまで特にカスタマイズせずに使ってきたのですが、今回かなり理想のカスタマイズができましたので紹介します。

黒い画面が得意じゃない方向けにも、わかりやすく解説していきます。

bashでの設定方法を解説しています。zshの解説はありませんのでご注意ください。

ゴールの確認

こちらの状態を目指します。

見た目はこちら

  • 矢印を表示
  • ユーザー名、ホスト名を表示しない
  • gitのブランチ名を表示(画像の’develop’の部分)
  • コマンドの後1行開ける

これに伴って、フォントのインストール(矢印を表示するために必要)もやっていきます。

矢印を表示(下準備)

矢印を表示するためには、Powerline-shellが必要です。

Powerline-shellの公式githubはこちら

https://github.com/b-ryan/powerline-shell

こちらを使うためには、2つほど先にやっておかなければならないことがありますのでまずはそちらをやっていきます。

フォントのインストール

Powerline-shellを使うためには、対応したフォントを使わないと文字化けしてしまいます。

白源というフォントを使います。

下記からzipファイルをDLして、各フォントを端末にインストールします。

Rictyというフォントも候補に上がるのですが、色々試した結果、僕はHackGen35Nerdが一番しっくりきました。

初心者向けになるべくコマンドは使わない形で解説していますが、homebrewでもインストール可能です。
(zipでDLした方は下記の作業は不要です)

brew tap homebrew/cask-fonts
brew cask install font-hackgen
brew cask install font-hackgen-nerd

インストールしたら、忘れずにフォントを変更します。

ターミナル → 環境設定 → プロファイル からフォントを変更します。
HackGenであれば、好きなものを選んでOKです。

Visual Studio Codeのターミナルも変更しておきます。

設定(preferences)から上部の検索バーに”terminal font”まで入力したら、ターミナルのフォントファミリー設定が出てきます。

Pythonのバージョンを3.x系にする

Powerline-shellをインストールするために、pyコマンドを使うのですが、どうも3.x系でないとエラーが出てしまうようです。

下記のコマンドでバージョン確認をします。3.x系になっていれば次の手順に進んでOKです!

Python -V

# Python 2.7.16

僕の環境では2.7.16となっていました。

バージョンアップにはpyenvを使う方法が多く紹介されています。
pyenvはpythonのバージョンを複数管理し、切り替えを行うことができるため便利なのですが、本格的にPythonでの開発を行う予定がなければ不要です。

普通に公式サイトから最新版をDLしてきてください。

pkgファイルをDLしたら基本的にYesを選択して、ガンガン進みます。インストールが完了したら、インストーラーは削除してOKです。

インストールが完了したら下記を実行します。

# 3.x.xの部分はインストールしたバージョンにする
export PATH=/Library/Frameworks/Python.framework/Versions/3.x.x/bin:$PATH

設定を保存します。

# 設定を保存
source ~/.bash_profile

バージョン確認
phython -V
# 結果: Python 3.9.2

矢印を表示(Powerline-shellをインストール)

準備ができたのでPowerline-shellをインストールしていきます。

公式の手順通りいきましょう。

Powerline-shellの公式githubはこちら

https://github.com/b-ryan/powerline-shell
# 任意のディレクトリに移動後
git clone https://github.com/b-ryan/powerline-shell
cd powerline-shell
python setup.py install

python setup.py installでエラーが出ないようにPythonのバージョンを3.x系に上げました。

続いて.bashrcを編集します。

vi ~/.bashrc

続いて、iを押してINSERTモードの入り、下記を追記します。

function _update_ps1() {
    PS1=$(powerline-shell $?)
}

if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
    PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

追記が終わったらescで入力を終了し、:wqと入力後Enterで確定します。

終わったら、忘れずに設定を保存しましょう。

source ~/.bashrc

これで、矢印が表示されます。

gitブランチ名も表示されるようになります。

ユーザー名、ホスト名を表示しない

ユーザー名、ホスト名は邪魔なので表示しないようにします。

まず設定ファイルを作成します。

mkdir -p ~/.config/powerline-shell && \
powerline-shell --generate-config > ~/.config/powerline-shell/config.json

~/.config/powerline-shell/

というディレクトリの中に、config.jsonを作りました。

エディタで開いて下記部分を削除します。

{
  "segments": [
    "virtual_env",
    "username", // 削除
    "hostname", // 削除
    "ssh",
    "cwd",
    "git",
    "hg",
    "jobs",
    "root"
  ],
}

jsonファイルでコメントアウトはNGなので削除するようにしてください。

コマンドの後1行あける

bashrcを編集していきます。

vi ~/.bashrc

下記を追記しましょう。

# 出力の後に改行を入れる
function add_line {
  if [[ -z "${PS1_NEWLINE_LOGIN}" ]]; then
    PS1_NEWLINE_LOGIN=true
  else
    printf '\n'
  fi
}
PROMPT_COMMAND='add_line'

保存します。

source ~/.bash_profile

(おまけ)ターミナルのテーマを変更する

Iceburgというテーマに変更します。

こちらからテーマをダウンロードしましょう!

ターミナル → 環境設定 → プロファイルからDLしてきたIceburg.terminalを読み込めばOKです。

ちなみに、僕は他のテーマは使わないし邪魔なので全て消しています。いつでも復元できるらしいので要らないものは捨てちゃいましょう!

以上です。

お疲れ様でした!

この記事を書いた人

のせっち

福岡県出身。早稲田大学卒。創業100年の鉄鋼商社でバンコク駐在最年少抜擢。毎日擦り切れるまで働かなくても幸せに生きている人々を見てフリーランスになりました。
現在は、主にバンコクでWeb制作、物販を中心に生きています。