Sto usando vi
su Ubuntu 12.10. Alcuni file sono piuttosto lunghi, quindi quando voglio andare al centro del file, devo scorrere la pagina verso il basso o scorrere verso il basso.
Esiste una scorciatoia VIM per andare a un numero di riga esatto?
Sto usando vi
su Ubuntu 12.10. Alcuni file sono piuttosto lunghi, quindi quando voglio andare al centro del file, devo scorrere la pagina verso il basso o scorrere verso il basso.
Esiste una scorciatoia VIM per andare a un numero di riga esatto?
Risposte:
:150
ti porterà alla riga 150 in vi
:1500
ti porterà alla riga 1500 in vi
Secondo i commenti potresti provare
150G
per arrivare alla linea 150. che è meno battute di tasto, quindi :150Enter se non sei sicuro di quale linea ti trovi, prova
:set nu!
notare il:
se vuoi vedere sempre la riga, considera la possibilità di modificare il tuo profilo vim. Più spesso
vi ~/.vimrc
e aggiungi
:set nu!
e scrivi e smetti
:wq
#or you could use :x
questo può essere fatto al di fuori di vi. Ad esempio, se desidero eliminare la riga 5000 in un file di testo, potrei utilizzare un linguaggio di scripting. Ad esempio, utilizzando sed sarebbe il seguente
sed -i '5000d;' inputFile.txt
per cancellare le righe dalla 10 alla 20 sarebbe
sed -i '10,20d;' inputFile.txt
notare che -i modificherà il file in posizione. Senza -i andrà allo stdout. Provalo. puoi reindirizzare lo stdout a un file
sed '5001,$d;' inputFile.txt >> appenedFile.txt
questo potrebbe avere molto da fare qui per te. ciò elimina la riga 5001 in $. Con $ alla fine del file. >> verrà aggiunto a un file. dove come> crea un nuovo file.
se sei curioso di sapere quante righe ci sono in un file potresti voler digitare wc -l inputFile.txt
alcune di queste possono sembrare terribilmente banali, ma se stai provando a modificare un file con 50.000 righe potrebbe volerci un bel minuto per aprirlo e attraversarlo. dove se sai di voler cancellare l'ultima riga puoi usare sed e farlo in una frazione del tempo.
sed può anche cercare e sostituire all'interno di un file. Ma forse anche awk, perl o python potrebbero essere una soluzione praticabile.
ma nel complesso, potresti voler trovare un buon tutorial su vi. esistono migliaia. Consulterei google. Forse ti ritroverai un VIM Cheatsheat.
150G
fa lo stesso di :150
. Non è più veloce ma può essere più facile da ricordare.
<CR>
conto.
Altri suggerimenti per vim: in modalità comando
prenditi qualche minuto e inizia a leggere questo documento. Ti ricompensa a lungo termine per l'efficienza nella modifica, in particolare nel file di configurazione.
Da un terminale aperto, in una shell bash, modifica semplicemente il tuo file eseguendo:
$ vi +N yourfile
Dov'è N
il numero di riga.
Per la visualizzazione ( more
o less
;):
$ less +N yourfile
$ more +N yourfile
Il segno +
indica il comando da eseguire all'inizio . Quindi, se il comando è solo un numero, quindi vi
, less
e more
, salterà a questo come numero di riga .
Ma puoi anche usare /regex
per trovare la prima occorrenza di una stringa o di una regex specifica:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...
Un altro consiglio: dato che sei nuovo a vim, correre vimtutor
può essere molto utile.