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 .
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.
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 .
Tags command-line vim