Midnight Commander の「編集」としてのカスタム機能

Midnight Commander の「編集」としてのカスタム機能

問題

私は tmux を使用しており、編集中にファイルを参照し続けることができるように、MC で別の tmux ウィンドウで編集用のファイルを開くようにしたいと考えています。

私が試したこと

MC は EDITOR 変数が設定されているかどうかを確認し、それを編集用のプログラムとして解釈します。そのため、設定されている場合は、export EDITOR=vimMC は vim を使用してファイルを開きます。

私はそれを基にして次のことを試みました:

function foo () { tmux new-window "vim $1"; }
export EDITOR=foo

そうすると$EDITOR some_file、別の tmux ウィンドウの vim でファイルが開かれます。まさに私が望んでいたことです。

残念なことに、MC で編集しようとすると、一瞬空白になり、その後通常の MC ウィンドウに戻ります。MC はログを保存していないようで、エラー メッセージも表示されません。

質問)

  • 私が何を間違っているか知っていますか?
  • 私が望んでいることに対して、使える回避策はありますか?
  • MC の機能リクエスト/バグを作成する必要がありますか?

答え1

mcエディターを起動しようとしているときに不明なシェル関数を定義しています。

正しい方法は、関数ではなく bash スクリプトを作成することです。次に、EDITORそれに値を設定します。例:

$ cat ~/myEditor.sh
#!/bin/sh
tmux new-window "vim $1"

export EDITOR=~/myEditor.sh

答え2

編集中にファイルを参照することはすでに可能です。MC の内部エディターはモードレス ダイアログ ボックスです。Alt-Shift-[(およびAlt-Shift-[) を押すだけで、ダイアログ (そのうちの 1 つはファイル ブラウザー) を切り替えることができます。

関連情報