Endlich: Vim-Kommandos in Cocoa-Programmen

Darauf haben wir Vim-Fans lange gewartet: Der|die|das Vi Input Manager Plugin von Jason Corso ermöglicht es, in Cocoa-Programmen (Safari, TeXShop, XCode, TextEdit etc. pp.) eine ganze Reihe von Vi-Kommandos zu verwenden. Die Programm starten normal im Eingabe-Modus. Aber ein Druck auf die `-Taste wechselt in den Kommando-Modus. Auf deutschen Tastaturen ist die Belegung natürlich anders, da sitzt die `-Taste nicht unter der Escape-Taste. Man kann die auslösende Taste ändern, ich habe mich für die gewohnte Escape-Taste entschieden. Ich habe das Teil eben erst installiert. Aber wenn alles so funktioniert wie es aussieht ist es wirklich grrrrrreeeaat.

Das Ganze funktioniert via DefaultKeyBinding.dict. Mehr zu dem Thema hier.

Donationware.

5 Antworten zu “Endlich: Vim-Kommandos in Cocoa-Programmen

  1. Wie hast du das installiert bekommen?

    Die ganzen Files habe ich an die entsprechenden Stellen in ~/Library/ kopiert.

    Allerdings war das auch schon alles, was in der Installationseinlatung stand. Habe ich da was vergessen?

  2. Hi Peter,
    wahrscheinlich liegt’s an der voreingestellten Tastenkombination. Das Back-Apostrophe liegt auf der deutschen Tastatur anders als auf der amerikanischen.

    Ich habe die Datei DefaultKeyBinding.dict so geändert, dass die Escape-Taste der Auslöser ist. (Nur die Recommendation auskommentieren und den auskommentierten Teil stattdessen aktivieren.
    Meine Datei sieht so aus:

    /* Either add these to ~/Library/KeyBindings/DefaultKeyBinding.dict or make this that file. */
    {
    /* Vi Input Manager */
    /*** this first one will match conventional Vi by mapping the escape key
    ** However, on the Mac, I found it to be confusing since Esc is used in other situations
    * */

    „\U001B“ = „VI_escapeMode:“;

    /** So, I recommend using the back-apostrophe (just underneath the escape on most us keyboards)
    * to turn on the Vi command mode. And then I remapped the original key to require the control modifier
    „`“ = „VI_escapeMode:“;
    „^`“ = („insertText:“, „`“);
    */
    }

  3. Wie hast du es denn genau installiert?
    Ich habe nun das verzeichnis ~/KeyBindings/ das die Datei DefaultKeyBinding.dict enthält,
    und das Verzeichnis ~/InputManagers/ViInputManager/ das die Dateien Info & ViInputManager.bundle beherbergt.

    Habe ich irgendwas vergessen? Ich habe das auf die ESC Taste umgemapped.

  4. Eigentlich sollte es jetzt funktionieren.
    WEnn Du z.B. Textedit öffnest und die Escape-Taste drückst, öffnet sich eine kleine Zeile, und Du bist im Kommando-Modus. Mit i;I,a;A oder ähnlichen Kommandos kommst Du wieder in den Input-Modus.

  5. Komisch, erst nach einem reboot hat er das bei mir aktualisiert. Nun funktioniert das wunderbar.
    Mal sehen ob ich mich daran gewöhnen kann🙂

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s