時には、深くネストされたファイル階層(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を追加すると、次の内容が表示されます。
PATH
PATH=$PATH:~/fzf-fs
fzf-fs --init
alias vcd='. fzf-fs'
vcd ~
ディレクトリ選択を使用しEnter、ファジー検索を使用し、[q]
終了するには入力してください。
また見なさい:fzf-fsの使い方、fzf-fsはファイル名の改行をサポートしません。cd
!
答え2
答え3
DM
DOS時代の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を許可することです。