我想要一个切换器,它可以在上面的每一行(点)前面添加/删除“..”(有一个空格——但我不能让它更明显)字符串。这是我最好的选择:
(defun rst-comment-above (Point)
(interactive "d")
(save-excursion
(goto-char 1)
(cond
((numberp (get this-command 'state))
((replace-regexp "^\\.\\. " "" nil (point) (get this-command 'state)))
(put this-command 'state ""))
(t
(replace-regexp "^" ".. " nil (point) Point)
(put this-command 'state Point))
)))
它第一次工作,但第二次它说:
(invalid-function
(replace-regexp "^\\.\\. " "" nil (point) (get this-command (quote state))))
编辑:
@用户4815162342:
所以我评论上面的事情:
然后我插入新行:
然后我想取消注释,我得到:
但可能它并不那么重要。我一般不会在评论区输入任何内容。我只是注意到这个问题。更重要的是——'state
跨会话存储给定文件的。实施起来难吗?