Bir dosyadan VIM'e komutlar nasıl gönderilir?


1

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.


2
Vim etkileşimli bir editördür, yani yapmaya çalıştığınız şey çalışmaz, komutları bu şekilde beklemez. Bir şeyi yapmak için yanlış aracı kullanıyor gibisiniz. Tam olarak neyi başarmak istiyorsun?
Teun Vink

Yanıtlar:


1

Bunu ile yapabilirsiniz -s komut satırı seçeneği:

vim -s cmd.txt 1.txt

Ancak, Teun Vink'in yorumu hala geçerli. Aslında ne yapmaya çalışıyorsun? Bu klasik gibi geliyor X-> Y sorunu .


Cevabım, eğer gerçekten Vim'i kullanmak istiyorsan, nasıl yapacağını gösterir, ama kullanmayı öğrenmen daha iyi olur sed bu tür işler için.
Heptite

Yeni bir komut buldum. Dosya içeriği i123<esc>:w ve ben tarafından koşuyorum :source!, 123<esc>:w sözlü olarak eklenir. Gösterir <esc> esc> / kbd> 'a çevrilmez tuşuna basın. Bu yazıyı yazmak için doğru yöntem nedir? anahtar?
Gqqnbig

Dosyaya doğrudan ham bir kaçış karakteri koymak zorunda kalacaksınız. Vim ile tuşuna basarak yapabilirsiniz. control-v sonra escape ekleme modundayken
Heptite

Teşekkürler, ve ben burada belgeleri buluyorum :help i_CTRL-V.
Gqqnbig
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.