до 1)
(defun add-py-debug ()
"add debug code and move line down"
(interactive)
(move-beginning-of-line 1)
(insert "import pdb; pdb.set_trace();\n"))
(local-set-key (kbd "<f9>") 'add-py-debug)
, чтобы сделать 2) вам, вероятно, придется изменить подсветку синтаксиса режима python или написать свой собственный второстепенный режим. Вы должны были бы заглянуть в шрифт, чтобы получить больше. К сожалению.
3) хотя я установил это как C-c F9 вместо Alt-F9
(defun remove-py-debug ()
"remove py debug code, if found"
(interactive)
(let ((x (line-number-at-pos))
(cur (point)))
(search-forward-regexp "^[ ]*import pdb; pdb.set_trace();")
(if (= x (line-number-at-pos))
(let ()
(move-beginning-of-line 1)
(kill-line 1)
(move-beginning-of-line 1))
(goto-char cur))))
(local-set-key (kbd "C c <f9>") 'remove-py-debug)
и делать 4)
(local-set-key (kbd "<f3>") '(lambda ()
(interactive)
(search-forward-regexp "^[ ]*import pdb; pdb.set_trace();")
(move-beginning-of-line 1)))
Обратите внимание, это не лучший код elisp в мире, но я постарался прояснить вам, что происходит, а не сделать его полностью идиоматичным. Книга GNU Elsip - отличное место для начала, если вы хотите больше работать с elisp.
НТН