Como usar o Massren com o Vim?

1

Eu quero usar massren renamer no vim para renomear arquivos dentro do editor de texto.

Primeiro, eu usei este comando dentro do Vim para definir o Vim como editor padrão para o massren

:! c:\tools\massren_renamer\massren.exe --config editor "C:\Progra~2\Vim\vim74\gvim.exe --remote-silent-tab"

Então eu tentei alterar vários arquivos de texto com este comando dentro do Vim:

:%! c:\tools\massren_renamer\massren.exe d:\t*.txt

mas a lista de arquivos não é aberta no Vim. O que eu fiz de errado?

    
por Reman 02.06.2014 / 16:30

1 resposta

2

Disclaimer: Eu não sei / uso a ferramenta, mas gostaria de destacar alguns problemas gerais.

Primeiro, não torne isso excessivamente complexo ao solucionar problemas. Quando a ferramenta massren não inicia o Vim como editor, você deve solucionar problemas a partir da linha de comando, não invocando a ferramenta dentro do Vim.

Em segundo lugar, essa ferramenta (como qualquer ferramenta) precisa saber quando você terminar de editar a lista de arquivos. Geralmente isso é feito com o lançamento do editor no modo de bloqueio , e apenas esperando até que o editor seja fechado (isso é mais fácil de implementar). No entanto, o GVIM não funciona assim, retorna imediatamente ("garfos"), enganando a ferramenta. Com --remote-silent-tab , isso pode até mesmo reutilizar um processo GVIM existente e não gerar um novo.

Portanto, elimine o --remote-silent-tab e substitua-o por -f :

-f GUI: Do not disconnect from the program that started Vim. 'f' stands for "foreground". If omitted, the GUI forks a new process and exits the current one. "-f" should be used when gvim is started by a program that will wait for the edit session to finish (e.g., mail or readnews). If you want gvim never to fork, include 'f' in 'guioptions' in your |gvimrc|.

Se isso ainda não fizer com que o massim lance o Vim, verifique como massren lida com o lançamento do editor; ele pode não suportar argumentos (apenas um filespec de processo completo), que você então precisa solucionar com um wrapper de lote e configurá-lo para massren.

    
por 02.06.2014 / 17:39