Voglio trovare tutte le righe in cui la colonna 78 (il 78 ° carattere sulla riga) non è uno spazio.Vim: cerca le linee con (o senza) carattere a uno specifico offset dall'inizio di una riga
Idealmente, mi piacerebbe usarlo come una normale ricerca.
Voglio trovare tutte le righe in cui la colonna 78 (il 78 ° carattere sulla riga) non è uno spazio.Vim: cerca le linee con (o senza) carattere a uno specifico offset dall'inizio di una riga
Idealmente, mi piacerebbe usarlo come una normale ricerca.
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}[^ ]
La ricerca di espressioni regolari con vim è come ... cool. – jahroy
È 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-spazioNon 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
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
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 –
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.
La 78a colonna non è la stessa cosa del 78 ° carattere di una riga. In vim, la colonna è una funzione, per i principianti, della larghezza della tabulazione. –