2010-05-29 7 views
8

İşte senaryo: Ben regex istiyorum her türlü eklektik çöp ile dolu büyük bir dosya var. Ben etrafında keman ve / komutunu kullanarak ve ne vurguladığı görerek mükemmel bir arama kalıbı ile gelmek.Vim'de regex desenini yazarken arama kalıbı nasıl çağrılır?

Şimdi değiştirmek için bu deseni kullanmak istiyorum. Yani, :% s/ yazarak başlıyorum ve desen ne olduğunu hatırlayamıyorum. Son arama modelimi buraya çekecek sihirli bir klavye komutu var mı? Özellikle karmaşık bir regex yazıyorsam, yeni bir MacVim penceresi açtım, ilk pencereden regex'i orada bir tampona yazdım, sonra da yerine desenini yazarken Vim penceresine yazdım. Bunu yapmanın daha iyi bir yolu olmalı.

cevap

10

Soruyu yazdıktan sonra kendi yanıtımı buldum: Vim ipuçlarını substitute last search olarak listeler ve iki yoldan biriyle yapılabilir.

: boş arama kullanılarak

  1. % s // yerine g/ara tampon malzeme geri çağırmak için r'nin/Ctrl + basarak

  2. (/ - bu adı gösteren harf için /'u kullanarak başka bir adlandırılmış arabellek kullanabilirsiniz. ffer).

+2

Öz özümü için özür dilerim, millet. Aslında cevabı bulmakta zorlandım, bu yüzden de değdiğini hissettim. Meta, kendi sorularınızı cevaplamanın uygun olmadığını söylüyor - http://meta.stackexchange.com/questions/12513/should-i-not-answer-my-own-questions –

+1

Eğer birden fazla kullanmanız gerekiyorsa arcane regex, eklektik çöpünüzü atlatmak için, değişkenleri aşağıdaki gibi tutmak yararlı olabilir: ': let b: tires_sifter = @ /' bir tür çöp için ve ': b: pope_on_a_ropes_sifter = @ /' sonradan Bu varlığın, pek çoğunun asla sahip olamayacağı durumları nasıl konumlandıracağını anladım. Onları '@ /' a atayarak, onları kullanmak için bir 'exec' satırı oluşturarak veya 'search()' (IIRC .. belki 'matchadd') işlevini kullanarak onları dışarı çekin. – intuited

4

Mevcut arama deseni olan bir / kayıt yoktur, bu nedenle <CTRL-R>/

1

Başka bir seçenek ile yazmakta ne olursa olsun içine (ekleme modunda veya komut satırında ya) Arama deseni ekleyebilirsiniz : deseni <CTRL-R>/ ile girdikten sonra, komut satırını <CTRL-F> ile düzenleyin.

: help cmdwin

İlgili konular