こんにちは、山田ハヤオです。最近zsh
とpowerline
が大好きになりました。
AlterLinuxにもデフォルトで搭載されていますが、powerline
とは以下のようなやつです。
AlterLinuxならデフォルトですが、ArchLinuxにも入れたいという人は多そうなので導入方法を解説します。
PowerLineとPowerLine-Shellの違いは?
本家PowerLineはPythonで書かれています。シェル以外にもVimなどにも対応していますが、カスタマイズ等がいろいろ面倒です。
PowerLine-ShellはPowerLineをシェルのみに限定し、シェルスクリプトで書き直されたものです。
本家PowerLineよりデフォルトで多くの情報を表示しますが、言語がシェルスクリプトなので動作が少し重くなっています。
PowerLine-GoはPowerLine-ShellをGo言語で書き直し高速で動作するようになったものです。
ArchLinuxにインストール
AURからインストールしましょう。
git clone https://aur.archlinux.org/powerline-go.git
cd powerline-go
makepkg -si
cd ..
rm -rf powerline-go
上のコマンドを順番に入力することでPowerLine-GoのパッケージをAURからインストールできます。
既にAURヘルパー1yayなどを導入している場合はpowerline-go
パッケージをインストールすれば大丈夫です。
シェルの設定
インストールしただけでは利用できません。これはPowerLine系全ての共通です。
インタラクティブシェルで設定方法が異なるので、ここではBashとZshで解説をします。
使ってるシェルを確認する
basename ${SHELL}
ターミナルからこのコマンドを実行すると現在のシェルがわかります。
以下の設定のためのコードは、PowerLine-Goの公式のものをハヤオがArchLinuxに最適化した独自のものです。他のディストリビューションでは確認していません。
Bash
以下のコードを.bashrc
の最後に追記しましょう。
function _update_ps1() {
PS1="$(powerline-go -error $?)"
}
if [[ "${TERM}" != "linux" ]]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
Zsh
以下のコードを.zshrc
に追記しましょう。
if [[ ${TERM} != "linux" ]]; then
function powerline_precmd() {
PS1="$(powerline-go -error $? -shell zsh)"
}
function install_powerline_precmd() {
for s in "${precmd_functions[@]}"; do
if [ "$s" = "powerline_precmd" ]; then
return
fi
done
precmd_functions+=(powerline_precmd)
}
install_powerline_precmd
fi
ターミナルを設定する
フォントをインストールする
上のコードだけだとプロンプトが文字化けしてしまうかもしれません。
PowerLine系を使うには特殊なフォントを使う必要があります。
git clone https://aur.archlinux.org/nerd-fonts-source-code-pro.git
cd nerd-fonts-source-code-pro
makepkg -si
cd ..
rm -rf nerd-fonts-source-code-pro
上のコマンドでNerdフォントという開発者用フォントをインストールできます。
(powerline-go
同様、nerd-fonts-source-code-pro
をAURヘルパーでインストールすることもできます。)
フォントを設定する
ターミナルの設定からフォントをSauceCodePro Nerd Font Medium
に設定します。
これで正常にPowerLineが表示されるようになったはずです。
おまけ
せっかく特殊なフォントを導入したのでもう一つ便利なツールを紹介します。
タイトルにもある「LSD
」です。決して違法薬物ではなく、ls deluxe
の略です。
ls
コマンドを下見たいな良い感じにしてくれます。
lsd
はArchLinuxの公式リポジトリにあるので特に難しいことはしなくて大丈夫です。
sudo pacman -S --noconfirm lsd
あとはlsd
コマンドを実行すればいい感じの色とアイコンが付いてかっこよくなります。
コメント