【问题标题】:How to set up custom automatic character replacement in emacs ess?如何在 emacs ess 中设置自定义自动字符替换?
【发布时间】:2020-04-02 16:55:58
【问题描述】:

ess-mode(Emacs 讲统计)的一个有用功能是自动将下划线_ 替换为赋值运算符<-。最近,我一直在使用很多管道(写成%>%),不必为每个管道输入三个字符会很棒。

是否可以为管道定义自定义键绑定,类似于将_ 转换为->

【问题讨论】:

    标签: r emacs ess


    【解决方案1】:

    查看yasnippet。你可以用它来定义类似“如果这个字符序列后面跟着这个键(你可以定义任何你喜欢的),然后用这个其他字符序列替换它们并将光标留在这个地方”。 yasnippet 的功能远不止这些,但网上有很多文档,甚至已经制作了类似于我上面给出的示例的食谱,您可以尝试一下,例如 yasnippet-ess-mode

    或者,您也可以尝试abbrev-mode 看看是否适合您。

    我,例如yasnippet 更好,因为您还可以指定扩展后光标的位置,但abbrev-mode 似乎更容易设置。与 Emacs 世界中的往常一样,尝试多种解决方案,不要满足于第一个解决方案。对其他人最有效的方法可能不适合您,反之亦然。

    【讨论】:

      【解决方案2】:

      最简单的解决方案是只绑定一个键来插入一个字符串:

      (define-key ess-mode-map (kbd "|") "%>%")
      

      您仍然可以使用C-q | 插入|。我不确定地图的名称;您几乎肯定希望将键绑定限制为ess-mode

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-20
        • 1970-01-01
        • 1970-01-01
        • 2014-01-14
        • 2014-07-29
        相关资源
        最近更新 更多