In Vim (effizient) vertikal bewegen


27

Wenn ich einen bestimmten Teil eines Wortes in Vim (horizontal) erreichen möchte, drücke ich einfach w, b, f oder t (etwas). Gibt es eine gute Möglichkeit, dies vertikal zu tun? Zum Beispiel möchte ich zu einem bestimmten Wort oder Buchstaben einer Zeile gelangen, die unter oder über der Zeile liegt, in der ich mich gerade befinde.

PS: Ohne zu benutzen: (Zeilennummer)

Antworten:


29

H, Mund Lbewegen den Cursor zum oberen, mittleren bzw. unteren Bildschirmrand. Anschließend können Sie zzden Bildschirm auf die Zeile zentrieren, auf der sich der Cursor befindet.


5
Und zb und zt bewegen Bildschirm unten und oben
Jani Hartikainen

11
  • Sie können den Aufwärts- / Abwärtspfeil verwenden, um eine Zeile zu verschieben
  • Sie können eine Zahl eingeben und dann mit dem Aufwärts- / Abwärtspfeil so viele Zeilen nach oben / unten bewegen
  • kleine gSprünge zur ersten Zeile des Dokuments
  • Groß- und GKleinschreibung springt zur letzten Zeile des Dokuments
  • etc.

Es gibt eine Unmenge anderer Möglichkeiten, vim ist in dieser Hinsicht sehr flexibel. Ich würde empfehlen, zuerst ein vim-Spickzettel für grundlegende Befehle zu erhalten und dann, wenn Sie Zeit haben, die vim-Dokumentation zu diesem Thema durchzuarbeiten.

Link zu einem Spickzettel: Spickzettel

Ebenfalls:

  • /+ string + (Enter)sucht nach dem nächsten Vorkommen von string vom Cursor bis zum Ende des Dokuments
  • ? - macht dasselbe, aber vom Cursor zurück zum Anfang des Dokuments


6

Ich springe herum, indem ich nach einzigartigen Saiten suche, zu denen ich gehen möchte. In Vim können Sie dies tun mit:

/Suchbegriff

Normalerweise scrolle ich mit n und N vorwärts und rückwärts, sobald ich eine Suche eingegeben habe.

Ich scrolle auch mit Strg-F und Strg-B, um schnell durch den Code zu blättern. Aber ich benutze den Suchtrick am häufigsten. Manchmal kann es vorkommen, dass Sie sich beim Durchsuchen der Suchergebnisse mit n und N verirren. Ein guter Befehl zur Orientierung ist Strg-G, das am unteren Rand des Vim-Bildschirms etwa Folgendes ausgibt:

"script.pl" Zeile 219 von 328 - 66% - Spalte 19-23


+1 für <CTRL> -F und <CTRL> -B, obwohl ich dazu neige, zu "schummeln" und fast genauso oft <PgUp> und <PgDown> zu verwenden!
Technomalogical

4

versuchen Sie:: er motion.txt und: er up-down-Bewegungen

Es hat die ganze Liste der möglichen Bewegungen nach oben nach unten




2

wie bereits erwähnt H, M, L (wie in Hoch, Mittel, Niedrig), Kleinbuchstaben hjkl sind die typischen Konsolenspielbefehle für Links, Runter, Hoch, Rechts und funktionieren in vi (j, k funktionieren in Google Mail, wenn Sie dies aktivieren Tastaturbefehle)


1

<Ctrl>+D - Nieder

<Ctrl>+U - auf


Das ist eine halbe Seite blättern. Verwenden Sie <c-f>und<c-b>
Al.G.

1

Zusätzlich zu den regulären vertikalen Bewegungen verwende ich eine modifizierte Version von /programming/4946421/vim-moving-with-hjkl-in-long-lines-screen-lines . Ich bewege mich normalerweise mit den Pfeiltasten, nicht mit hjkl (lange Zeit Benutzer anderer Editoren, bevor ich Vim gefunden habe, zu gewöhnt, um mit arrows / Home / end / PgUp / PgDn zu wechseln, auch nach mehr als 5 Jahren exklusiver Vim-Nutzung).

function! ScreenMovement(movement)
   if &wrap
      return "g" . a:movement
   else
      return a:movement
   endif
endfunction
map <expr> <C-Down> ScreenMovement("j")
map <expr> <C-Up> ScreenMovement("k")
map <expr> <C-Home> ScreenMovement("0")
map <expr> <C-End> ScreenMovement("$")

Wenn Sie die Strg-Taste gedrückt halten, kann ich visuell zum Anfang / Ende oder Auf / Ab der Anzeigezeilen wechseln. Für mich ist das zumindest effizienter als die Alternativen.

Fast vergessen: Ich musste .Xdefaults ändern, damit es in spezifisch urxvt funktioniert, aber das ist wahrscheinlich ein nicht thematisches Problem (mit Antworten auf Google).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.