Hoe ga ik naar het einde van de regel in Vim?

Ik weet hoe ik me over het algemeen moet verplaatsen in de opdrachtmodus, met name naar regels springen, enz. Maar wat is de opdracht om naar het einde van de regel te springen waar ik me momenteel op bevind?


Antwoord 1, autoriteit 100%

Alleen de $(dollarteken)-toets. U kunt Agebruiken om naar het einde van de regel te gaan en over te schakelen naar de bewerkingsmodus (Append). Om naar het laatste niet-lege teken te springen, drukt u op gen vervolgens op _toetsen.

Het tegenovergestelde van Ais I(Invoegmodus aan het begin van de regel), terzijde. Als u alleen op ^drukt, wordt uw cursor op het eerste niet-witruimteteken van de regel geplaatst.


Antwoord 2, autoriteit 14%

Zoals veel mensen hebben gezegd:

  • $brengt je naar het einde van de regel

maar ook:

  • ^of _brengt u bij het eerste niet-witruimteteken in de regel, en
  • 0(nul) brengt je naar het begin van de regel incl. witruimte

Antwoord 3, autoriteit 6%

  • $gaat naar het laatste teken op de regel.
  • g_gaat naar het laatste niet-spatieteken.

  • g$gaat naar het einde van de schermregel (wanneer een bufferregel over meerdere schermlijnen loopt)


Antwoord 4, autoriteit 3%

De belangrijkste vraag – einde regel

$gaat naar het einde van de regel, blijft in opdrachtmodus

Agaat naar het einde van de regel, schakelt over naar invoegmodus

Omgekeerd – begin van regel (technisch gezien het eerste niet-witruimteteken)

^gaat naar het begin van de regel, blijft in opdrachtmodus

I(hoofdletter i) gaat naar het begin van de regel, schakelt over naar invoegmodus

Verder – begin van regel (technisch gezien de eerste kolom ongeacht witruimte)

0(nul) gaat naar het begin van de regel, blijft in opdrachtmodus

0i(nul gevolgd door kleine letter i) gaat naar het begin van de regel, schakelt over naar invoegmodus

Voor degenen die vi beginnen te leren, hier is een goede introductie tot vi door naast elkaar vi-commando’s op te sommen voor typische Windows GUI Editor-cursorbewegingen en sneltoetsen.

vi-editor voor Windows-gebruikers


Antwoord 5, autoriteit 2%

Als uw huidige regel rond het zichtbare scherm loopt naar de volgende regel, kunt u g$gebruiken om naar het einde van de scherm-regel te gaan.


Antwoord 6

Ik zie geen sneltoets voor macbook voor gebruik vim in standaardterminal. Hoop dat het iemand zal helpen.
Voor macOS-gebruikers (getest op macbook pro 2018):

fn+ – ga naar de beginregel

fn+ – ga naar de eindregel

fn+ – pagina omhoog verplaatsen

fn+ – pagina omlaag verplaatsen

fn+ g – verplaats de cursor naar het begin van het document

fn+ shift + g – verplaats de cursor naar het einde van het document

Voor de laatste twee commando’s moet je soms twee keer tikken.


Antwoord 7

Het dollarteken: $


Antwoord 8

Druk op Aom aan het einde van de regel naar de bewerkingsmodus te gaan.


Antwoord 9

Het voordeel van de ‘End’-toets is dat deze zowel in de normale modus als in de invoegmodus werkt.

‘$’ werkt alleen in de normale/opdrachtmodus, maar het werkt ook in de klassieke vi-editor (goed om te weten wanneer vim niet beschikbaar is).


Antwoord 10

In veel gevallen, wanneer we ons in een string bevinden, worden we omsloten door een dubbel aanhalingsteken, of tijdens het schrijven van een instructie willen we niet op escape drukken en met de pijltjestoets naar het einde van die regel gaan en op de puntkomma(;) om de regel te beëindigen. Schrijf de volgende regel in uw vimrc-bestand:

imap <C-l> <Esc>$a

Wat zegt de regel? Het wijst Ctrl+l toe aan een reeks opdrachten. Het komt overeen met het tegelijk indrukken van Esc(opdrachtmodus), $(einde regel), a(toevoegen).


Antwoord 11

Let ook op het onderscheid tussen lijn(of misschien fysieke lijn) en schermlijn. Een regel wordt afgesloten met het End Of Line-teken (“\n”). Een schermregel is alles wat wordt weergegeven als één rij tekens in uw terminal of op uw scherm. De twee vallen uit elkaar als je fysieke lijnen hebt die langer zijn dan de schermbreedte, wat heel gebruikelijk is bij het schrijven van e-mails en dergelijke.

Het onderscheid komt ook naar voren in de commando’s aan het einde van de regel.

  • $en 0gaan respectievelijk naar het einde of het begin van de fysieke regel of alinea:
  • g$en g0gaan respectievelijk naar het einde of begin van de schermregel of alinea .

Als u altijd de voorkeur geeft aan het laatste gedrag, kunt u de toetsen als volgt opnieuw toewijzen:

:noremap 0 g0
:noremap $ g$

Antwoord 12

Of er is het voor de hand liggende antwoord: gebruik de End-toets om naar het einde van de regel te gaan.


Antwoord 13

Mogelijk niet gerelateerd, maar als je een nieuwe regel wilt beginnen na de huidige regel, kun je o overal in de regel gebruiken.


Antwoord 14

De gemakkelijkste optie is om $in te toetsen. Als je met tekstblokken werkt, zou je de opdracht {en }kunnen waarderen om respectievelijk een alinea vooruit en achteruit te gaan.


Antwoord 15

Ik was gewend aan Home/End om me naar het begin en einde van regels te brengen in de modus Invoegen (van gebruik in Windows en ik denk Linux), wat Mac niet ondersteunt. Dit is vooral vervelend, want als ik vim op een extern systeem gebruik, kan ik het ook niet gemakkelijk doen. Na wat pijnlijk vallen en opstaan, kwam ik op deze .vimrc-regels die hetzelfde doen, maar gebonden aan Ctrl-A voor het begin van de regel en Ctrl-D voor het einde van de regel . (Om de een of andere reden is Ctrl-E denk ik gereserveerd of ik kon tenminste geen manier bedenken om het te binden.) Veel plezier.

:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>

Er is hier ook een goede grafiek voor de ASCII-besturingstekencodes, hier ook voor anderen:

http://www.physics.udel.edu/~watson/ scen103/ascii.html

Je kunt ook Ctrl-V + Ctrl- gebruiken, maar dat plakt niet zo goed op plaatsen als deze.

Other episodes