下划线作为前进单词不起作用的单词的一部分

oil*_*o11 12 emacs emacs23 nxhtml

我试图让下划线被视为此处此处forward/backward-word描述的函数的一部分.我特意试图让它适用于模式,但是我真的希望它适用于所有模式.nxhtml

我已经修改了我的site-start.el文件许多不同的方式但无济于事.但是如果我M-x modify-syntax-table在缓冲区中手动执行命令,它就可以正常工作.我只是不能将此作为默认行为.

这是我尝试放入我的site-start.el文件:

;; 1
;; thought  this would apply it to all modes - no error, but did not work
(modify-syntax-entry ?_ "w") 

;; 2
;; thought this would automatically set it on a mode change - no error, but did not work
(defun change-major-mode-hook ()
(modify-syntax-entry ?_ "w"))


;; 3
;; thought  this would apply it to all modes - no error, but did not work
(modify-syntax-entry ?_ "w")

;; 4
;; this produced a symbol's value as variable is void error
(modify-syntax-entry ?_ "w" nxhtml-mode-syntax-table)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Tre*_*son 19

你试过nxhtml-mode-hook直接修改吗?像这样:

(add-hook 'nxhtml-mode-hook
          (lambda () (modify-syntax-entry ?_ "w")))
Run Code Online (Sandbox Code Playgroud)


eve*_*_jr 6

特雷回答了你非常具体的问题.

但是,Emacs已经拥有了一个符合你要求的角色组织:sexp.如果您学习了sexp命令而不是破坏单词命令,那么您可以根据情况适合删除"word"或"symbol".