Wie kann ich binden: Set funktioniert genauso wie: set

7

Ich fange ziemlich oft an, das s zu tippen, bevor ich die Umschalttaste vollständig loslasse, und es ist etwas ärgerlich, den Befehl danach korrigieren zu müssen.

Gibt es eine Möglichkeit, :Set ...einen Alias ​​für zu erstellen :set ...?

DiebMaster
quelle
Ich habe genau dieses gleiche Problem mit :sp, :vsund:e
Shahbaz

Antworten:

14

Sie können zwar keine benutzerdefinierten Befehle definieren, die mit Kleinbuchstaben beginnen (wie die integrierten), aber nichts hindert Sie daran, das Gegenteil zu tun und Benutzerbefehle zu definieren, die die integrierten widerspiegeln.

:command! -nargs=* -complete=option Set set <args>

Wenn Sie dies für zusätzliche Befehle tun, stellen Sie einfach sicher, dass die Anzahl der Argumente / take :range/ bang ( [!]) übereinstimmt. Siehe :help :command-nargs(und die folgenden Absätze) für die verfügbaren Optionen.

Warnung

Schlampiges Tippen bringt Sie mit Vim nicht weit; Anstatt sich auf solche Problemumgehungen zu verlassen (die in anderen Bereichen wie Zuordnungen und Bewegungen nicht so gut funktionieren), sollten Sie eine bestimmte Zeit absichtlich verlangsamen und an Ihrer Tippgenauigkeit arbeiten. Die Investition in eine Tastatur höherer Qualität könnte ebenfalls hilfreich sein.

Ingo Karkat
quelle
Ich habe eine anständige Tastatur (WASD mit mx clears). Aber in vielen Fällen starte ich gvim einfach über meine Taskleiste (ja, Windows-Benutzer, kein Kommentar: p) :set syntax=whateverund wechsle dann in den Einfügemodus, wenn ich für etwas ein Code-Notizblock benötige.
ThiefMaster
5

Sie könnten neu zuordnen ;zu :, so gibt es nicht mehr Shift - Taste beteiligt:

:noremap ; :

Dies hat den offensichtlichen Nachteil, dass die Funktion der ;Taste verloren geht ( "Wiederholen Sie die letzten f-, t-, F- oder T-Zählungen." ). Um dies zuzuordnen :(und damit zu tauschen ;und :), können Sie Folgendes verwenden:

:noremap ; :
:noremap : ;

Das Problem dabei ist jedoch, dass Sie, sobald Sie sich daran gewöhnt haben, in einer Standard-Vim-Installation halb verkrüppelt sind.

Martin Tournoij
quelle
Dies ist eine gute Idee. Je weniger Schichten verwendet werden, desto besser. Ich höre Sie auch, dass Sie halb verkrüppelt werden. Ich habe meine 1..90-=Schlüssel mit ihren Alternativen !..()_+in C-, C ++ - und Haskell-Dateien ausgetauscht , da die Alternativen viel häufiger verwendet werden und es wirklich schön ist, aber ich werde halb verkrüppelt, wenn ich vim verwende, wo meine Einstellungen nicht wirksam sind.
Shahbaz
Die Verwendung von Befehlsabkürzungen und das Weglassen unnötiger Leerzeichen nach dem Befehl würde tauschen :und ;bei einer Standardinstallation nicht halb verkrüppelt werden: :no; :|no: ;<cr>(12 Zeichen müssen eingegeben werden).
Hotschke
3

Sie können einfach eine Abkürzung definieren.

:cab Set set

Wie carpetsmoker erwähnt diese ersetzen wird Setmit setüberall in der Kommandozeile. Um dies zu vermeiden

:cnoreab Set set
Luc Hermitte
quelle
5
Beachten Sie, dass diese ersetzen wird Setmit set überall in der Befehlszeile, nicht nur , wenn Sie tippen:Set
Martin Tournoij