Zshのメニューベースの完成

Zshのメニューベースの完成

Powershellを使用するWindows端末の場合、非常に便利な機能を提供するPSReadlineプラグインがあります。たとえば、入力を開始すると、閲覧可能な履歴リストの表示が表示されます。したがって、入力すると、cd私が使用した最近の10個のコマンドのリストが表示され、cdそのリストを上下に移動して1つを選択できます。

PSReadlineスクリーンショット - スクロール可能な履歴

私の好きなもう1つの機能は、cdTabキーを入力してタップできるすべてのサブディレクトリのリストを表示できることです。また、上/下/左/右キーを押してこのリストからディレクトリを選択し、そのディレクトリに移動することもできます。

PSReadline - ディレクトリ選択スクリーンショット

WSL(Ubuntu)プロンプトに対して同様の操作を実行できますか?しかし、私はPowershellとWSLの両方でプロンプトとしてoh-my-poshを使用します。 oh-my-zshにはこのような機能があると思いますが、oh-my-poshのテーマを設定するのに多くの時間を費やすので、インストールしないことをお勧めします。テーマなしでoh-my-zshプラグインを使用する方法がなければ。

ベストアンサー1

UbuntuとほとんどのGNU / LinuxディストリビューションのデフォルトシェルであるBashは、これらの素晴らしい機能をほとんどサポートしていません。ただし、設定ファイルの一部を調整すると、より近い機能が得られます。 Zshは追加機能を備えた別のシェルです。 Bashにはメニューベースのインタラクティブな補完機能はありませんが、Zshにはあります。 ZshとBashの両方で履歴検索を実行する方法はいくつかあります。

UbuntuにZshをインストールするには、実行してsudo apt install zshからデフォルトのシェル変更を使用chshするかzsh、Bashで一度だけ実行してZshに切り替えることができます。デフォルトの構成ファイルを生成するには、Zshを一度実行する必要があります。 Bash と Zsh の設定ファイルは、それぞれホームフォルダ ~/.bashrc と ~/.zshrc にあります。構成ファイルを変更したら、シェル(ターミナル)を閉じて開く必要があります。個人的には、oh-my-zshは不要で遅いサードパーティ製のプラグインシステムなので、使用をお勧めしません。すべての操作は手動で実行できます。

さらに、Oh My PoshはZshを含むすべてのシェルで動作します。 Zshに切り替えるとあきらめる必要はありません。
これは公式文書です。 Zshの設定手順については、リストの「zsh」をクリックしてください。eval "$(oh-my-posh init zsh)".zshrcに追加する必要があります
。 BashですでにOh My Poshを使用している場合は、これがすべて必要な作業であり、同じテーマを使用する必要があります。

Zshのメニューベースの完成

これらはZshの基本的なオートコンプリートに必要で、おそらくすでに.zshrcにあります。

autoload -Uz compinit
compinit

compinit 安全でないディレクトリエラーが発生した場合は、セカンダリプライマリ .zshrc の作成を完了せずに compinit を有効にしていない可能性があります。compinit -Cまたはを実行してみてくださいcompaudit | xargs chmod g-wここ

これでデフォルトのオートコンプリート機能があるので、次の設定行を使用するとインタラクティブメニューが有効になります。

zstyle ':completion:*' menu yes select

上記の設定では、タブをクリックして矢印キーを使用してナビゲートできるインタラクティブメニューを取得できます。 Tabを1回押すと、カーソルの代わりに矢印キーがメニューを制御します。メニューに「入る」前にもう一度Tabキーを押すには、「はい」を削除します。

zstyle ':completion:*' menu select

履歴検索

Ctrl+R - ボックスから検索

吹く

<Ctrl>-R入力しながらコマンド履歴を検索します。

                     

おすすめ記事