1

Эта проблема

Я использую tmux и хочу, чтобы MC открывал файлы для редактирования в другом окне tmux, чтобы я мог продолжать просматривать файлы во время редактирования.

Что я пробовал

MC проверяет, установлена ли переменная EDITOR, а затем интерпретирует ее как программу для редактирования, поэтому, если я export EDITOR=vim MC будет использовать vim для открытия файлов.

Я пытался опираться на это:

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

Если я делаю $EDITOR some_file то я открываю файл в vim в других окнах tmux - именно то, что я хотел.

К сожалению, когда я пытаюсь редактировать в MC, он на секунду пропадает, а затем возвращается в обычное окно MC. MC, кажется, не ведет никаких журналов, и я не получаю никаких сообщений об ошибках.

Вопросы)

  • Вы знаете, что я делаю не так?
  • У вас есть подходящее решение для того, чего я хочу?
  • Должен ли я создать запрос функции / ошибку для MC?

1 ответ1

0

Вы определяете функцию оболочки, которая неизвестна для mc когда он пытается запустить редактор.

Правильный способ - создать скрипт bash, а не функцию. Затем установите для него значение EDITOR , например:

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

export EDITOR=~/myEditor.sh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .