在Tab中完成ESS中的文件路径后,smartparens会插入转义引号

时间:2014-09-26 18:28:45

标签: r emacs ess

我最近开始使用Emacs(prelude,安装了smartparens),我正在尝试在ESS中编写一些R脚本。我发现当我选项卡完成文件路径时,例如在调用read.csv()时,然后尝试键入第二个"以超过它,将插入一对转义的引号。那么read.csv("~/foo/bar.csv")应该成为read.csv("~/foo/bar.csv\"\"")

但是,如果我在不使用制表符完成的情况下键入文件路径,一切正常,键入第二个"只会使光标超过它。

我尝试了this slightly different question的解决方案,现在额外的引号集不会被转义,但仍会插入。

如果我在它们之间使用制表符完成,似乎smartparens无法识别我何时达到一对引号的末尾。是这种情况,如果有,有什么方法可以解决它吗?

1 个答案:

答案 0 :(得分:1)

您认为此行为是由smartparens引起的。 它与关闭活动sexp - 表达式的功能有关,如果您键入除正常键以外的任何键,则#34;像一封信。有关详细信息,请参阅函数sp-skip-closing-pair的帮助以及其源文本。 (如果你有兴趣的话。)

为避免这种情况,您可以将sp-cancel-autoskip-on-backward-movement自定义为nil

这会影响更多功能。对于实例,如果使用光标键向后移动,则不再停用sexp。不过,您可以将光标放在sexp

之外来停用它