Kiz*_*aru 7 emacs elisp indentation bison flex-lexer
Emacs在Flex和Bison中对自动缩进的处理很差.事实上,它似乎不支持flex模式.那么,emacs用户如何应对这些?我喜欢VIm,但我不想切换,因为我在Emacs中更快更舒服.
几个月前,我为Bison设立了第三方elisp模块,但当它的缩进破坏时,它永远不会被修复.简而言之,这是一个糟糕的黑客.
或者有没有办法可以关闭.l和.y文件的自动缩进(所以按下会做一个缩进)?我如何仅为emacs更改此elisp设置?
一个简洁的elisp指南也非常有用.如果我有正确的文档,我不介意花几天时间编写自己的flex和bison模式.
Emacs 主要根据文件扩展名来选择主要模式。.l是一个有争议的扩展:有些人将其用于 lex,其他人则用于 lisp(还有其他一些更罕见的用途)。Emacs.l与 lisp 和.lexlex(它使用 C 模式)相关联。
如果.l您使用的文件更多的是 lex 而不是 lisp,您可以更改.l与以下行关联的文件.emacs:
(add-to-list \'auto-mode-alist \'("\\\\.l\\\\\'" . c-mode))\nRun Code Online (Sandbox Code Playgroud)\n\n您还可以在文件内声明 Emacs 打开文件时使用的模式。将以下代码片段放在文件的第一行(通常在注释中):
\n\n-*-mode: c-mode-*-\nRun Code Online (Sandbox Code Playgroud)\n\n这是一个更通用的功能,提供其他语法和其他可能性;有关详细信息,请参阅 Emacs 手册中的 \xe2\x80\x9cFile Variables\xe2\x80\x9d。
\n\n如果您想开始使用 Emacs Lisp,请阅读Emacs Lisp 简介(可能包含在您的 Emacs 或操作系统发行版中)。一旦您稍微了解了该语言的基础知识,您就可以转向 Emacs Lisp 参考手册中有关模式的章节。
\n