Emacs 键入括号时不需要的缩进

Emacs 键入括号时不需要的缩进,emacs,Emacs,我在Mac OS终端中使用Emacs。似乎当我键入open(shift+9)或close(shift+0)括号时,除了预期的括号显示之外,它还意外地插入了许多空格。我在键入括号之前和之后添加了效果,如下所示: 我是Emacs的新手。所以,我不确定这个bug是关于什么的。有谁能告诉我如何修复这个bug吗?非常感谢,伙计们 模式行中的“ObjC”表示Emacs决定对该缓冲区使用Object-C模式。这可能是因为.m文件扩展名通常是用于Objective-C文件的扩展名 默认情况下,当您点击一些标

我在Mac OS终端中使用Emacs。似乎当我键入open(shift+9)或close(shift+0)括号时,除了预期的括号显示之外,它还意外地插入了许多空格。我在键入括号之前和之后添加了效果,如下所示:

我是Emacs的新手。所以,我不确定这个bug是关于什么的。有谁能告诉我如何修复这个bug吗?非常感谢,伙计们

模式行中的“ObjC”表示Emacs决定对该缓冲区使用Object-C模式。这可能是因为
.m
文件扩展名通常是用于Objective-C文件的扩展名

默认情况下,当您点击一些标点符号时,Objective-C模式会为您重新插入当前行,如
{
和其他一些模式。当然,您可以禁用它,但在您的情况下,这将解决真正的问题,即您的文件不是以Objective-C模式编写的,因此您应该使用另一种模式,这不仅可以解决当前的问题,还可以为您带来许多其他好处

我不确定您使用的是哪种语言,但我认为您所需要的只是以下其中一种(或两者的组合):

  • 安装为您的语言提供支持的Elisp软件包(例如mathematica模式)
  • 将文件扩展名更改为Emacs对该语言的预期扩展名
  • 更改
    自动模式列表
    ,告诉Emacs以
    .m
    结尾的文件使用哪种模式,例如:

    (add-to-list 'auto-mode-alist '("\\.m\\'" . octave-mode))
    

您使用的主要模式是什么?可能它试图正确缩进。这不是错误,它是调用
indent-relative
indent-relative-Maybe
(可能)由你的主要模式。也投票将其移到@choroba:请看新的图像。它在倒数第二行显示Objc。但是,我不知道这是什么意思……然而,在我看来,前面几行似乎并不暗示缩进。@yorodm:如果我想快速解决这个问题,你知道如何关闭它吗?根据所有的评论,我猜也许我需要改变主修模式。正确吗?完美的答案!我试了你的第3项,效果很好!谢谢你的解释和指导。