将WSL的shell从Bash更改为Zsh
首先
由于更换了Windows电脑,我安装了WSL。我安装了全新的Ubuntu(22.04),以下是更改shell从bash到Zsh的步骤备忘录。
“什麼是Shell?”
Linuxにおけるシェルとは、Linuxの核となるカーネルへ要求を伝達するプログラムです。ユーザーとLinuxOSを繋ぐインターフェイスの役割を果たしています。
Shell: bash -> Zshへ
- WSL:OSリリース確認
$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
- 現在のシェルの確認
$ echo $SHELL
/bin/bash
- 現在設定できるシェルの確認
$ cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/screen
- シェルZshのインストール
$ sudo apt-get update
$ sudo apt-get install zsh
- バージョン確認
$ zsh --version
- シェルの変更
$ chsh -s /bin/zsh
- 新しいターミナルを立ち上げて、空の設定ファイルを作成する
$ touch ~/.zshrc
- 現在のシェルの確認
$ echo $SHELL
/bin/zsh
Zsh命令操作和设置
命令操作的基本示例
コマンド説明!!直前のコマンドを実行control + rHistoryのコマンド検索control + aカーソルを先頭control + kカーソルから行末まで削除control + eカーソルを行末へcontrol + bカーソルを1文字戻るcontrol + f カーソルを1文字進めるcontrol + dカーソル位置の文字を削除
設定舉例(主要集中在拼寫錯誤和歷史相關的領域)
$ vim ~/.zshrc
setopt auto_cd #一致するディレクトリに cdなしで移動できる
setopt correct #コマンドのスペルを修正(正しい可能性のある候補を表示)
setopt correct_all #コマンドラインの引数のスペルを修正
setopt hist_ignore_dups #直前と同じコマンドは履歴に追加しない
setopt share_history #他のzshで履歴を共有する
setopt inc_append_history #即座に履歴を保存する
$ source ~/.zshrc
历史设定
$ vim ~/.zshrc
export HISTFILE=~/.zsh_history
export HISTSIZE=10000
export SAVEHIST=10000
$ source ~/.zshrc にて反映
Oh My Zshのインストール
Oh My Zshは、Zsh構成を管理するためのオープンソースのコミュニティ主導のフレームワークです
- インストール
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- いままでの設定ファイルをバックアップから追記で戻す
$ cat ~/.zshrc.pre-oh-my-zsh >> ~/.zshrc
Oh My Zshプラグイン
①powerlevel10k
-
- FONTのインストール
-
- ターミナルのフォント設定の変更
- インストール(githubのOhmyzshのところを確認)
$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
- 設定ファイルのテーマを編集(Set ZSH_THEME=”powerlevel10k/powerlevel10k” in ~/.zshrc.)
②zsh-autosuggetion
- インストール(githubのOhmyzshのところを確認)
$ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
- 設定ファイル plugin に追記
③zsh-syntax-highlighting
- インストール(githubのOhmyzshのところを確認)
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
- 設定ファイル plugin に追記
おまけ:モダンなコマンド追加
①exaのインストール
lsの代替コマンドです。とてもカラフルでいい感じです。
- cargoのインストール
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- exaのインストール
$ cargo install exa
を実行すると、error: linker cc not found というエラーが発生する。
gccがないためなので、以下を実行しgccやmakeをインストールした後に、再度、exaのインストールを実行する
$ sudo apt install build-essential
$ gcc --version
以下のコマンドで、カラフルでアイコンまでついた表示となるので、エイリアス登録しておく。
$ exa -aal --icons
安装bat
catの代替コマンド
- batのインストール
$ sudo apt install bat
Githubに下記のように書いてあり、 batcat というコマンド名でインストールされるので、エイリアス登録 alias cat=”batcat” を行う。
重要提示:如果您以这种方式安装bat,请注意可执行文件可能被安装为batcat而不是bat(因为它与另一个软件包名称冲突)。
最終的にこんな感じ

まとめ
- Zshの設定やOh-My-Zshのプラグインはまだまだたくさんありますので、徐々にいれていきます。今回は初期設定と見た目を元に戻すことを実施しました。
参考URL