Binden in Vim

Ist es möglich, in einem Standard-Terminal eine Karte in vim zu speichern? Ich weiß, wie ich es in meinem vimrc einstellen kann, bin mir aber nicht sicher, ob es möglich ist, es vom Terminal an vim zu übergeben, anstatt zu versuchen, das Terminal zu speichern.

Wäre MacVim eine Option? Es verwendet cmd + s zum Speichern. Und Sie können es vom Terminal aus mit starten mvim.
Ich verwende vim mit tmux, also würde macvim nicht funktionieren.

Antworten (2)

Ja, Sie sollten in der Lage sein, eine Tastenbelegung in Ihrer .vimrc-Datei einzurichten, so dass, wenn Sie den Befehl -S drücken, diese auf :w abgebildet wird oder neue Dateien

  • Als erstes müssen Sie die Command - S-Funktionalität für die Anwendung neu zuweisen. Tun Sie dies im Systemeinstellungsbereich Tastatur > Tastaturkürzel.

Beispielsweise möchten Sie eine neue Anwendungsverknüpfung für die Terminal-App hinzufügen und dann dem Menütitel "Text exportieren als ..." einen anderen Tastaturbefehl zuordnen, den Sie nicht verwenden, z. B. Steuerung - s oder usw. sollte in Ordnung sein.

Etwas wie das unten aufgeführte* können Sie zu Ihrer .vimrc-Datei hinzufügen:

:map <M-s> :w<kEnter>  "Works in normal mode, must press Esc first"
:imap <M-s> <Esc>:w<kEnter>i "Works in insert mode, saves and puts back in insert mode"

*Dies wurde auf dem X11-Terminal unter OS X Lion bestätigt.

Danke, werde diesen Thread im Auge behalten, um zu sehen, ob es eine Möglichkeit gibt, cmd-s an die App zu übergeben.

Für Leute, die immer noch darauf stoßen, habe ich eine Umkehrung von MrDaniels Lösung geschrieben ( dh jede MacVim / systemweite ⌘-Sequenz auf die Befehlszeile abbilden vim) und sie zu seiner anderen Frage gepostet . Es ist komplexer als seine Lösung, ermöglicht es Ihnen dann aber (mit einigem Aufwand), jede ⌘-Sequenz in jedes Befehlszeilenprogramm neu zuzuordnen.

Es funktioniert gut für mich, und ich hoffe, es kann Ihnen auch helfen. <3