我使用的是Windows上的Emacs 24写一些R代码里面。 直到大约30分钟前,每当我会写一个新的功能,ESS将自动缩进下面的函数声明,并按下一个新的空白行Tab键会跳我的声明内适当缩进的起始位置的线。
例如:
foo <- function() {
first line started here
second line here. .etc
}
现在,它是硬包装的一切到左边,而不是由函数声明之后自动缩进或当我按下TAB键响应。
foo <- function() {
first line
second line
}
我GOOGLE了,但我的谷歌福失败了我这一点。 任何人都知道如何默认选项卡的行为恢复到ESS在Emacs?
尝试“#”后添加一个空格。 我不认为ESS-模式处理#为注释,除非你之后有空间。
只是备案。 当这样的事情发生,选择整个缓冲区CX小时 ,按CM- \缩进整个区域。 这将毫无疑问地显示了语法错误。
我只是碰到你描述了同样的问题来了。
以上都不似乎工作,但我把范围缩小到使用字符串中回车,然后左括号,就像这样:
### indent ( <tab> ) working fine up to here
s1 <- "string
(then this in brackets)"
### now indent does nothing!
它后来的平衡其实于事无补。 我觉得Emacs读取本作中,尽管它在带引号的字符串发生的事实打开一个新的表达式/块。 这似乎也适用于表达叹为观止{
和[
。 它似乎只在“开放式”符号出现在该行的开始发生...
在我的情况下,字符串是一场阴谋标签的一部分,因此该解决方案是使用\n
来代替。