gpt4 book ai didi

flex 和 bison 的 Emacs 模式,或删除这些模式的自动缩进?

转载 作者:行者123 更新时间:2023-12-04 12:37:57 25 4
gpt4 key购买 nike

Emacs 在 Flex 和 Bison 中对自动缩进的处理很差。实际上,它似乎不支持 flex 模式。那么,emacs 用户如何应对这些问题呢?我喜欢 VIm,但我不想切换,因为我在 Emacs 中更快、更舒服。

几个月前,我为 Bison 提供了一个第三方 elisp 模块,但是当它的缩进损坏时,它永远无法修复。简而言之,这是一个糟糕的 hack。

或者有没有办法可以关闭 .l 和 .y 文件的自动缩进(所以按下会做一个缩进)?我将如何仅为 emacs 更改此 elisp 设置?

一份简洁明了的 elisp 指南也会很有帮助。如果我有正确的文档,我不介意花几天时间编写我自己的 flex 和 bison 模式。

最佳答案

Emacs 主要根据文件扩展名来选择主模式。 .l是一个有争议的扩展:有些人将它用于 lex,其他人用于 lisp(还有一些其他更罕见的用途)。 Emacs 员工 .l使用 lisp 和 .lex使用 lex(为此它使用 C 模式)。

如果 .l您使用的文件通常是 lex 而不是 lisp,您可以更改 .l文件与您的 .emacs 中的以下行相关联:

(add-to-list 'auto-mode-alist '("\\.l\\'" . c-mode))

您还可以在文件中声明您希望 Emacs 在打开文件时使用什么模式。将以下代码段放在文件的第一行(通常在注释中):
-*-mode: c-mode-*-

这是一个更通用的功能,提供其他语法和其他可能性;有关详细信息,请参阅 Emacs 手册中的“文件变量”。

如果您想开始使用 Emacs Lisp,请阅读 Emacs Lisp intro (可能包含在您的 Emacs 或 OS 发行版中)。稍微了解一下该语言的基础知识后,您可以转到 Emacs Lisp 引用手册中关于模式的章节。

关于flex 和 bison 的 Emacs 模式,或删除这些模式的自动缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3489890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com