刚刚写lisp,最头痛的就是() 之间的匹配总算搞不清楚。
虽然有个 (show-paren-mode 1) ,不过只有光标在()上才有效。
尝试写了个函数,C-0 将光标所在的语句删除,再按一次恢复.
(defun kill-paren ()
"kill matched paren in elisp, repeat undo the kill"
(interactive "*")
(if (eq last-command 'kill-paren)
(undo)
(let (start end)
(save-excursion
(re-search-backward "//s/(")
(setq start (point))
(forward-list)
(setq end (point))
(kill-region start end)
(setq this-command 'kill-paren)))))
(global-set-key [(control ?0)] 'kill-paren)
虽然有个 (show-paren-mode 1) ,不过只有光标在()上才有效。
尝试写了个函数,C-0 将光标所在的语句删除,再按一次恢复.
(defun kill-paren ()
"kill matched paren in elisp, repeat undo the kill"
(interactive "*")
(if (eq last-command 'kill-paren)
(undo)
(let (start end)
(save-excursion
(re-search-backward "//s/(")
(setq start (point))
(forward-list)
(setq end (point))
(kill-region start end)
(setq this-command 'kill-paren)))))
(global-set-key [(control ?0)] 'kill-paren)