ZSH の最も有名な機能の 1 つは、外部フレームワーク、プラグイン、テーマなどを使用した機能のカスタマイズ性と拡張性です。
ZSH をカスタマイズおよび構成する最も基本的な方法は、ZSH 構成ファイルを使用することです。このファイルは通常、「.zshrc」という名前でホーム ディレクトリにあります。
したがって、ZSH プロファイルの基本的な機能を学習することは、ZSH 端末の構成方法を学習する上で非常に重要です。 Oh My ZSH、Antigen などの外部フレームワークを使用しているかどうかにかかわらず、ZSH 構成ファイルを編集および構成する方法を知っておく必要があります。
このチュートリアルでは、ZSH プロファイルについて説明します。これは、構成構文、サポートされている機能に役立ち、端末エクスペリエンスを向上させる方法に関するいくつかのヒントやコツも提供します。
ZSHのインストール
Unix エコシステムのすべてのパッケージやツールと同様に、それらがシステムにインストールされていることを確認する必要があります。
Linux システムでは、Debian システムの場合は APT、Fedora の場合は DNF と Yum、Arch の場合は Pacman などのデフォルトのパッケージ マネージャーを使用して ZSH をインストールできます。
$ 須藤 apt-get インストール zshmacOS を使用している場合、ZSH はデフォルトのシェル (バージョンに応じて) であり、すぐに利用できます。ただし、何らかの理由でインストールしていない場合は、次のように Homebrew を使用してインストールできます。
$ 醸造する インストール zsh
完了したら、ZSH を起動時のデフォルトのシェル インタープリターになるように設定できます。これを行うには、次のコマンドを実行します。
$ シュシュ -s $ ( どれの zsh )これにより、デフォルトのシェルが ZSH に変更されるはずです。
ZSH プロファイルを理解する
前述したように、ZSH を設定する方法は「.zshrc」ファイルを使用することです。これが何なのか、またどのように機能するのかをさらに詳しく見てみましょう。
.Zshrc とは何ですか?
「.zshrc」は、Z-shell run control の略です。これは、ホーム ディレクトリ (~/.zshrc) にある隠しファイル (先頭にある) です。
ZSH は、新しいシェル セッションを開始するたびに、このファイルに定義されているすべてのコマンドを読み取り、実行します。これには、新しいターミナル ウィンドウや新しいタブを開くこと、または ZSH 内でスクリプトを実行することが含まれます。
「.zshrc」ファイルの主な用途は次のとおりです。
- PATHの構成、環境変数の定義、およびその他の設定
- コマンドのショートカットを作成し、複雑なタスクや繰り返しのタスク用の機能を定義する
- シェルプロンプトの外観を変更する
- シェルオプションの設定とコマンド完了動作の構成
「.zshrc」ファイルの構文は、基本的に ZSH スクリプト言語です。 ZSH は Bash に非常に似ていますが、いくつかの機能強化と構文の変更があります。詳細については、Bash から ZSH への切り替えに関するチュートリアルをご覧ください。
ZSH プロファイルのカスタマイズ
シェル プロファイルを使用する際の最初の最も一般的なタスクは、シェル プロンプトをカスタマイズすることです。これは、エスケープ シーケンスと特殊変数を使用して行うことができます。
次のコード例を見てください。
PS1 = '%n@%m %~ %(!.#.$) 'この場合、PS1 変数はプロンプトのカスタマイズを処理します。以下に、各特殊変数が何を表すかを示します。
- %n – ユーザー名
- %m – ホスト名
- %~ – 現在のディレクトリ
- %(!.#.$) – root ユーザー (#) と非 root ユーザー ($) で異なるプロンプト文字
変数の設定
ZSH で変数を設定するには、変数名、等号、変数の値を使用します。構文は次のとおりです。
VARIABLE_NAME = '価値'その後、スクリプト全体で以前に定義した変数を参照できるようになります。
変数のエクスポート
変数をエクスポートして、現在のセッション中またはシェルがロードされるたびにサブプロセスで使用できるようにすることもできます。
例は次のとおりです。
輸出 パス = '/usr/local/bin: $パス 」別名
ZSH のもう 1 つの非常に便利な機能はエイリアスです。エイリアスは基本的に、最も頻繁に使用する長いコマンドのショートカットです。
ZSH では、次の構文に示すようにエイリアスを定義できます。
エイリアス エイリアス = 'コマンド形式'たとえば、「ls –lah」コマンドのより短いコマンドを作成するとします。次のようにエイリアスを作成できます。
エイリアス ll = 「ls -lah」機能
次に知っておく必要があるのは関数です。関数を使用すると、単一のエンティティとして呼び出すことができる再利用可能なコード ブロックを定義できます。
ZSH で関数を定義する構文は次のとおりです。
関数 関数名 {# ロジック
}
たとえば、curl リクエストを行って天気情報を取得する関数が必要だとします。コマンド全体を入力する代わりに、次のようにそれを実行する単純な関数を定義できます。
関数 天気 ( ) {カールwttr.in
}
天気情報を取得する必要がある場合は、その関数を呼び出すだけですべての作業が行われます。
キーバインド
キー バインディングを使用すると、特定の操作にマップされるキー シーケンスのセットを定義できます。たとえば、コマンド履歴を検索できるキー ショートカットを作成できます。
ZSHでは、「bindkey」コマンドを使用してキーバインドを定義します。次の例を見てみましょう。
バインドキー '^R' 履歴-増分検索-逆方向この例では、「CTRL + R」キー シーケンスをコマンド履歴検索機能にバインドします。
さらにカスタマイズするには、ZSH キー バインディングに関するチュートリアルを参照してください。
オートコンプリート
ZSH は強力な自動補完を提供します。これを有効にするには、次のエントリを構成に追加します。
自動ロード -に 組み合わせる組み合わせる
ヒントとコツ
以下は、ZSH で作業するときに知っておく必要があるいくつかの役立つヒントとテクニックです。
コマンド履歴
キーボード ショートカットを使用してコマンド履歴を移動します。
- Ctrl-R – 逆方向に検索
- Ctrl-S – 前方検索
- 上矢印 – 前のコマンド
- 下矢印 – 次のコマンド
再帰的グローブ探索
再帰的グローブを有効にするには、** を使用します。例えば:
エコー **/* 。TXTコマンド置換
コマンドの出力を別のコマンドに挿入するには、$(command) を使用します。
デバッグ
ZSH 起動時の問題をデバッグするには、「zsh –xv」を使用して「.zshrc」ファイルをデバッグします。
「zprof」コマンドを使用して、ZSH 構成の起動時間をプロファイリングすることもできます。
結論
このチュートリアルでは、ZSH プロファイルを扱う際に知っておくべきことすべてについて説明しました。また、ZSH エクスペリエンスを向上させるのに役立ついくつかのヒントとコツも提供しました。