インタラクティブCD(カタログブラウザ)

インタラクティブCD(カタログブラウザ)

時には、深くネストされたファイル階層(Javaコードなど)で作業しているときに、あるリーフから別のリーフに移動するのが面倒になることがあります。私の一般的なCDは次のとおりです

$ cd ../../..
# Oops, not enough
$ cd ..
# one more
$ cd ..

ファイルを編集したい場合は、vim dir対話的に目的のファイルを開くことができます。
対話型ディレクトリの変更を許可するユーティリティはありますか?探検家/司令官(mc、、vifm)はそのような任務を遂行するには重すぎる。

インターネットを検索しましたが、私のキーワードに関連するアイテムが返されないようです。

明確にするために追加されました:

vcd私はCDの場所を探して選択するための対話型ディレクトリツリーを提供するユーティリティ(と呼びます)を探しています。
ユーザーの観点からvim .見ると、vcd最終的に実行されると仮定しますvim $filename。私は同様の機能(ディレクトリブラウザ)が欲しいです。CWD最後に、インタラクティブに選択したディレクトリに変更するだけです。これが私の意図をより明確にすることを願っています。

答え1

努力するFZF-FS

インストールする富士:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

リソースの再割り当て~/.bashrc:. ~/.bashrc

クローンfzf-fs:git clone https://github.com/D630/fzf-fs ~/fzf-fs

:Runに~/fzf-fsエイリアスを定義する:Runを追加すると、次の内容が表示されます。 PATHPATH=$PATH:~/fzf-fs
fzf-fs --init
alias vcd='. fzf-fs'
vcd ~
ここに画像の説明を入力してください。

ディレクトリ選択を使用しEnter、ファジー検索を使用し、[q]終了するには入力してください。

また見なさい:fzf-fsの使い方fzf-fsはファイル名の改行をサポートしません。cd

答え2

あなたの説明に合ったツールがわかりませんが、以下の小さなユーティリティのいくつかが役に立ちますか?

pushdそしてpopdここで説明ナビゲーション中に生産性を向上させるその他のツール

ファシスト党員- POSIXシェル用のファイルとディレクトリへのクイックアクセスを提供します。

自動ジャンプcd- 学べる方

- 上記の変形

V-zウィムの場合

答え3

DMDOS時代のPCマガジンみたいですね…似たようなLinux用プログラムは分からないけど気に入っていますxdディレクトリの検索に使用される関数は、次のように定義されます。

xd() {
    cd "$(/usr/bin/xd "$@")"
}

たとえば、次のように入力できます。

xd /ulb

/u*/l*/b*/usr/lib/binfmt.d、...)に一致するすべてのディレクトリの/usr/local/binリストを印刷し、1つを選択して変更するように要求します。

答え4

あなたはそれを使用することができますファイルマネージャはインタラクティブにディレクトリを参照して選択します。

終了時に選択したディレクトリに変更するように設定できます(Ctrl + Gを押すか、常に押す)。

シェルのmisc / quitcdで適切なファイルを選択し、内容をシェルのrcファイルに追加します。変更を適用するには、新しいシェルを作成する必要があります。 nnn(または優先関数名/別名)で始める必要があります。

デフォルトでは、^ Gを押すと、nnnは最後の作業ディレクトリを

${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd

CDを使用するときに常に終了するには、環境変数NNN_TMPFILEを目的のファイルパスに設定します。

終了時にCDの追加キー^ Gは、nnnが終了するたびにファイルを書き込むのを防ぎ、終了時にオンデマンドCDを許可することです。

1

関連情報