Emacs 在前一行输入缩进?
在Emacs24.3(9.0)中,我使用最新的Emacs 在前一行输入缩进?,emacs,yaml,Emacs,Yaml,在Emacs24.3(9.0)中,我使用最新的yaml模式,通过el get update安装。当我在一行末尾点击ENTER时,它有一个不幸的习惯,即在插入换行符之前自动缩进我所在的行 例如,从该缓冲区开始: foo: bar: - baz baz:# <- Cursor here foo: 酒吧: -巴兹 baz:#正如我们在评论中发现的那样,某种原因导致重新缩进,然后换行和缩进绑定到RET 我不确定绑定从何而来,但您应该能够在YAML模式下将RET重新绑定到换行和缩进,
yaml模式
,通过el get update
安装。当我在一行末尾点击ENTER
时,它有一个不幸的习惯,即在插入换行符之前自动缩进我所在的行
例如,从该缓冲区开始:
foo:
bar:
- baz
baz:# <- Cursor here
foo:
酒吧:
-巴兹
baz:#正如我们在评论中发现的那样,某种原因导致重新缩进,然后换行和缩进
绑定到RET
我不确定绑定从何而来,但您应该能够在YAML模式下将RET
重新绑定到换行和缩进,如下所示:
(添加钩子'yaml模式钩子
"(lambda)
(定义键yaml模式映射“\C-m”'换行和缩进)))
或者,如果您不想自动缩进下一行,则只需转到新行
:
(添加钩子'yaml模式钩子
"(lambda)
(定义键yaml模式映射“\C-m”'缩进)))
添加该钩子时,当我下次调用yaml模式时,我得到以下错误:符号的函数定义无效:电缩进本地模式
。也许我的emacs没有你想象的那么先进?如果有帮助的话,我将从中获取我的OSX版本。@DavidEyk,这是可能的。M-x版本的完整输出是什么?
?我只是想澄清一下,我在任何其他模式下都没有这种行为,只有yaml-mode.GNU Emacs 24.3.1(x86_64-apple-darwin13.1.0,NS-apple-appkit-1265.19)@DavidEyk,我对你的Emacs有多新肯定是错的。如果您从YAML缓冲区执行C-h k RET
,它会说它正在运行哪个命令?C-j
是否执行您想要的(期望的)操作?如果是这样,只需将其键绑定与RET
的键绑定交换即可。我相信这是yaml模式项目中公认的问题:希望有人能很快解决它!
foo:
bar:
- baz
baz: # <- unwanted indentation!
# <- Cursor here