User Tools

Site Tools


viki:beispiele

Differences

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

Link to this comparison view

viki:beispiele [2018/09/10 16:21]
127.0.0.1 external edit
viki:beispiele [2020/02/04 10:05] (current)
solar
Line 68: Line 68:
   * '':map <F8> nWe'' (zum Ende des ersten Wortes nach dem nächsten Code Point springen)   * '':map <F8> nWe'' (zum Ende des ersten Wortes nach dem nächsten Code Point springen)
  
 +==== Source-Zeilen nach Vorlage sortieren ====
 +
 +Ich habe (in meinem Projekt PDCLib) zwei Source-Dateien, die sich mit ''errno''-Werten beschäftigen.
 +
 +Datei 1:
 +
 +    { /* No Error        */   0, (char *)"Success" },
 +    { /* EPERM           */   0, (char *)"EPERM (Operation not permitted)" },
 +    { /* ENOENT          */   0, (char *)"ENOENT (No such file or directory)" },
 +    ...
 +    
 +Datei 2:
 +
 +    case 0:
 +        return errno_texts[0];
 +    case E2BIG:
 +        return errno_texts[1];
 +    case EACCESS:
 +        return errno_texts[2];
 +    ...
 +
 +Jeweils für knapp 80 Einträge. Die Aufgabe ist, die Einträge in Datei 1 in dieselbe Sortierung wie in Datei 2 zu bringen.
 +
 +Ich öffne beide Dateien in parallelen Fenstern, und füge nach dem Eintrag ''Success'' in Datei 1 eine Leerzeile ein. Dann bewege ich mich in Datei 2 auf ''case E2BIG:''.
 +
 +  * ''qq'' um das Makro ''q'' aufzunehmen.
 +  * ''W'' um über ''case'' auf ''E2BIG'' zu springen.
 +  * ''<Strg>-v'' um zu markieren.
 +  * ''e'' um auf das Ende von ''E2BIG'' zu springen.
 +  * ''y'' um den markierten Bereich ins Default-Register ''"'' zu holen.
 +  * ''<Strg>-w'' ''<Strg>-w'' um zu Datei 1 zu wechseln.
 +  * ''/'' für Suchmodus.
 +  * ''<Strg>-r"<Eingabe>'' um nach dem Inhalt von Register ''"'' zu suchen.
 +  * ''dd'' um die Zeile auszuschneiden.
 +  * ''{'' um einen Paragraphen zurück (zur eingefügten Leerzeile) zu springen.
 +  * ''P'' um die Zeile einzufügen.
 +  * ''<Strg>-w'' ''<Strg>-w'' um zu Datei 2 zu wechseln.
 +  * ''<Eingabe><Eingabe>'' um zum nächsten ''case'' zu kommen.
 +  * ''q'' um die Makro-Aufnahme zu beenden.
 +  * ''77@q'' um die nächsten 77 Einträge ebenfalls zu sortieren.
viki/beispiele.1536589296.txt.gz · Last modified: 2018/09/10 16:21 by 127.0.0.1