Wie spät ist es? - Wenigste Anzahl von Tastenanschlägen in vim?

392
malew

Aufgabe: Zeigt dem vim-Benutzer die aktuelle Uhrzeit an.

Es geht nicht darum, die Uhrzeit in ein Dokument einzufügen, was man z. B. mit Datum problemlos machen kann. In meiner Frage möchte der Benutzer einfach wissen, wie spät es ist.

Die geringste Anzahl von Tastatureingaben scheint das Verlassen von vim zu beinhalten oder das Datum in ein Dokument einzufügen und es zu löschen:

  1. Rufen Sie die Shell an und gehen Sie zurück::! Date + enter +

  2. Halte vim an, gib Shell ein und gehe zurück: Strg-Z Datum fg

  3. In die aktuelle Datei einfügen und löschen:: r! Date dd

  4. Geben Sie die Anzahl der Zeichen ein und zeigen Sie das Datum in der Befehlszeile an:: ec strftime ("% c")

Sicherlich muss es einen kürzeren Befehl geben, um die aktuelle Uhrzeit auch ohne Aktualisierung der .vmrc-Datei schnell anzuzeigen.

-2
Ich verwende 'tmux' und für mich lautet die Antwort 0 Tastenanschläge. :) Kamil Maciorowski vor 5 Jahren 1
tmux funktioniert natürlich. Dies gilt auch für MacOS oder Windows oder Linux, wenn Sie vim in einem Fenster ausführen. Eine andere Lösung ist die Verwendung einer Büroklammer, um eine Uhr an Ihrem Bildschirm zu befestigen. Aber zurück zu der Frage: Wenn Sie nur ein Fenster mit vim und sonst nichts haben und wissen möchten, wie spät es ist, was sind dann die wenigsten Tastenanschläge? malew vor 5 Jahren 0
Schau auf eine Uhr an der Wand / dein Handy / dein Handgelenk. Null Tastenanschläge. Dies ist nicht CodeGolf.SE. grawity vor 5 Jahren 1
Keine Uhr an der Wand. Telefon in der Tasche. Keine Armbanduhr. Ich würde wirklich gerne die Zeit in vim sehen. Das ist kein Spiel. Es ist eine Möglichkeit, einige Tastatureingaben für etwas zu speichern, das ich oft mache. malew vor 5 Jahren 0
Gehört zu https://vi.stackexchange.com/, diese Site wird jedoch nicht als Option in der Liste "Gehört auf einer anderen SE-Site" angezeigt Dave Sherohman vor 5 Jahren 2

1 Antwort auf die Frage

1
Ingo Karkat

Wenn die Motivation für Sie (wie Sie in den Kommentaren erwähnen) darin besteht , einige Tastatureingaben für etwas zu speichern, das ich oft mache, sind die Implementierungsalternativen (wie Sie sie in Ihrer Frage aufführen) irrelevant.

Die Antwort lautet: Sie zeigen die Zeit:

Was auch immer zu Ihrem Anwendungsfall passt (z. B. nur bei Bedarf anzeigen (weil Sie keine Bildschirmimmobilien verschwenden oder eine periodische Aktualisierung der Uhr als störend empfinden möchten) oder die ganze Zeit anzeigen.

Für die Implementierung würde ich empfehlen strftime(), da dies eingebaut ist und keinen kostspieligen Aufruf eines externen Befehls erfordert. So einfach kann es sein:

:nnoremap <silent> <F1> :echo strftime('%c')<CR>