Selezione visiva dal cursore alla riga vuota successiva?


11

Come si seleziona dalla riga corrente alla riga vuota successiva?

Sono a conoscenza di SHIFT+ Vma poi devo saltare alla riga vuota successiva o premere il tasto giù un sacco di volte. So farlo bene quando c'è un personaggio corrispondente come un }ma non ho idea di come farlo per una linea vuota.

Risposte:


19

Vim comprende il concetto di "paragrafo". La definizione di Vim di un paragrafo è un blocco di testo circondato da righe vuote * . Ci sono diversi movimenti e oggetti di testo per lavorare con questo.

  • [count]}- Sposta i [count]paragrafi in avanti. È possibile utilizzare <S-v>}per selezionare tutte le righe dalla riga corrente alla riga vuota successiva. Ciò includerà la riga vuota, quindi potresti voler usare <S-v>}k.
  • [count]ip- Seleziona i [count]paragrafi. È come iw(parola interiore) tranne, beh, i paragrafi. Usando vipselezionerà tutto il paragrafo, invece che dalla riga corrente alla fine del paragrafo.
  • [count]ap- Mi piace ip, tranne per il fatto che includerà le righe vuote che circondano il paragrafo.

Un avvertimento qui è che Vim non considera una linea con solo spazi bianchi come una "linea vuota". Quindi assicurati di controllare questo (ad es. Con :set list) se non sembra funzionare.


Ricorda inoltre che puoi sempre cercare il motivo che desideri. È possibile ottenere una riga vuota con /^$; oppure se non si desidera selezionare la riga vuota stessa, è possibile utilizzare \n\nper posizionare il cursore alla fine della riga prima della prima riga vuota:

  • <S-v>/^$<CR>
  • <S-v>/\n\n<CR>

* Ci sono alcune eccezioni, vedi :help paragraphper la logica completa. Ma per la maggior parte degli scopi questa definizione funziona bene.


12

Una scorciatoia per la prossima riga vuota è }. Quindi potresti voler usare SHIFT+v}


1

Basta premere Shift + }per passare alla riga vuota successiva senza alcuna selezione di testo.

Con Sift + v + }, vim seleziona il testo dalla posizione corrente del cursore alla riga vuota successiva e devi premere ESCper uscire dalla modalità di selezione


Perché Shift + }? Un semplice }fa la mossa. Vedi altre risposte
Ralf,

@Ralf Sift + }per invocare / inserire la parentesi graffa a }meno che la tastiera non supporti direttamente l'inserimento }senza premereShift
Junaid
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.