emacs 刪除匹配的lisp語言

剛剛寫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)

發佈了32 篇原創文章 · 獲贊 0 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章