Tôi viết một hàm VimL đó, trong chế độ chèn, cho phép một <BS>
thông qua phần mở đầu của một cặp ( [
, {
, vv) để xóa các phần bế mạc cặp nếu nó là ký tự tiếp theo sau con trỏ (giống như tự động cặp và vim-autoclose ). Hàm này sẽ khác vì phần đóng của cặp sẽ không bị xóa nếu có các cặp không cân bằng.
Ví dụ:
Định dạng là <initial> => <result-after-backspace>
nơi con trỏ của tôi ở phía trước |
.
((|) => (|)
((|)) => (|)
(|) => |
(defn => (defn
(|) |)
Làm cách nào để xác định xem các cặp có bị mất cân bằng hay không trước khi tôi tiếp tục và xóa cặp kết thúc?
Tôi đã thử nghiệm cả hai cặp tự động và vim-autoclose . Với cả hai plugin, phần đóng của cặp luôn bị xóa.