Written by
JackYamamoto概要: この投稿は、iBoysoftからのもので、Mac上のZshシェルにさまざまなタイプのエイリアスを追加する方法と例について説明しています。また、Zshで不要なエイリアスを削除する方法も述べています。
Zshを使用することには、さまざまな利点があります。 Zshエイリアスを作成することで、長いコマンドラインを簡略化し、ワークフローに合わせてコマンドラインをカスタマイズし、タイプミスやエラーの可能性を減らすことができ、コマンドラインの体験を大幅に向上させることができます。
Oh My Zshを使用している場合は、aliasコマンドを実行して、そのビルトインエイリアスを表示できます。 使用していない場合やOh My Zshにエイリアスを追加したい場合は、読み続けてください!
MacでZshにエイリアスを追加する方法は?
Zshのエイリアスは、ユーザーのホームディレクトリの中にある.zshrcファイルに保管されています。 ただし、Macにはデフォルトでユーザー固有のzshrcファイルはなく、自分で作成しない限り、システム全体の/etc/zshrcファイルのみがあります。
それにもかかわらず、Zshでエイリアスを作成するために次の手順を取ることができます。
ノート: Oh My Zshは、Zshの設定を管理するためのフレームワークで、Zshの上に構築されています。 ベースZsh環境で設定されたすべてのエイリアスと構成を継承します。 したがって、Zshで定義された任意のエイリアスはOh My Zshでも利用できます。
Zshには、単純/通常のエイリアス、サフィックスエイリアス、グローバルエイリアス、パラメータ化されたエイリアスの4つの主要なエイリアスがあります。 ここでは、Zshにエイリアスを追加する一般的なプロセスを説明します。
ヒント: コマンド名がすでに使用されているかどうか不明な場合は、コマンド:type command_nameを使用して確認するか、ターミナルでaliasを使用してすべてのエイリアスをリスト表示できます。
- ターミナルを開きます。
- 以下のコマンドを実行して、zshrcファイルを開きます。(zshrcファイルがない場合は、これを作成し、.zshrcと名付けてホームディレクトリに保存します。)nano ~/.zshrc
- Zshでエイリアスをカスタマイズします。alias flag alias_name='command'
- 複数のコマンドを定義する場合は、各エイリアスを1行で保持してください。
- 修正が完了したら、Ctrl + Oを押してEnterキーを押して変更内容を保存します。
- nanoを終了するには、Ctrl + Xを押します。
- 変更を現在のシェルセッションに適用します。そうしないと、エイリアスを使用する際に「zsh: コマンドが見つかりません」というエラーが発生する可能性があります。source ~/.zshrc
- ZshエイリアスをMacで自由に使用します。
異なる種類のZshエイリアスの一般的な構文を理解するのに役立つ詳細な例が以下に示されています。
警告: 何度試してもZshエイリアスが機能しないというユーザーもいます。これは通常、エイリアスの間違い(余分なスペースや閉じる引用符の不足など)によるものです。
Zshでのシンプルなエイリアス
シンプルなエイリアスはZshで最も一般的に使用されるエイリアスの種類です。フラグはなく、単純なコマンドの最初の単語でのみ展開されます。頻繁に使用するコマンドのショートカットを作成するために使用されます。
シンプルなエイリアスの例:
画面クリア:
alias cls='clear'
このエイリアスは、clsをclearに展開して、短いコマンドで端末の画面をクリアすることができます。
Gitステータス:
alias gs='git status'
このエイリアスはgsをgit statusに展開し、Gitリポジトリの状態を確認するコマンドを簡略化します。
ディスク使用量表示:
alias du='du -h'
このエイリアスはduをdu -hに展開し、人が読めるディスク使用量の要約を提供します。
インタラクティブファイル削除:
alias rm='rm -i'
このエイリアスはrmをrm -iに展開して、ファイルを削除する前に確認を促します。
Zshでのグローバルエイリアス
一方、グローバルエイリアスはalias -gコマンドを使用して定義されます。出現する行のどこでも展開されます。グローバルエイリアスは、コマンドの部分のショートカットを作成したり、コマンド内のさまざまな位置にテキストを挿入するために便利です。
グローバルエイリアスの例:
ディレクトリ一覧表示:
alias -g L='| less'
このエイリアスは、Lを| lessに展開し、コマンドの出力を簡単にスクロールして表示できるようにします。
パターンマッチング:
alias -g G='| grep'
このエイリアスは、Gを| grepに展開し、コマンドの出力で特定のパターンを素早く検索できるようにします。
ヘッド表示:
alias -g H='| head'
このエイリアスは、Hを| headに展開し、コマンドの出力の最初の数行を表示できるようにします。
大文字と小文字を区別しないLess:
alias -g L.='| less -i'
このエイリアスは、L.を| less -iに展開し、"less"コマンドで大文字と小文字を区別しない検索機能を提供します。
行数カウント:
alias -g C='| wc -l'
このエイリアスは、Cを| wc -lに展開し、コマンドの出力の行数をカウントできるようにします。
パラメータや引数を持つZshエイリアス
パラメータ付きエイリアス、または"引数を持つエイリアス"は、Zshシェルの機能であり、パラメータや引数を受け入れるエイリアスを作成できるようにします。これらのパラメータは、特定の入力に基づいてエイリアスの挙動をカスタマイズするためにエイリアス内で使用できます。以下は、パラメータ化されたエイリアスの5つの例です:
簡単なファイル検索:
alias -s g='grep -r'
このエイリアスを使用すると、検索語句をパラメータとして指定してファイル内の特定のパターンを検索できます。例: g 検索語句。
素早いディレクトリ変更:
alias -s cd.='cd ~/projects/'
このエイリアスを使用すると、ディレクトリ名をパラメータとして指定して素早く特定のディレクトリに変更できます。例: cd. プロジェクト名。
カスタマイズされたGrep:
alias -s mygrep='grep --color=auto'
このエイリアスを使用すると、追加オプションをパラメータとして指定してカスタマイズされたgrepコマンドを使用できます。例: mygrep -i 検索語句 file.txt。
ファイルの行数カウント:
alias -s countlines='wc -l'
このエイリアスを使用すると、ファイル名をパラメータとして指定してファイルの行数をカウントできます。例: countlines file.txt。
素早いGitコミット:
alias -s gc='git commit -m'
このエイリアスを使用すると、コミットメッセージをパラメータとして指定して素早く指定したメッセージでgitコミットを行うことができます。例: gc "コミットメッセージ"。
Zshのサフィックスエイリアス
サフィックスエイリアスは、Zshシェルの機能であり、特定の拡張子のファイルに対してエイリアスを定義できるようにします。特定の拡張子のファイルを使用するコマンドを実行すると、そのコマンドに自動的にそのエイリアスが適用されます。以下は、サフィックスエイリアスの5つの例です:
Markdownプレビュー:
alias -s md=typora
このエイリアスを使用すると、Typoraでプレビューするためにファイル名を入力するだけでMarkdownファイルを開くことができます。たとえば、次のように書いてください: example.md。
PDFの表示:
alias -s pdf=evince
このエイリアスを使用すると、ファイル名を入力するだけでEvinceでPDFファイルを表示できます。たとえば、次のように書いてください: document.pdf。
画像の表示:
alias -s jpg=feh
このエイリアスを使用すると、ファイル名を入力するだけでFehでJPEGファイルを表示できます。たとえば、次のように書いてください: photo.jpg。
テキストの編集:
alias -s txt=nano
このエイリアスを使用すると、ファイル名を入力するだけでNanoでテキストファイルを編集できます。たとえば、次のように書いてください: notes.txt。
Pythonスクリプトの実行:
alias -s py=python3
このエイリアスを使用すると、ファイル名を入力するだけでPython 3でPythonスクリプトを実行できます。たとえば、次のように書いてください: script.py。
この投稿を共有して、他の人がZshでエイリアスを設定するのに役立ててください。
MacでZshのエイリアスを削除する方法
場合によっては、エイリアスが期待通りに機能しないか、不要になることがあります。そのような場合は、Zshシェルで以下のコマンドを使用してエイリアスを削除できます:
unalias エイリアスの名前
たとえば、clearに展開されるclsというエイリアスを削除するには、次のコマンドを使用します: unalias cls。
このガイドが役立つ場合は、共有してください!