Saya menulis fungsi VimL itu, dalam mode insert, memungkinkan <BS>
melalui bagian pembukaan sepasang ( [
, {
, dll) untuk menghapus bagian penutupan pasangan jika karakter berikutnya setelah kursor (seperti auto-pasangan dan vim-autoclose ). Fungsi ini akan berbeda karena bagian penutup dari pasangan tidak akan dihapus jika ada pasangan yang tidak seimbang.
Contoh:
Formatnya adalah <initial> => <result-after-backspace>
tempat kursor saya berada di depan |
.
((|) => (|)
((|)) => (|)
(|) => |
(defn => (defn
(|) |)
Bagaimana saya bisa menentukan apakah pasangan tidak seimbang atau tidak sebelum saya melanjutkan dan menghapus pasangan penutup?
Saya telah menguji pasangan-otomatis dan vim-autoclose . Dengan kedua plugin, bagian penutup dari pasangan selalu dihapus.