键入括号时不需要的缩进

时间:2018-09-28 20:50:37

标签: emacs

我在Mac OS终端中使用Emacs。看来,当我键入open(shift + 9)或close(shift + 0)括号时,除了期望的括号显示之外,它还会意外地插入许多空格。我在键入括号之前和之后都包含了以下效果:

before typing parenthesis

after typing parenthesis

我是Emacs的新手。因此,我不确定错误是关于什么的。谁能给我关于如何继续修复此错误的任何想法?非常感谢,伙计们!

1 个答案:

答案 0 :(得分:3)

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

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

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

  • 安装提供对您的语言(例如mathematica-mode)的支持的Elisp软件包
  • 将文件扩展名更改为Emacs期望的那种语言。
  • 更改auto-mode-alist来告诉Emacs以哪种模式使用以.m结尾的文件,例如:

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