web-dev-qa-db-ja.com

(Bashで)1つのディレクトリを上に移動するためのキーバインディング

Zshには、1つのディレクトリを上に移動するためのキーバインディングがあります(非常に便利です)。

# C-M-u: up-directory
up-directory() {
    builtin cd .. && zle reset-Prompt
}
zle -N up-directory
bindkey '\e\C-u' up-directory

それは非常にうれしいです。とても素敵なので、Bashの設定でも取得したいと思います。

どうすればそれができますか?

PS-転送元 https://stackoverflow.com/questions/61076286/key-binding-to-go-up-by- one-directory-in-bash

2
user3341592

出来るよ。 zshほどエレガントでも単純でもありませんが、bindを使用してbashで実行できます。
組み込みのReadline関数(bind -lでリストされている)だけでなく、他のマクロやシェル関数もバインドできます。

bind -m emacs -x '"\C-u":"cd .."'は、シェルコマンド(cd ..)をキー(Ctrl+u)emacsモード(デフォルトモード)。

プロンプトはおそらく変更を反映しないことに注意してください。
-xを省略すると、代わりに文字列が入力されるため、"cd ..\n"でも同じ結果が得られます。

2
micke