如何获取不同 Major mode 的 comment-start 变量?

emacs-lisp-mode  ;; => ; 
python-mode ;;  => # 

(with-temp-buffer
  (emacs-lisp-mode)
  comment-start)

这么做应该可以,但是要加载整个mode,不知道有没有更好的办法

huh,emacs有mode-local-var吗?我估计是在hook里设置的吧,你用的方法挺好的啊

那又怎样?等这给造成了实际的影响再解决也不迟。

如果你希望禁用 Major Mode 的 hook,可以用 delay-mode-hooks,比如

(delay-mode-hooks (python-mode))

另外,为什么你要获得 comment-start?这真的对于解决你想解决的问题是必须的吗?你想解决的问题是什么?

实际需求:

比如 rg 搜索的时候忽略掉注释

-t elisp ^[^\n\r;]*helloworld

既然有了Elisp,就没必要再手打这个;

可以自己搜集一下不同mode的这些值,然后定义一个表放进去用,因为这些东西很固定,一般不会发生变化

1 个赞

好主意~~~