マッピング (ctrl-m など) があり、状況によっては (たとえば、複数のバッファーが開いている場合)、vim を従わせたいと考えています。それ以外の場合は、vim に無視してもらいます。これは、比較的簡単に関数にエンコードできます。
次の制約は、キー コマンドを無視することにした場合、囲んでいるアプリケーションでそれを処理する必要があるということです。たとえば、ctrl-m は、囲んでいる tmux セッションにカスケードアウトします。
そのようなことは可能ですか?
キーストロークがVimによって受信されて消費されると、tmuxの観点からはキーストロークはなくなります。Vim関数は、受信したキーがtmuxでアクションを実行する必要があることを認識した場合、これをtmuxに何らかの方法で伝達する必要があります(ただし、既存のインスタンスに接続する方法でtmuxを呼び出すことではなく、キーストロークを発行することによってではなく、のようにvim --remove-send
;私はtmuxについてほとんど知りませんが、tmuxと統合し、そのようなことをする可能性のあるVimプラグインがあります)。
一般に、アプリケーション間でこのようなキーの過負荷を回避し、代わりに個別のキーの組み合わせを選択します。