Ich schreibe eine VimL Funktion , die, im Einfügemodus, ermöglicht einen <BS>
durch das Öffnungsteil eines Paares ( [
, {
usw.) , das Schließteil des Paares zu löschen , wenn er das nächste Zeichen nach dem Cursor (ähnlich ist Auto-Paare und vim-autoclose ). Diese Funktion ist anders, da der schließende Teil des Paares nicht gelöscht wird, wenn unsymmetrische Paare vorhanden sind.
Beispiele:
Im Format befindet sich <initial> => <result-after-backspace>
mein Cursor vor dem |
.
((|) => (|)
((|)) => (|)
(|) => |
(defn => (defn
(|) |)
Wie kann ich feststellen, ob die Paare unausgeglichen sind oder nicht, bevor ich das schließende Paar lösche?
Ich habe sowohl Auto-Paare als auch Vim-Autoclose getestet . Bei beiden Plugins wird der schließende Teil des Paares immer gelöscht.