2 Stimmen

vim-Zuordnung zum automatischen Anhängen von ';' an das Ende der Zeile

Ich versuche, eine Vim-Tastenzuordnung einzurichten, die die Taste ';' auf A; abbildet - d.h. ich möchte ';' automatisch an das Ende der Zeile anhängen. Ich habe jedoch Schwierigkeiten, diese Zuordnung einzurichten. Ich möchte dies auch auf Java-Dateien beschränken, wenn möglich.

Ist das machbar?

4voto

Luc Hermitte Punkte 30868

Wenn Sie diese Funktion auf Java-Puffer beschränken wollen, schauen Sie sich ftplugins an. Das Mapping wird dann:

nnoremap <buffer> ; A;<esc>

Übrigens würde ich davon abraten, die Karte auf ' ; ', da es ein sehr nützlicher Befehl ist, der in anderen schlecht definierten Mappings verwendet werden kann (zu viele Vimmers verwenden :*map anstelle von :*noremap ).

0 Stimmen

+1. Wichtige Punkte, die diese Antwort besser machen: Abbildung nur für den normalen Modus definiert und Verwendung von "nore".

0 Stimmen

Wollen Sie damit sagen, dass :.?map ing auf ' ; ' könnte vorhandene integrierte Befehle durcheinander bringen?

0 Stimmen

Nicht die eingebauten Befehle, sondern (nicht-notwendige) Zuordnungen (oder Makros), die sich auf die eingebauten ; um den Cursor zu bewegen, um noch komplexere Dinge zu erreichen.

2voto

Maxim Kim Punkte 6012

Verwenden Sie ftplugins, wie Luc Hermitte sagte, oder fügen Sie Folgendes zu Ihrer .vimrc hinzu

autocmd filetype java :nnoremap <buffer> ; A;<esc>

1voto

soulmerge Punkte 70900

Das Mapping selbst wird auf diese Weise durchgeführt:

:map ; A;<esc>

Ich würde empfehlen, diese Zeile in Ihre .vimrc einzufügen und damit zu leben (es sollte Sie nicht stören, da das Mapping nur im Befehlsmodus funktioniert). Wenn Sie dieses Verhalten wirklich auf bestimmte Dateien einschränken müssen, müssen Sie sich mit dem autocmd Funktion ( :help autocmd )

0voto

Rob Wells Punkte 35303

Wie wäre es mit einer schnellen Umsetzung?

map ; $a;cntl-vESC

dann Return drücken

Ich werde darüber nachdenken, dies nur für Java-Dateien zu aktivieren.

0voto

Sam Punkte 13462

Fügen Sie dies in ~/.vim/after/ftplugin/java.vim ein

nnoremap <buffer> ; A;<Esc>

Diese Zuordnung sollte sich nur auf Java-Puffer beziehen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X