User Tools

Site Tools


viki:05_bewegen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
viki:05_bewegen [2018/09/10 16:21]
127.0.0.1 external edit
viki:05_bewegen [2020/12/29 12:39] (current)
solar
Line 5: Line 5:
 ===== 5. Bewegen im Puffer ===== ===== 5. Bewegen im Puffer =====
  
-Vim bietet eine Vielzahl von Möglichkeiten, sich zu einem bestimmten Punkt in einem Puffer zu bewegen. Manche davon machen intuitiv Sinn, aber relativ schnell kommt man an den Punkt von "brauche ich wirklich //noch// einen Befehl zur Bewegung?".+Vim bietet eine Vielzahl von Möglichkeiten, sich zu einem bestimmten Punkt im aktuellen Puffer zu bewegen. Manche davon machen intuitiv Sinn, aber relativ schnell fragt man sich "brauche ich wirklich //noch// einen Befehl zur Bewegung?".
  
 Ja, den braucht man! Ja, den braucht man!
Line 11: Line 11:
 Wir werden später sehen, das Befehle zur //Bearbeitung// von Text über einen gewissen Bereich wirken können. Man gibt den Bearbeitungsbefehl ein, und anschließend einen Bewegungsbefehl. Die Bearbeitung erfolgt über den Bereich der Bewegung. Wir werden später sehen, das Befehle zur //Bearbeitung// von Text über einen gewissen Bereich wirken können. Man gibt den Bearbeitungsbefehl ein, und anschließend einen Bewegungsbefehl. Die Bearbeitung erfolgt über den Bereich der Bewegung.
  
-Und noch später werden wir sehen, wie man mit Vim Makros anlegen kann, kleine Editierprogramme, die einem wiederkehrende Aufgaben erleichtern können. Auch bei diesen sind präzise Bewegungsbefehle nicht nur nützlich, sondern schlechthin notwendig.+Und noch später werden wir sehen, wie man mit Vim Makros anlegen kann, kleine Editierprogramme, die einem wiederkehrende Aufgaben erleichtern können. Auch bei diesen sind präzise Bewegungsbefehle ausgesprochen nützlich.
  
-Dieses Kapitel wird man nicht in einem Durchgang verinnerlichen können. Ich würde vorschlagen, so weit zu lesen wie man kommt, und dann zum nächsten Kapitel überzugehen. Aber man sollte regelmäßig hierhin zurückkehren, denn man sollte sein "Arsenal" an Bewegungsbefehlen im Laufe der Zeit immer mehr erweitern.+Dieses Kapitel wird man nicht in einem Durchgang verinnerlichen können. Ich würde vorschlagen, jede der beschriebenen Bewegungen zumindest einmal in einer Beispieldatei auszuprobieren, und dann zum nächsten Kapitel überzugehen. Aber man sollte regelmäßig hierhin zurückkehren, um sein "Arsenal" an Bewegungsbefehlen im Laufe der Zeit immer mehr zu erweitern.
  
 ==== Grundlagen ==== ==== Grundlagen ====
  
-Als geübter Tastaturschreiber ruhen die Finger auf der mittleren Buchstabenreihe. Bei den meisten Editoren muss man, um im Text zu navigieren, diese Grundhaltung aufgeben, um eine Abfolge von Funktions- und Cursortasten zu benutzen.+Als geübter Tastaturschreiber ruhen die Finger auf der mittleren Buchstabenreihe des Hauptblocks. Bei den meisten Editoren muss man, um im Text zu navigieren, diese Grundhaltung aufgeben, um eine Abfolge von Funktions- und Cursortasten zu benutzen.
  
-Bei Vim ist das anders; die Navigation erfolgt im //Befehlsmodus//, d.h. die Buchstaben- und Zahlentasten stehen für die Navigation zur Verfügung. Man kann sich im Text bewegen, ohne die Hände von der Haupttastatur wegbewegen zu müssen. (Insbesondere für Laptop-Benutzer ein Feature, da hier die Cursortasten oft auf "interessante" Weise angeordnet sind.)+Bei Vim ist das anders; die Navigation erfolgt im //Befehlsmodus//, d.h. die Buchstaben- und Zahlentasten stehen für die Navigation zur Verfügung. Man kann sich im Text bewegen, ohne die Hände vom Hauptblock wegbewegen zu müssen. (Insbesondere für Laptop-Benutzer ein Feature, da hier die Cursortasten oft auf "interessante" Weise angeordnet sind.)
  
 ==== Grundbewegungen ==== ==== Grundbewegungen ====
Line 30: Line 30:
   * ''l'' -- zum nächsten Zeichen   * ''l'' -- zum nächsten Zeichen
  
-So gut wie jede Bewegung kann man mehrfach ausführen, indem man vor dem Bewegungsbefehl eine Zahl eingibt. Ein ''6k'' zum Beispiel führt den Bewegungsbefehl ''k'' sechs Mal aus.+**So gut wie jeden Befehl in Vim kann man mehrfach ausführen, indem man vor dem Befehl eine Zahl eingibt.** Ein ''6k'' zum Beispiel führt den Bewegungsbefehl ''k'' sechs Mal aus. **Wenn man sich von Beginn an angewöhnt, jede Bewegung im Puffer durch den "richtigen" Befehl zu machen statt durch "Cursortasten bis ich da bin wo ich hin will", zahlt sich das später massiv aus!**
  
 Kommen wir zur nächsten Gruppe: Kommen wir zur nächsten Gruppe:
