Domanda

Sto facendo una scorciatoia che pone un # nella parte anteriore di ogni riga, nel prossimo x linee. x è un tipo di numero che prima di entrare nel collegamento, come battitura 11dd elimina i successivi undici linee.

Il comando è .,+10 s/^/#/g. Qui il numero dieci in realtà dovrebbe essere tutto ciò che è stato digitato prima del collegamento. Come faccio a fare il cambiamento di scelta rapida in base al numero che è stato digitato prima?

Aggiunto dopo domanda ha risposto:

Così ora ho il seguente nella .vimrc:

nmap c1 :s/^/#/g<esc>``
nmap c0 :s/^#//g<esc>``

Il che mi permette di digitare 13ac, aggiungere # nella parte anteriore dei prossimi 13 linee, e 13dc per eliminare qualsiasi # nella parte anteriore dei prossimi 13 linee.

E 'meglio di =pod e =cut perché causa errori quando nidificate.
c1 = commento aggiuntivo,
C0 = Elimina commento.
# Viene utilizzato in Perl.

È stato utile?

Soluzione

Nella schermata ex, è possibile utilizzare il seguente comando:

s/^/#/count

dove count è il numero di linee che si desidera modificare. Non si può mettere il numero prima del comando, perché questo consente di selezionare la linea di partenza (linea corrente se omesso). Così:

5s/^/#/3

aggiungerà un '#' prima di linee 5, 6 e 7.

Modifica

Nella schermata ex è possibile utilizzare il comando map per creare un collegamento a un comando del colon, che è quindi possibile utilizzare con un prefisso:

map CC :s/^/#/g

Ora si può usare 'XCC' in modalità vi di anteporre '#' per le prossime righe x.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top