我有一个单独的文件,在tex中写入时加载,所以我只是把它扔到那里,所以它不会影响正常的emacs行为。
感谢您的帮助。
考虑添加此但相同的相关问题是使用Alt + d和删除时。让它不仅删除单词而且删除例如......(,。!等等)的标点符号。
答案 0 :(得分:3)
以下代码适合您:
(defun unpunctuate-syntax (str)
"Make the characters of the given string word characters."
(let ((st (copy-syntax-table (syntax-table))))
(dotimes (n (length str))
(modify-syntax-entry (elt str n) "w" st))
(set-syntax-table st)))
(defun dots-are-not-punctuation ()
(unpunctuate-syntax "."))
(add-hook 'TeX-mode-hook 'dots-are-not-punctuation)
M-f(前向字功能)的工作方式是它跳过缓冲区中当前语法表中类型为“w”(即单词)的所有字符。
此代码生成修改后的语法表并将其提供给缓冲区,底部的add-hook位将其设置为在TeX模式下打开文件时运行。 (此方法避免了您必须执行您描述的单独文件)。
您可能会注意到我复制了语法表而不是编辑属于TeX主模式的语法表。这是因为我在使用语法表时总是弄错了你可以把事情搞得一团糟......这个方法意味着你只需关闭缓冲区然后重新开始!