Use um wrapper de shell fino:
#!/bin/sh
exec /usr/local/bin/mvim -v "$@"
E armazene isso em algum lugar (em algum lugar em PATH
ou talvez em ~/libexec
ou qualquer outro) e defina esse wrapper como o valor EDITOR
.
Com o ZSH, pode-se forçar a expansão:
% EDITOR='echo -E'
% $EDITOR /etc/passwd
zsh: command not found: echo -E
% $=EDITOR /etc/passwd
/etc/passwd
%
Como detalhado em zshexpn(1)
:
${=spec}
Perform word splitting using the rules for SH_WORD_SPLIT during
Observe que o ZSH contradiz outras ocorrências sobre não fazendo SH_WORD_SPLIT
por padrão. O padrão POSIX, por sinal, é um poderoso rake que muitos usaram incorretamente e, assim, pisou e foi golpeado por:
% DERP="/var /nish"
% ls $DERP
ls: cannot access /var /nish: No such file or directory
% sudo bash
# DERP="/var /nish"
# rm -rf $DERP
...
No entanto, vários outros programas, possivelmente aqueles que não sabem como realizar a divisão da palavra shell, podem chamar EDITOR
. A opção mais portátil para EDITOR
é, portanto, algo que pode ser executado diretamente por uma chamada exec(3)
e, se necessário, esse script pode adicionar qualquer sinalizador para o editor real. Portanto, um invólucro fino e fino.