シェルからディレクトリに素早くジャンプ

シェルからディレクトリに素早くジャンプ

vimやemacsなどのテキストエディタには、ace jump、avyなどのプラグインがあり、文字を押すと、一時的なキーバインドでその文字のすべてのインスタンスが強調表示され、キーバインドを押すと直接その文字にジャンプできます。

シェル (例: bash) で、ディレクトリを経由せずに特定のディレクトリにすばやく移動できるような機能があるかcdどうか疑問に思います。ディレクトリを特定の深さまで一覧表示し、入力文字を待機し、キー シーケンスで文字のインスタンスを強調表示し、cdシーケンスが押されたときにそのシーケンスに入るような機能があるでしょうか。

そのようなものがまだ存在しない場合、それを作成するのはどれくらい簡単でしょうか?

答え1

fzfそれを行います。これは、あいまい補完/ファイル選択ヘルパーです。その基本的な用途は、大きなリスト (例: find . -type f | fzf > selected) からファイルを選択することです。

インストールしてシェルにロードしたら、 を押してAltCウィンドウを開き、あいまいな文字列を入力してディレクトリを検索できます。 1 つを選択して Enter キーを押すと、fzf はcdそのディレクトリに移動します。

同じようにファイル名を自動補完するには、 を押しますCtrlT。履歴を検索するには、 を押しますCtrlR

答え2

おそらくあなたが望むものではないかもしれませんが、試してみる価値はあると思いますWCDディレクトリのリストを格納する「データベース」(単一のテキストファイル)を構築します。このwcd fooコマンドは、ディレクトリのリストを表示しfoo、その中から 1 つを選択できます。

もう一つの同様の選択肢はオートジャンプ

答え3

さまざまなシェルとシェル拡張がサポートされています部分パスの自動補完そしてそのうちの1つ

例えば、cd /v/l/fsck Tabパスを に変換します/var/log/fsck/cd /u/s/appl Tabパスを に展開します。/usr/share/applications/

その他の代替案:

参照

関連情報