希望在乳胶模式下设置变量。我们的想法是在latex模式下设置的值将覆盖customize部分中设置的相同变量的值。我是emacs的新手,所以这些是我的尝试:
(add-hook 'LaTeX-mode-hook '(setq line-move-visual t))
(add-hook 'latex-mode-hook (lambda () (setq line-move-visual t)))
为什么这些不起作用?我该怎么做呢?
澄清:寻找设置变量(setq line-move-visual t),因为我将其设置为(setq line-move-visual nil)所有其他文件
答案 0 :(得分:5)
如果你只是setq
LaTeX-mode-hook中的变量,它也会对任何其他开放缓冲区产生影响。可以使更改仅影响当前缓冲区:
(add-hook 'LaTeX-mode-hook
(lambda ()
(make-local-variable 'line-move-visual)
(setq line-move-visual nil)))
另外,请注意,Emacs中LaTeX默认模式的钩子称为latex-mode-hook
,但当您使用(远远优于)AUCTeX时,钩子称为LaTeX-mode-hook
编辑:将make-variable-buffer-local
更改为make-local-variable
。请参阅对此答案的评论。