Line 46: Line 46:
   * ''B'' -- zum vorherigen WORTanfang   * ''B'' -- zum vorherigen WORTanfang
  
-Und weil auch ein WORT manchmal noch zuwenig ist, gibt es noch größere "Schritte":+Und weil auch ein WORT manchmal noch zu wenig ist, gibt es noch größere "Schritte":
  
   * '')'' -- zum nächsten Satzanfang   * '')'' -- zum nächsten Satzanfang
Line 60: Line 60:
   * ''[]'' -- zum vorherigen Kapitel oder vorherigen ''}'' in der ersten Spalte   * ''[]'' -- zum vorherigen Kapitel oder vorherigen ''}'' in der ersten Spalte
  
-Wem es nicht aufgefallen ist: Das erste Zeichen entscheidet über "vorwärts" oder "rückwärts", das zweite über die Art der Klammer die gesucht wird. Ein "Kapitel" ist vordefiniert als ein Seitenvorschub (''<Strg>-L''), oder eines von mehreren [[https://de.wikipedia.org/wiki/Troff | nroff]]-Makros (was natürlich nur hilft wenn man nroff-Text editiert). Die Klammern sind, offensichtlich, beim Editieren von C/C++, Java o.ä. hilfreich.+Wem es nicht aufgefallen ist: Das erste Zeichen entscheidet über "vorwärts" oder "rückwärts", das zweite über die Art der Klammer die gesucht wird. Ein "Kapitel" ist vordefiniert als ein Seitenvorschub (''<Strg>-L''), oder eines von mehreren [[https://de.wikipedia.org/wiki/Troff | nroff]]-Makros (was natürlich nur hilft wenn man nroff-Text editiert). Die Klammern sind, offensichtlich, beim Editieren von C/C++, Java o.ä. hilfreich. Verschiedene Dateitypen-Plugins (LaTeX z.B.) definieren Absatz, Kapitel usw. entsprechend geeignet nach Dateityp.
  
 Innerhalb einer Zeile kann man auch navigieren: Innerhalb einer Zeile kann man auch navigieren:
Line 88: Line 88:
   * ''M'' -- springe zur Mitte des Fensters (engl. ''middle'')   * ''M'' -- springe zur Mitte des Fensters (engl. ''middle'')
   * ''L'' -- springe im Fenster nach unten (engl. ''lower'', "unten")   * ''L'' -- springe im Fenster nach unten (engl. ''lower'', "unten")
 +
 ==== Suchen (Zeichen) ==== ==== Suchen (Zeichen) ====
  
Line 107: Line 108:
   * '','' -- vorhergehendes ''f'', ''F'', ''t'', ''T'' //in entgegengesetzte Richtung// wiederholen   * '','' -- vorhergehendes ''f'', ''F'', ''t'', ''T'' //in entgegengesetzte Richtung// wiederholen
  
-Wurde für die ursprüngliche Suche eine Zahl Wiederholungen eingegeben, wird diese bei '';'' oder '','' //nicht// mit wiederholt. Statt dessen kann man bei '';'' oder '','' jeweils eine eigene Zahl Wiederholungen eingeben. Ein ''4fx'' sucht also das vierte ''x'' nach dem Cursor in der aktuellen Zeile, und ein anschließendes ''2;'' würde zwei ''x'' weiter suchen.+Wurde für die ursprüngliche Suche eine Zahl Wiederholungen eingegeben, wird diese bei '';'' oder '','' //nicht// mit wiederholt. Statt dessen kann man bei '';'' oder '','' jeweils eine eigene Zahl Wiederholungen eingeben. Ein ''4f_'' sucht also den vierten Unterstrich vorwärts in der aktuellen Zeile, und ein anschließendes ''2,'' würde zwei Unterstriche //zurück// suchen.
  
 ==== Suchen (Speziell) ==== ==== Suchen (Speziell) ====
Line 115: Line 116:
   * ''%'' -- Finde die nächste "Klammer" in der Zeile, und springe zu ihrem Gegenstück.   * ''%'' -- Finde die nächste "Klammer" in der Zeile, und springe zu ihrem Gegenstück.
  
-Dabei ist "Klammer" im weitesten Sinne zu verstehenHier sind nicht nur `([{}])` gemeint, sondern auch C-Kommentare (`/*`, `*/`) oder Präprozessor-Direktiven (`#if`, `#else`, `#endif`).+Dabei ist "Klammer" im weitesten Sinne und im Kontext des gerade bearbeiteten Dateityps gemeint; es werden z.B. auch C-Kommentare (`/*`, `*/`) oder Präprozessor-Direktiven (`#if`, `#else`, `#endif`) erkannt.
  
 ==== Suchen (Regulärer Ausdruck) ==== ==== Suchen (Regulärer Ausdruck) ====
viki/05_bewegen.1536589296.txt.gz · Last modified: 2018/09/10 16:21 by 127.0.0.1