1. HOME
  2. »
  3. プログラミング・Web
  4. »
  5. ターミナル
  6. »
  7. .zshrc で zsh をカスタマイズしてみよう。(プラグイン無し)

.zshrc で zsh をカスタマイズしてみよう。(プラグイン無し)

昔、車に幽霊が乗っていたので、じっと目を凝らして見ていたら、ただの人だったことがあります。@It_is_Rです。
あの時は気まずかった。。。女性の方でした。

さて、今回はターミナルをかっこよくするシリーズ、第二弾です。

この記事は、前回からのつづきとなっております。
前回の記事はこちらです。
zsh のインストール方法と、うまく起動しない時の対処法。

目次
  1. 補完機能について
  2. 入力をミスった時に、似たコマンドを表示
  3. プロンプトの変更
  4. 直前に入力したコマンドと同じ場合、履歴に残さない
  5. まとめ

補完機能について

まず、補完機能について見てみましょう。

なんでもいいので、アルファベットのキーを押してみてください。
私はyを押してみました。そのままtabを押します。
すると次のように、入力候補が表示されます。
zsh

そのままtabを連打することで、選ぶことができます。

……不便ですね。

選択中の候補を塗りつぶす

ではまず、選択中の候補を塗りつぶしてみましょう。
こうすることで、今どれを選んでいるのか、視覚的に分かりやすくなります。

まず、 .zshrc を開きます。

$ vim ~/.zshrc

では .zshrc に以下を入力しましょう。

autoload -Uz compinit
compinit

zstyle ':completion:*' menu select

その後、以下のコマンドを実行します。

$ source ~/.zshrc

すると、このように選択中の候補を塗りつぶすことができます。
zsh

入力をミスった時に、似たコマンドを表示

入力をミスった時に、それに似たコマンドを表示してくれる機能もあります。

.zshrc に以下を入力します。

setopt correct

忘れずに、以下のコマンドを実行しておきます。

$ source ~/.zshrc

以下は clear と入力したいのを、 cleat と入力してしまった場合の画像です。
“zsh: correct ‘cleat’ to ‘clear’ [nyae]?” と訊かれます。
cleat を clear に直していいですか? って意味です。

yは、「はい」。つまり clear が実行されます。
nは、「いいえ」です。つまり cleat が実行されます。
aは、実行せずに中止します。
eは、コマンドを変更することができます。

zsh

プロンプトの変更

プロンプトを変更することもできます。

基本的なこと

基本はこのようにします。
.zshrc に以下を入力します。

PROMPT='コマンドを入力してください。%% '

%% と入力することで % と表示されます。

くどいようですが、こちらも実行します。

$ source ~/.zshrc

zsh

では、もう少し詳しく見ていきましょう。
以下のように設定することも可能です。 ” の中は、好きなように変更してください。
.zshrc に以下を入力します。

PROMPT='左側に表示%% '
PROMPT2='複数行の場合%% '
RPROMPT='右側に表示されます。'

こちらも実行します。

$ source ~/.zshrc

zsh

特殊文字を使う

特殊文字を使うことも可能です。

%D 年-月-日 の形で、日付を表示
%T 時刻を24時間形式で表示
%t 時刻を12時間形式で表示
%* 時刻を24時間形式(秒単位)で表示
%w 曜日、日にちを表示
%W 月/日/年 の形で、日付を表示
%M ホスト名
%m ホスト名
%n ユーザー名

例えば、 .zshrc に以下を入力します。

PROMPT='%D %m %n%% '

こちらも実行します。

$ source ~/.zshrc

zsh

直前に入力したコマンドと同じ場合、履歴に残さない

履歴については、で選択することができます。
しかし、続けて同じコマンドを入力したとき、「あれ? 選択できない!?」ってなります。

要するに、同じコマンドが連続で記録されてしまってるわけです。

そこで、以下も .zshrc に追加しておきましょう。

setopt HIST_IGNORE_DUPS

こちらも実行します。

$ source ~/.zshrc

