2012-10-20 13 views
5

Sütun 78'in (çizgi üzerinde 78'inci karakter) boşluk olmadığı tüm satırları bulmak istiyorum.Vim - bir satırın başlangıcından belirli bir ofset ile karakterleri (veya karaktersiz) çizgileri arayın

İdeal olarak, normal bir arama gibi kullanmak isterim. Ben sütun "n" eşleştirmek istiyorsanız

, sadece "n-1" ve sütunun şey eşleşmesi gerekir:

+0

78'inci sütun, bir satırdaki 78'inci karakterle aynı şey değildir. Vim'de sütun, yeni başlayanlar için sekme genişliğinizin bir işlevidir. –

cevap

2

Birisi gelecekte bu çalışırsa diye bir örnek olarak bırakarak bunu anladım sonra sütun için kriterlerimi yap. Aşağıdaki ifade, boşluk 35'e eşit olmayan sütun 35 içeren tüm satırları bulur.

^.\{34}[^ ] 
+0

Vim ile regex aranması gibi ... cool. – jahroy

9

Bu desen kullanabilirsiniz: column78 de

\%78c\S 
  • \%78c maçlar pozisyon (Aslında, kolon Baytlı karakterler için tam olarak doğru değil böylece bayt sayısıdır). Sanal sütuna eşleşmek için \%78v kullanın.
  • \S olmayan boşluğunu maçları
+0

Bazı oluşturulan kalıplar ('{sayı}' nın üretildiği yer) haricinde, '\% {number} c' cinsinden bir ihtiyaç duyulmadı. Buradaki sütun “yeni satırdan byte ofset” anlamına gelir ve metniniz ASCII değilse veya 8 bit kodlamada bayt ofsetini önemsemezsiniz. – ZyX

+0

Kullanmakta olduğum tek eklenti, '\% {number} c', bayt ofsetinin, sanal sütunun ve karakter sayısının aynı değere (tüm karakterler - boşluklar) sahip olduğundan emin olduğumu bildiğim renk tablosu oluşturuyor. – ZyX

+0

Bunları nasıl birleştiririm örneğin, sütun 78 boşluk değil ve sütun 80 'a'. Bu işe yaramıyor: \% 78c \ S \% 80ca –

3

Sana @kev veya önermek değil gerek sanırım: doğru (karakteri + biri için sayma aksan ile) 78'th karakteri bulurken ve @kev doğru bulur 78'teki byte “78 sütun sınırının ötesindeki metin” gibi bir şeyi çözdüğünüze benziyor. Görevinizdeki hakkında benim varsayım doğruysa, o zaman

\%78v\S 

( \%{number}v eşleşmeleri sanal (ekran) sütun) kullanmalıdır. Değilse, cevabınızı daha iyi kullanabilmeniz için, oluşturulan bazı modellerde \%{number}c'u kullanma gereği duymadım.

İlgili konular