Ich versuche, Ctrl+ zuzuordnen s, um meine Datei zu speichern, aber es funktioniert nicht.
Meine Zuordnungen:
map <C-s> :w <CR> :echo "Saved" <CR>
imap <C-s> <Esc> :w <CR> :echo "Saved" <CR> i
Im Einfügemodus sehe ich /:echo "Saved"
in der unteren Ecke statt saved
und im normalen Modus sehe ich dasselbe. Was mache ich falsch?
Dies befindet sich ganz oben in meinem vimrc, sodass mein anderer Code kein Problem verursachen sollte. Ich verwende Vim im OSX-Terminal.
key-bindings
terminal
iProgramm
quelle
quelle
I am also running vim inside the Mac terminal.
' Ja, ich laufe vim über das Terminal. Wäre es besser, Alt anstelle von Strg oder Cmd zu verwenden?<D-s>
vorzunehmen, obwohl ich nicht sicher bin, ob dies in Terminal Vim funktioniert, und es ist ohnehin bereits eine Standardeinstellung in MacVim!Antworten:
Um sicherzustellen, dass diese Problemumgehung auch dann ausgeführt wird, wenn Vim von einem separaten Tool (z. B. git) gestartet wird , habe ich Folgendes in meinem
~/.vimrc
:Dies hat bei mir unter Linux, GVim, Mac OS X und MacVim funktioniert.
Vorsichtsmaßnahmen:
Unter Windows oder anderen Betriebssystemen, denen der
stty
Befehl fehlt , werden bei jedem Start von Vim wahrscheinlich Fehler auftreten! (silent!
könnte das stumm schalten.)Wenn in Ihrer Shell diese TTY-Einstellung bereits deaktiviert war,
VimLeave
schaltet der Autobefehl sie natürlich wieder ein! Das Erkennen und Wiederherstellen der aktuellen Einstellungen ist beim Ansatz von @ aPyDeveloper von Vorteil.Eine Kombination aus dieser und der Lösung von @ aPyDeveloper, die Kompatibilitätsprobleme unter OS X und Windows behandelt, kann hier und / oder im Wiki veröffentlicht werden!
Um die Wahl zwischen
stty -g
und zu vermeidenstty --save
, können Sie den folgenden Test nur für dieix
Option versuchen .quelle
Vielen Dank an @Carpetsmoker für die Links.
Das Hinzufügen dieses Skripts
bash_profile
hat bei mir funktioniert.Hier ist ein Link dazu. http://vim.wikia.com/wiki/Map_Ctrl-S_to_save_current_or_new_files
Ich musste auch das Leerzeichen vor dem entfernen:
quelle