Como enviar comandos de um arquivo para o VIM?

1

Este é o conteúdo de cmd.txt :

:w 2.txt
:q

Na linha de comando, eu faço

D:\>vim 1.txt<cmd.txt

Eu espero cmd.txt como fluxo de entrada (em vez do meu teclado) e o vim salvará 1.txt como 2.txt e depois sairá.

No entanto, não funciona. O Vim diz que a entrada não é de um terminal e congelada.

Eu quero enviar comandos de um arquivo externo. Como fazer isso?

Atualização:

O que eu quero fazer é substituir muitos padrões. Eu tenho um arquivo que fala sobre a história da NBA, onde o nome de uma equipe é referido à cidade e eu quero mudá-lo para o "sobrenome".

De alguma forma, eu gero os comandos de substituição (30 regras / linhas):

:%s/\v<Boston>/Celtics/g
:%s/\v<Brooklyn>/Nets/g
:%s/\v<New York>/Knicks/g
:%s/\v<Philadelphia>/76ers/g
:%s/\v<Toronto>/Raptors/g
:%s/\v<Golden St>/Warriors/g
:%s/\v<LA Clippers>/Clippers/g
:%s/\v<LA Lakers>/Lakers/g
:%s/\v<Phoenix>/Suns/g
:%s/\v<Sacramento>/Kings/g
:%s/\v<Chicago>/Bulls/g
:%s/\v<Cleveland>/Cavaliers/g
:%s/\v<Detroit>/Pistons/g
:%s/\v<Indiana>/Pacers/g
:%s/\v<Milwaukee>/Bucks/g
.....

Eu quero inserir o arquivo no vim para executar esses comandos. Eu não quero digitar esses comandos manualmente.

Eu posso gerar as regras de outra maneira e inseri-las em outro programa, ou até mesmo escrever um programa simples para fazer a substituição. Mas eu apreciarei se isso puder ser feito em Vim, Powershell ou Comandantes Totais que estou aprendendo recentemente.

    
por Gqqnbig 25.07.2014 / 23:56

1 resposta

1

Você pode fazer isso com a opção de linha de comando -s :

vim -s cmd.txt 1.txt

No entanto, o comentário de Teun Vink ainda é válido. O que realmente você está tentando fazer? Isso soa como o clássico problema X- > Y .

    
por 26.07.2014 / 00:35