我不太喜欢 AUCTeX 缩进 latex 代码的方式,总体来说我觉得它相当难以预测(我想我还不习惯它的工作方式)。有些模式只是将 tab 键绑定到“移动当前行,使其从下一个制表位开始”。有没有办法在 AUCTeX 中实现这一点?理想情况下,行会用空格缩进。
类似地,有没有办法将 Shift+Tab 绑定到“将当前行缩进回上一个制表位”?
我设法改变了 Tab 键的行为,但只能在当前位置插入制表符,这并不是很好。
答案1
好吧,我不太擅长使用 emacs,但由于其他人似乎没有任何想法,所以我想我可以尝试提供可能有助于解决问题的资源:
我发现以下说明看起来很有希望:
Mi 从鼠标指针缩进到下一个预先指定的制表位列 (tab-to-tab-stop)。
[...]
如果您只想在缓冲区中插入一个制表符,您可以输入 Cq TAB。
您应该能够将键重新绑定到 Mi,或 Mi 调用的任何函数。有关此内容的更多信息,请参阅第二篇制表位。
我发现其他可能有帮助的资源:
http://www.emacswiki.org/emacs/IndentingC#toc7描述如何关闭自动制表并让其在每次按下制表符时插入制表位。但是这是针对 c 模式的,我不知道 ACUTeX 的钩子是否相同。
http://www.gnu.org/software/emacs/manual/html_node/ccmode/Indentation-Commands.html#Indentation-Commands描述如何使键简单地插入一定数量的空格或制表符。