
O problema
Estou usando o tmux e quero que o MC abra arquivos para edição em outra janela do tmux, para que eu possa continuar navegando nos arquivos durante a edição.
O que eu tentei
MC verifica se a variável EDITOR está definida e então a interpreta como um programa para edição, então se eu fizer export EDITOR=vim
isso, MC usará o vim para abrir arquivos.
Eu tentei construir sobre isso:
function foo () { tmux new-window "vim $1"; }
export EDITOR=foo
Se eu fizer $EDITOR some_file
isso, abrirei o arquivo no vim em outras janelas do tmux - exatamente o que eu queria.
Infelizmente, quando tento editar no MC, ele fica em branco por um segundo e depois retorna à janela normal do MC. O MC parece não manter nenhum registro e não recebo nenhuma mensagem de erro.
As questões)
- Você sabe o que estou fazendo de errado?
- Você tem uma solução alternativa utilizável para o que eu quero?
- Devo criar uma solicitação/bug de recurso para MC?
Responder1
Você está definindo uma função shell, que é desconhecida para mc
quando está tentando iniciar o editor.
A maneira correta é criar um script bash, não uma função. Em seguida, defina EDITOR
um valor para ele, por exemplo:
$ cat ~/myEditor.sh
#!/bin/sh
tmux new-window "vim $1"
export EDITOR=~/myEditor.sh
Responder2
Você já pode navegar pelos arquivos durante a edição. O editor interno do MC é uma caixa de diálogo sem janela restrita. Basta pressionar Alt-Shift-[
(e Alt-Shift-[
) para alternar entre as caixas de diálogo (uma das quais é o navegador de arquivos).