Função customizada como “edit” no Midnight Commander

1

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

O MC verifica se a variável EDITOR está configurada e, em seguida, a interpreta como um programa para edição, portanto, se eu fizer export EDITOR=vim , o MC usará o vim para abrir arquivos.

Eu tentei desenvolver isso:

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

Se eu fizer $EDITOR some_file , eu coloco 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 não parece manter nenhum registro e não recebo nenhuma mensagem de erro.

A (s) pergunta (s)

  • Você sabe o que estou fazendo errado?
  • Você tem uma solução útil para o que eu quero?
  • Devo criar uma solicitação de recurso / bug para o MC?
por butla 15.05.2015 / 11:12

1 resposta

0

Você está definindo uma função de 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 value como, por exemplo:

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

export EDITOR=~/myEditor.sh
    
por 19.05.2015 / 09:57