2012-10-20 7 views

risposta

2

ho capito, lasciando ad esempio nel caso in cui qualcuno cerca questo in futuro:

Se voglio abbinare colonna "n", ho solo bisogno di corrispondere nulla di colonna "n-1" e quindi fai i miei criteri per la colonna n. La seguente espressione trova tutte le linee che hanno la colonna 35 non uguale allo spazio.

^.\{34}[^ ] 
+0

La ricerca di espressioni regolari con vim è come ... cool. – jahroy

9

È possibile utilizzare questo modello:

\%78c\S 
  • \%78c partite posizione in column78 (In realtà, la colonna è il numero di byte in tal modo non è esattamente a destra per i caratteri multi-byte). Utilizzare \%78v per abbinare la colonna virtuale.
  • \S partite non-spazio
+0

Non ho mai visto una necessità in '\% {numero} c' tranne per alcuni pattern generati (dove viene generato' {numero} '). Colonna qui significa "byte offset from newline" e a meno che il tuo testo non sia ASCII o in qualche codifica a 8 bit non ti interessa l'offset dei byte. – ZyX

+0

Sembra che l'unico plugin che sto usando '\% {numero} c' è quello che sta generando tavolozza dei colori dove so per certo che l'offset di byte, la colonna virtuale e il conteggio dei caratteri hanno lo stesso valore (tutti i caratteri - spazi). – ZyX

+0

Come faccio a combinare questi, ad esempio, la colonna 78 è un non-spazio, e la colonna 80 è la lettera 'a'. Questo non sembra funzionare: \% 78c \ S \% 80ca –

3

Credo che tu non hai bisogno che cosa @ Kev o si suggeriscono: mentre si trova correttamente 78'th carattere (con il carattere + segni diacritici conteggio per uno) e @ Kev trova correttamente 78 't byte sembra che tu stia risolvendo qualcosa come "testo oltre 78 bordo della colonna". Se la mia ipotesi circa il vostro compito è vero allora si dovrebbe utilizzare

\%78v\S 

(\%{number}v partite colonna virtuale (schermo)). In caso contrario, meglio usare la risposta, non ho mai visto la necessità di utilizzare \%{number}c tranne che in alcuni modelli generati.

Problemi correlati