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 コマンドを超便利に! インストールと使い方。

スポンサードリンク

関連コンテンツ

オススメ記事

マップ上をキャラが移動できるようにしよう!

小学生からのJavaScript。マップでキャラを動かせるようにしよう!

小学生からのプログラミング講座(こうざ)、第11弾です。 前回は、JavaScriptでのマップの作り方を紹介(しょうかい)しました。 しかし、まだマップを配置(はいち)しただけで、キャラクタ

【Gitの使い方 – その3】Gitで実際にバージョン管理してみよう!

お魚くわえた@It_is_Rです。 Gitの使い方第3回目の今回は、実際にGitを使ってバージョン管理をしてみようと思います。 [serif name="It is R"]りこ師匠

WordPress|ショートコードの作り方&使い方。確実に使いこなす為のガイド。

前回、WordPressで、特定のカテゴリ一覧を表示する方法について書きました。 改めまして、@It_is_Rです。 特定のカテゴリ一覧を表示したとき、ショートコードというものを使いましたが、

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

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

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

文字を表示するクラスを作ろう!

小学生からのJavaScript。文字を表示するクラスを作ってみよう!

小学生からのJavaScript講座です。 このシリーズでは、ゲームをつくりながらJavaScriptの使い方を学んでいきます。 シリーズの一覧はこちらをご覧ください。 さて、ゲーム作成で重

今月の残り日数を計算するべ!

小学生からのJavaScript入門。今月の残り日数を計算してみよう!

小学生からのJavaScript入門、第2弾です。 今回はJavaScriptでの演算(えんざん)の方法を学び、今月の残り日数を計算してみましょう。 演算というのは、足したり、引いたり、割った

wordpress

【WordPress】パンくずリストをプラグイン無しで自作する方法

※追記(2018/2/12) もっと高機能になるように、改良修正しました。 人生で3回ほど死にそうになったことがある@It_is_Rです。 WordPressのパンくずリストを作

【Bootstrap 4】記事一覧ページなどで使える「カード」の使い方

Bootstrap4の使い方、第7回目です。 トップページなどを見ると、記事の一部が抜粋された記事一覧が表示されているサイトをよく見かけます。 今回はそんな記事一覧ページを作るのに便利な「カー

enchant.jsのロード画面を、好きな画像に変更する方法。

今日は爆睡していました。@It_is_Rです。 enchant.jsのロード画面はカッコわるいなとずっと思っていました。「あ、これenchant.jsで作ったんだな」って思われてしまうじゃないで

【CSS設計】ボタンを作って覚える。機能ごとに分けて作る重要性。

手が回らない、頭が回らない、口が回らない。@It_is_Rです。 CSSはある程度大雑把に書いても動かすことができます。しかし、CSSを覚える上で一番難しい部分と言えばCSS設計でしょう。 パ

コメントをどうぞ!

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