Konfigurieren Sie die Verknüpfung in Vim, um die Datei zu speichern

9

Ich habe mich gefragt, ob es möglich ist, eine benutzerdefinierte Verknüpfung zu erstellen vimoder vieine geöffnete Datei zu speichern.

Zum Beispiel, CtrlSanstatt jedes Mal zu tippen :w?

Vielen Dank!

Flüchtling
quelle

Antworten:

12

Vim wird mit einer Datei geliefert, die einige Zuordnungen enthält, die mit Windows-Dateien übereinstimmen sollen. Dies ist normalerweise in $VIMRUNTIME/mswin.vim(laufen, um :echo $VIMRUNTIMEzu sehen, was es für Sie ist). Sie können einfach tun:

:source $VIMRUNTIME/mswin.vim

Und erhalten Sie eine Reihe von Verknüpfungen, einschließlich CtrlS. Weitere :h mswin.vimInformationen finden Sie hier.

Beachten Sie, dass Ihr Terminalemulator möglicherweise CtrlSfür andere Zwecke verwendet wird, dies liegt jedoch außerhalb von Vim.

Gehen Sie folgendermaßen vor, um nur ein zu testendes Mapping zu erstellen:

nnoremap <c-s> :w<cr>
muru
quelle
Hallo @muru danke für die Antwort. Meine Zuordnungen sind in /usr/share/vim/vim74. Und wenn ich Dateien von dort aufliste, habe ich nicht mswin.vim. Ich bin auf Deb8, vim Version ist2:7.4.488-7
flüchtig
Entschuldigung, ich habe es nicht auf den ersten Blick gesehen. Alles funktioniert. Danke Mann :)
Flüchtling
3
@ Flüchtling kein Problem. Wenn Sie daran interessiert sind, Vim besser zu nutzen,
besuchen
4

Auslegen auf @ muru ‚s Vorbehalt über ctrl+ sdurch das Endgerät eingefangen werden:

Standardmäßig binden mehrere Terminal-Clients (einschließlich Cygwin) ctrl+ san das Freeze-Ausgangssignal , was sich auf eine Reihe von Befehlen auswirkt, z. B. scpund verhindert im Übrigen, dass der Tastendruck anderen Dingen zugewiesen wird, da die Konsole ihn erfasst, bevor er erreicht wird vimoder andere Anwendungen.

Also , für diejenigendie verwendetsollenctrl+sfür andere Zwecke alsEinfrieren Ausgang, versuchen Sie folgendes zu Ihrer „Bashrc“ Datei hinzufügen:

# free up ctrl+s and ctrl+q:
stty stop ''
stty start ''
stty -ixon
stty -ixoff
Koyae
quelle