まとめ

では、最後に今回設定した .zshrc ファイルを見てみましょう。

#補完機能を有効にする
autoload -Uz compinit
compinit

#補完のリストの、選択している部分を塗りつぶす
zstyle ':completion:*' menu select

#入力ミスに対応する。
setopt correct

#直前のコマンドと同じなら、履歴に残さない
setopt HIST_IGNORE_DUPS

#プロンプトの文字列を変更
PROMPT='%m %n%% '
#複数行の時
PROMPT2='%% '
#右側に表示する文字列
RPROMPT='%*'

では、また次回に続きます。

この企画の一覧はこちら

  1. zsh のインストール方法と、うまく起動しない時の対処法。
  2. .zshrc で zsh をカスタマイズしてみよう。(プラグイン無し)
  3. zplug を使ってプラグインをインストール、管理する。
  4. enhancd で cd コマンドを超便利に! インストールと使い方。

スポンサードリンク

関連コンテンツ

オススメ記事

enchant.js100行未満!!本格シューティングゲーム作り方。

昨日歩き回ったせいで、足がかなり痛い@It_is_Rです。 さて、今回はenchant.jsのネタです。enchant.jsを使うと、javascriptのプログラムがものすごく簡単に書けてしま

【Gitの使い方 – その2】GitをMacにインストールする方法!

いらないファイルは残っているのに、欲しいファイルに限って見つからない@It_is_Rです。 Gitの使い方、第2回目の今回はGitをMacにインストールする方法を紹介します。

java

Javaのクラスとメソッドの違いとは?ゲーム風に解説。

この頃小説を読んでいなく、何か読みたいなと思っている@It_is_Rです。 Javaを勉強し始めたばかりの人は、何やら難しい単語に混乱する人も多いでしょう。その中で、クラスとメソッドって一体何が

WordMove | 運用中の WordPress 環境をローカルと FTP で同期

道が覚えられない、@It_is_Rです。 人生さえ彷徨い続けてここにいます。 さて、運用中の WordPress サイトの環境を、ローカル開発環境と同期したい時、 WordMove を使うとと

【初心者向け】webpack 4入門。一番簡単で詳しい使い方

風邪をひいてぼんやりしている@It_is_Rです。どちらにしろいつもぼんやりしてますが。 さて、今回はWebpack4について紹介していきたいと思います。 この記事では、jsファイルをビルドす

java

Eclipseによる、Javaでじゃんけんゲームプログラムの作り方

※追記(2018/8/29) より分かりやすい記事になるよう修正しました。 今回はJavaを使って、じゃんけんゲームを作る方法を紹介します。 eclipseがインストールされ

FC2 blog customize

FC2ブログ ”最強” カスタマイズ入門講座。文字の大きさを設定する。

こんにちわ。美しいものほど濁って見える@It_is_Rです。 今回もFC2ブログの"最強"カスタマイズを始めていこうと思います。 今回は文字の大きさや色など、ブログ内の文字の設定をしていきます

メインループを作ってみよう!

小学生からのJavaScript入門。ゲームのメインループを作ってみよう!

小学生からのJavaScript入門講座(にゅうもんこうざ)、第7弾です。 突然(とつぜん)ですが、ゲーム開発(かいはつ)の基本として大切なことってなんだったか覚えていますか? そうです。「変

WordPress|特定カテゴリーに属する記事を一覧表示させる方法!!

今まで、何度かに分けて書いた記事でも、その一覧がなかったので見にくいなーと思っていた@It_is_Rです。 昨日、記事の一覧表示をするショートコードを作って、記事の一覧が欲しい記事にだけ貼り付けてみ

【Android Studio】じゃんけんゲームの作り方(アプリ開発の基本)

限りなくじゃんけんが弱い@It_is_Rです。 Androidアプリ開発、11回目となりました。 そろそろ何かアプリを作ってみたいですよね。基本は大事ですが、一番つまらないですね。 そこ

コメントをどうぞ!

メールアドレスが公開されることはありません。