in vim quando il mio cursore si trova sulla prima riga posso premere:In vim, come posso eliminare tutte le righe in un file tranne le ultime 100 righe?
100dd
per eliminare le prime 100 righe.
Ma come faccio a cancellare tutti i linee tranne gli ultimi 100 linee?
semplice ed elegante. Mi piace! – technomalogical
Questo non funziona se il buffer ha meno di 100 righe. Cancellerà erroneamente tutte le linee perché la parte '100k' non avrà alcun effetto. –
@DonCruickshank Sbagliato, se ci sono meno di 100 righe, '100k' andrà alla prima riga e' dgg' cancellerà quella singola linea. '' K' viene ripetuto per '100' volte, quindi anche se ci sono solo 5 righe, esso" sbatterà "la parte superiore del buffer e quindi si fermerà. Non esegue un controllo preliminare prima di eseguire tutte le azioni. Detto questo, sì, cancellerà erroneamente 1 riga se nel buffer ci sono 100 o meno righe. Ma IMO, questo è un uso più idiomatico di vim rispetto all'altra risposta altamente upvoted: è una "frase" di comandi multipli, piuttosto che uno solo più criptico. – Izkata