Función personalizada como "editar" en Midnight Commander

Función personalizada como "editar" en Midnight Commander

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=vimMC 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 mccuando intenta iniciar el editor.

La forma correcta es crear un script bash, no una función. Luego establezca EDITORun 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).

información relacionada