2016-07-25 36 views
1

寻找在乳胶模式下设置变量。这个想法是,在latex模式下设置的值将覆盖custom部分中设置的相同变量的值。我对emacs非常陌生,所以这些是我的尝试:在特定模式下设置变量emacs

(add-hook 'LaTeX-mode-hook '(setq line-move-visual t)) 
    (add-hook 'latex-mode-hook (lambda() (setq line-move-visual t))) 

为什么这些不起作用?我该怎么做呢?

澄清:寻找设置变量(setq线移动可视T),因为我有它(setq线移动可视为零)的所有其他文件

+0

第二行应该工作。你是如何将“line-move-visual”设置为零的?这两个设置可能会造成干扰。 – legoscia

+0

对不起,刚刚意识到你已经在你的问题中提到过。想不到第二行不行的原因,那么...... – legoscia

+0

如果你使用的是AUCTeX库而不是内置的'tex-mode.el',那么试试如何?:((add -hook'LaTeX-mode-hook(lambda()(setq line-move-visual t)))'每个使用AUCTeX的人都会对钩子感到困惑,因为它们与内置库非常相似: https://www.gnu.org/software/auctex/manual/auctex/Modes-and-Hooks.html – lawlist

回答

1

如果你只是setq在变量您LaTeX-mode-hook也会影响其他任何打开的缓冲区。这是可能做出改变仅仅影响当前缓冲:当您使用

(add-hook 'LaTeX-mode-hook 
     (lambda() 
     (make-variable-buffer-local 'line-move-visual) 
     (setq line-move-visual nil))) 

而且,请注意,对于在Emacs LaTeX的默认模式的挂钩被latex-mode-hook但钩(远远优于) AUCTeX被称为LaTeX-mode-hook

相关问题