Bu içeriği cmd.txt
:
:w 2.txt
:q
Komut satırında yapıyorum
D:\>vim 1.txt<cmd.txt
Cmd.txt dosyasının giriş akışı (klavyem yerine) olmasını beklerim ve vim, 1.txt dosyasını 2.txt olarak kaydeder ve sonra çıkar.
Ancak işe yaramıyor. Vim, girişin bir terminalden olmadığını ve donma olmadığını söylüyor.
Harici dosyadan komut göndermek istiyorum. Bu nasıl yapılır?
Güncelleştirme:
Yapmak istediğim, çok fazla örüntü değiştirmek. Bir takımın adı şehre atıfta bulunulan NBA tarihi hakkında konuşan bir dosyam var ve onu "soyadına" değiştirmek istiyorum.
Bir şekilde yerine koyma komutlarını (30 kural / satır) oluşturdum:
:%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
.....
Bu komutları çalıştırmak için vim için dosyayı girmek istiyorum. Thses komutlarını manuel olarak yazmak istemiyorum.
Kuralları başka bir şekilde oluşturabilir ve başka bir programa girebilirim, hatta yerine geçmesi için basit bir program yazabilirim. Ancak son zamanlarda öğrendiğim Vim, Powershell veya Total Commander'da yapılabileceklerini takdir edeceğim.