sh:PWDをインタラクティブに編集するコマンドはありますか?

sh:PWDをインタラクティブに編集するコマンドはありますか?

ユーザーが現在のディレクトリを編集してから値を編集できるようにするreadlinecurrentで始まる呼び出しまたは類似のコマンドを探しています。例えば$PWDcd

> cd ~/a/b/c/d
> pwd
> /home/alice/a/b/c/d

次に、提案されたicdコマンド(「interactive cd」、 imv次からインスピレーションを得た)を実行します。ツール名の変更)。ユーザーに次のメッセージを表示します。

> icd
icd> /home/alice/a/b/c/d

その後、ユーザーはAlt-b、Alt-b、Alt-tを押すことができ、結果は次のようになります。

icd> /home/alice/a/c/b/d

(Alt-t転置b合計c

Enterキーを押した後、このicdコマンドは現在のディレクトリを/home/alice/a/c/b/d

理想的にはicdオートコンプリート機能があります。現在の値が既存/有効なディレクトリかどうかを視覚的に表示する機能もあります。

これはzshで次のように入力することでほぼ達成できます。

> cd `pwd`

次に Tab キーを押します。ただし、このようなコマンドはicdキーストロークを保存します。

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

ベストアンサー1

bashあなたをサポートする他のシェルの場合、readlineこれを使用できます

icd() { local a; read -ei "${1:-$PWD}" -p "$FUNCNAME> " a && cd "$a"; }

使用法

icd          # Starts editing with $PWD
icd /root    # Starts editing with /root

おすすめ記事