
El problema
Estoy usando tmux y quiero que MC abra archivos para editarlos en otra ventana de tmux, para poder seguir explorando archivos mientras los edito.
lo que he probado
MC verifica si la variable EDITOR está configurada y luego la interpreta como un programa para editar, por lo que si lo hago, export EDITOR=vim
MC usará vim para abrir archivos.
Intenté basarme en eso:
function foo () { tmux new-window "vim $1"; }
export EDITOR=foo
Si lo hago $EDITOR some_file
, abro el archivo en vim en otra ventana tmux, exactamente lo que quería.
Lamentablemente, cuando intento editar en MC, se queda en blanco por un segundo y luego vuelve a la ventana normal de MC. MC no parece mantener ningún registro y no recibo ningún mensaje de error.
Las preguntas)
- ¿Sabes lo que estoy haciendo mal?
- ¿Tiene una solución útil para lo que quiero?
- ¿Debo crear una solicitud/error de función para MC?
Respuesta1
Está definiendo una función de shell, que se desconoce mc
cuando intenta iniciar el editor.
La forma correcta es crear un script bash, no una función. Luego establezca EDITOR
un valor, por ejemplo:
$ cat ~/myEditor.sh
#!/bin/sh
tmux new-window "vim $1"
export EDITOR=~/myEditor.sh
Respuesta2
Ya puedes explorar archivos mientras los editas. El editor interno de MC es un cuadro de diálogo no modelo. Simplemente presione Alt-Shift-[
(y Alt-Shift-[
) para cambiar entre los cuadros de diálogo (uno de los cuales es el explorador de archivos).