Shortcuts im Vim Editor

Ich verwende den Editor vim für fast alle Arbeiten in Textdateien. Auch für meine Todoverwaltung mit todotxt

Das man mit vim einiges automatisieren kann war mir schon lange bewusst aber irgendwie kam ich noch nie dazu mir das anzuschauen. Heute morgen spülte mir Twitter diese Seite in die Timeline. Und da heute morgen Sonntag war….

In meiner Todotxt Datei sammele ich alle zukünftigen Aufgaben in einer bestimmten “Priorität” versehen mit dem Zieldatum. Täglich schaut ein Shell Script dort nach und wandelt diese zukünftigen Aufgaben in eine Aufgabe mit der Priorität für heute. Das kann man mit Sicherheit auch anders machen aber das läuft hier schon seit über 8 Jahren so.

Mit Hilfe des erwähnten Artikels und einer kleinen Anpassung kann ich das jetzt schön im vim insert Modus schneller machen. Zuerst wird die Priorität erstellt und dann mit dem Systemkommando date das gewünschte Datum berechnet. Der Text in der eckigen Klammer verhindert das immer eine neue Zeile einfügt wird.

vi .vimrc

   iab xheu (C) t:<c-r>=system("date +%F  -d'Today'")[:-2]
   iab xmon (C) t:<c-r>=system("date +%F  -d'next Monday'")[:-2]
   iab xdie (C) t:<c-r>=system("date +%F  -d'next Tuesday'")[:-2]
   iab xmit (C) t:<c-r>=system("date +%F  -d'next Wednesday'")[:-2]
   iab xdon (C) t:<c-r>=system("date +%F  -d'next Thursday'")[:-2]
   iab xfre (C) t:<c-r>=system("date +%F  -d'next Friday'")[:-2]
   iab xsam (C) t:<c-r>=system("date +%F  -d'next Saturday'")[:-2]
   iab xson (C) t:<c-r>=system("date +%F  -d'next Sunday'")[:-2]
   iab xmor (C) t:<c-r>=system("date +%F  -d'Tomorrow'")[:-2]
   iab xw1 (C) t:<c-r>=system("date +%F  -d'next Week'")[:-2]
   iab xw4 (C) t:<c-r>=system("date +%F  -d'+28 Days'")[:-2]
vim logo