Seleziona il blocco di codice in vim


13

Dato un codice come questo:

588          while ($linecounter > 0) {
589             $token = " ";
590             while ($token != PHP_EOL) {
591                 if (fseek($handle, $pos, SEEK_END) == -1) {
592                     $beginning = true;
593                     break;
594                 }
595                 $token = fgetc($handle);
596                 $pos--;
597             }
598             $linecounter--;
599             if ($beginning) {
600                 rewind($handle);
601             }
602         }

Il cursore si trova sul carattere =nella riga 590.

Qual è il modo più efficiente per selezionare il blocco di codice:

  1. linee 590-597
  2. linee 591-596 (solo la parte interna)

Risposte:


20

Per fare il primo:

  • Premi $per andare alla fine della lineover{
  • Premere vo V(a seconda se si desidera selezionare le linee o meno)
  • Premere %(per saltare alla staffa corrispondente).

Per selezionare solo la parte interna, vai all'interno della parte interna e usa il i{modificatore direzionale.

Ad esempio, per eliminare tutto all'interno della corrente {…}di blocco, digitare: di{.


1
Wow, ho appena imparato a usare yi(, grazie :)
Takeshin l'

10
  1. $per saltare alla fine della linea in cui ti trovi (per essere sopra la parentesi graffa di apertura)
    vper iniziare una selezione ( Vper intere linee)
    %per saltare alla parentesi graffa corrispondente.

  2. jper scendere di una riga in modo che il cursore si trovi all'interno delle parentesi graffe che si sta tentando di selezionare
    vper iniziare una selezione ( Vper intere righe)
    i{selezionare tutto all'interno delle parentesi graffe


Il metodo 2 è probabilmente il metodo migliore qui, poiché il movimento $ nel metodo 1 funziona solo perché la parentesi graffa di apertura è alla fine della riga. Il metodo 2 funziona senza il movimento j se il cursore si trova in un punto qualsiasi delle parentesi graffe.
SpoonMeiser,

3

Per espandere leggermente la risposta di Caleb, vi{seleziona "dentro" il blocco di codice. Per includere l'esterno del blocco di codice, ovvero includendo le parentesi graffe, utilizzare va{.

Questo non includerà però la whilestrofa. Per fare ciò è possibile utilizzare oper spostare il cursore all'inizio della selezione, quindi 0per spostare la selezione all'inizio della riga.

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.