私はArch Linux(4.13.11)を使用しており、以下を使用し.bashrc
てファイルを検索するカスタム機能があります。富士次に、デフォルトエディタを使用してファイルを開きます。
# Search a file with fzf inside a Tmux pane and then open the file in an editor
fzf_then_open_in_editor() {
local file=$(fzf-tmux)
# Open the file if it exists
if [ -n "$file" ]; then
# Use the default editor if it's defined, otherwise Vim
${EDITOR:-vim} "$file"
fi
}
.inputrc
シェルでVimと同様のキーバインディングを使用するように設定しました。
set editing-mode vi
可能であれば、コマンドモードでCtrl+を押して関数oを呼び出すことができますfzf_then_open_in_editor
。
頑張った
set keymap vi-command
"\C-o": fzf_then_open_in_editor
しかし、それはうまくいきませんでした。
で.inputrc
定義された関数のキーバインディングをどのように生成しますか.bashrc
?
ベストアンサー1
このフォームはkey: function
readline組み込み関数のみを受け入れます。ご存知のように、テキストを入力するには、引用符で囲む必要があるいわゆるマクロが必要ですkey: "my macro\r"
。通常、コマンドプロンプトですでに挿入モードになっているため、挿入コマンドで開始する理由を理解できません。
関数を呼び出すには、オプションと一緒にシェルコマンドバインディングを使用します-x
。このバインディングをに入れる方法はありませんが、~/.inputrc
次のものを入れることができます.bashrc
。
bind -x '"\C-o": fzf_then_open_in_editor'