So generalmente spostarmi nella modalità di comando, in particolare, saltare alle linee, ecc. Ma qual è il comando per saltare alla fine della linea in cui mi trovo attualmente?
vimtutorè fantastico. Probabilmente non lo sapevano?
So generalmente spostarmi nella modalità di comando, in particolare, saltare alle linee, ecc. Ma qual è il comando per saltare alla fine della linea in cui mi trovo attualmente?
vimtutorè fantastico. Probabilmente non lo sapevano?
Risposte:
Solo il tasto $ (simbolo del dollaro) . È possibile utilizzare Aper spostarsi alla fine della riga e passare alla modalità di modifica (Aggiungi). Per saltare l'ultimo carattere non vuoto, è possibile premere gquindi i _tasti.
L'opposto di Aè I(modalità Inserisci all'inizio della riga), a parte. Premendo solo il ^cursore posizionerà il primo carattere non vuoto della riga.
g_
g_variazione in quanto non include caratteri vuoti
Come molte persone hanno detto:
ma anche:
|comando pipe può contare, ad esempio 3 | per saltare alla terza colonna.
g _ va all'ultimo carattere non bianco.
g $ va alla fine della linea dello schermo (quando una linea di buffer viene spostata su più linee dello schermo)
bva all'inizio della parola precedente che non è affatto la stessa cosa. È approssimativamente equivalente a $ge.
_e g_per visual / yanking, così come $copierò / eliminerò il nuovo carattere di linea (LN).
g_è l'unico modo che ho trovato per arrivare alla fine effettiva della linea.
$arriva alla fine della linea anche se avvolto per me. Non conosco alcuna impostazione per regolarne il comportamento. Forse è stato rimappato dal tuo .vimrc g$?
La domanda principale: fine della linea
$ va alla fine della riga, rimane in modalità comando
A va alla fine della riga, passa alla modalità di inserimento
Viceversa - inizio della riga (tecnicamente il primo carattere non bianco )
^ va all'inizio della riga, rimane in modalità comando
I (i maiuscola) va all'inizio della riga, passa alla modalità di inserimento
Inoltre - inizio della linea (tecnicamente la prima colonna indipendentemente dallo spazio )
0 (zero) va all'inizio della riga, rimane in modalità comando
0i (zero seguito da i minuscoli) passa all'inizio della riga, passa alla modalità di inserimento
Per coloro che iniziano a imparare vi, ecco una buona introduzione a vi elencando i comandi vi affiancati al tipico movimento del cursore dell'editor della GUI di Windows e ai tasti di scelta rapida.
Inon è 0ma ^, come entrambi Ie ^va al primo carattere non bianco della riga ma 0va alla colonna zero (come suggerisce il nome).
0sarebbe l'analogo di ? (vai al primo carattere (= colonna 0) della riga e vai alla modalità di inserimento)
0i. :-)
Se la riga corrente si avvolge attorno allo schermo visibile sulla riga successiva, puoi usare g $ per arrivare alla fine della riga dello schermo .
gwe gqsono comandi che riformattano il testo. (vedi :h gwe :h gq) Quello che probabilmente è successo è stato che hai fatto gw{motion}e modificato del testo in modo che le linee dello schermo corrispondessero alle linee effettive.
Il simbolo del dollaro: $
In molti casi, quando siamo all'interno di una stringa, siamo racchiusi tra virgolette doppie o quando scriviamo un'istruzione non vogliamo premere Esc e andare alla fine di quella riga con il tasto freccia e premere il punto e virgola ( ;) solo per terminare la linea. Scrivi la seguente riga nel tuo file vimrc :
imap <C-l> <Esc>$a
Cosa dice la linea? Associa Ctrl + l a una serie di comandi. Equivale a premere contemporaneamente Esc(modalità di comando), $(fine riga), a(aggiungi).
vimti permette sicuramente di fare molto di più in molto meno tempo con cose come questa. @razorxpress, sarebbe una regolazione minore imap <C-l> <Esc>A, che rende Ctrl + l l'equivalente della pressione Esc(esci dalla modalità di inserimento), quindi A(aggiungi alla fine della riga).
inoremap <C-l> <C-o>A
Il vantaggio del tasto 'Fine' è che funziona sia in modalità normale che in modalità inserimento.
'$' funziona solo in modalità normale / comando ma funziona anche nel classico editor vi (utile sapere quando vim non è disponibile).
Nota anche la distinzione tra linea (o forse linea fisica) e linea dello schermo . Una riga termina con il carattere Fine linea ("\ n"). Una linea di schermo è qualsiasi cosa accada che viene mostrata come una fila di caratteri nel tuo terminale o nella tua schermata. I due si separano se si hanno linee fisiche più lunghe della larghezza dello schermo, il che è molto comune quando si scrivono e-mail e simili.
La distinzione compare anche nei comandi di fine riga.
Se preferisci sempre quest'ultimo comportamento, puoi rimappare i tasti in questo modo:
:noremap 0 g0
:noremap $ g$
g_è l'ultimo non-spazio bianco della linea fisica . Che ne dici della linea dello schermo?
Oppure c'è la risposta ovvia: usa il Endtasto per andare alla fine della riga.
Non riesco a vedere il tasto di scelta rapida per macbook per l'uso di vim nel terminale standard. Spero che possa aiutare qualcuno. Per utenti macOS (testato su macbook pro 2018):
fn+ ← - passa alla riga iniziale
fn+ → - passa alla fine
fn+ ↑ - sposta la pagina in alto
fn+ ↓ - sposta la pagina verso il basso
fn+ g - sposta il cursore all'inizio del documento
fn+ shift + g - sposta il cursore alla fine del documento
Per gli ultimi due comandi a volte è necessario toccare due volte.
Ero abituato a Home / End portandomi all'inizio e alla fine delle linee in modalità Inserisci (dall'uso in Windows e penso che Linux), che Mac non supporta. Questo è particolarmente fastidioso perché quando sto usando VIM su un sistema remoto, non riesco nemmeno a farlo facilmente. Dopo alcuni tentativi dolorosi, ho trovato queste .vimrclinee che fanno la stessa cosa, ma sono associate a Ctrl-A per l'inizio della linea e Ctrl-D per la fine della linea. (Per qualche motivo, credo che Ctrl-E sia riservato o almeno non riesco a trovare un modo per legarlo.) Divertiti.
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
C'è un buon grafico qui per i codici dei caratteri di controllo ASCII anche qui per gli altri:
http://www.physics.udel.edu/~watson/scen103/ascii.html
Puoi anche fare Ctrl-V + Ctrl-, ma questo non si incolla anche in posti come questo.