横浜国立大学理工学部建築都市環境系学科卒
一級鉄筋技能士
この記事では、zsh(Z Shell)とsheldon(プラグインマネージャー)を使用して、より効率的でパワフルなシェル環境を設定する方法について解説します。
zshはその拡張性とカスタマイズ性で知られており、sheldonを使えば、これらのカスタマイズを簡単かつ効率的に管理できます。
目次
zshについて
zshはその拡張性とカスタマイズ性に優れているシェルです。
macやlinuxではデフォルトのシェルになっています。
.zshrcファイルの設定
.zshrcはzshの設定ファイルです。
.zshrcファイル内容は以下のように設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#システムがコマンドを探すパスに${HOME}/.local/binを追加 export PATH=${HOME}/.local/bin:$PATH if [ -z "$HISTFILE" ]; then HISTFILE=$HOME/.zsh_history fi HISTSIZE=10000 # メモリ上に保存される件数(検索できる件数) SAVEHIST=10000 # ファイルに保存される件数 # rootユーザーの履歴は残さない if [ $UID = 0 ]; then unset HISTFILE SAVEHIST=0 fi setopt append_history # zshを複数使用した時,履歴ファイルを上書きせず追加する setopt extended_history # 履歴ファイルにzshの開始・終了時刻を記録 setopt hist_expire_dups_first # 履歴を削除する必要がある時,重複したものから削除 setopt hist_ignore_all_dups # 重複するコマンドは古い方を削除 setopt hist_ignore_dups # ファイルに書き出す時,古いコマンドと同じなら無視 setopt hist_ignore_space # スペースで始まる場合は履歴に追加しない setopt hist_save_no_dups # 重複するコマンドが保存される時に古い方を削除する setopt hist_verify # 履歴を呼び出してから実行する間に一旦編集できる状態になる setopt inc_append_history # コマンド実行時に履歴をファイルに保存する setopt share_history # 履歴を複数端末で共有する eval "$(sheldon source)" eval "$(starship init zsh)" |
sheldon
sheldonは、zshのプラグイン管理ツールです。
初心者こそsheldonでプラグインを活用しよう
初心者こそ、シェルの可能性を広げる第一歩として『sheldon』でプラグインを活用しましょう。
『sheldon』は、zshのプラグイン管理を簡単にし、コマンドラインのカスタマイズを手軽に行えるツールです。
これを利用することで、初心者でも高度な設定や機能を追加でき、作業効率を格段に向上させることが可能になります。
例えば、何も設定していないシェルはこのように単調で、コマンドを打ち込むのも初心者にとっては一苦労ですが、
sheldonを活用すれば、コマンドの自動補完、履歴の管理、シンタックスハイライトなど、プログラミングや日常のタスクを効率化するための機能を簡単に追加できます。
plugin.tomlの設定ファイル
zshのプラグインは、plugin.tomlで管理します。
plugin.tomlの内容を以下のように設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# `sheldon` configuration file # ---------------------------- # # You can modify this file directly or you can use one of the following # `sheldon` commands which are provided to assist in editing the config file: # # - `sheldon add` to add a new plugin to the config file # - `sheldon edit` to open up the config file in the default editor # - `sheldon remove` to remove a plugin from the config file # # See the documentation for more https://github.com/rossmacarthur/sheldon#readme shell = "zsh" [plugins] # zsh-defer should be defined first, # since sheldon loads plugins in the order they are defined # https://sheldon.cli.rs/Examples.html#deferred-loading-of-plugins-in-zsh [plugins.zsh-defer] github = "romkatv/zsh-defer" #コマンドの補完 [plugins.zsh-completions] github = "zsh-users/zsh-completions" #サジェスト機能 [plugins.zsh-autosuggestions] github = "zsh-users/zsh-autosuggestions" use = ["{{ name }}.zsh"] # [plugins.zsh-autosuggestions.hooks] # # For using neodark in Alacritty # post = "ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=\"fg=white\"" #ハイライト [plugins.dracula-zsh-syntax-highlighting] github = "dracula/zsh-syntax-highlighting" # zsh-syntax-highlighting must be put the end of .zshrc # Refer to following FAQ # https://github.com/zsh-users/zsh-syntax-highlighting # https://github.com/sindresorhus/pure (About Ctrl+L) [plugins.zsh-syntax-highlighting] github = "zsh-users/zsh-syntax-highlighting" apply = ["defer"] [templates] defer = "{{ hooks?.pre | nl }}{% for file in files %}zsh-defer source \"{{ file }}\"\n{% endfor %}{{ hooks?.post | nl }}" |
まとめ
zshの強力な機能をフルに活用し、sheldonでプラグインを簡単に管理できるようになります。
sheldonを活用することで、初心者でもプロのようなシェル環境を構築できます。
linuxを使い始めた方はsheldonでプラグインを活用し、快適なコマンドラインライフを実現しましょう。