【问题标题】:Vim: underscore(_) automatically converted to (<-)Vim:下划线(_)自动转换为(<-)
【发布时间】:2014-03-13 13:59:14
【问题描述】:

我用 Vim 编写 R 脚本已经有一段时间了。从一个小时前开始,我开始遇到一个问题,每次我输入下划线 (_) 时,它都会自动转换为 &lt;-

我更改了哪些设置才能发生这种情况?谢谢!

【问题讨论】:

    标签: r vim settings


    【解决方案1】:

    VIM: r-plugin 确实改变了映射,但文档第 4.1 节指出“可以通过键入第二个下划线将实际的下划线插入到文件中”。

    因此,虽然您可以 disable 将 _ 转换为

    【讨论】:

      【解决方案2】:

      :verbose imap _ 应该告诉你是哪个(可能是文件类型插件)设置了这个。

      它不太可能是缩写,但:verbose ia _ 会告诉你。

      【讨论】:

      • 如果你不知道你的历史,_ 曾经是 S(然后是 R)中的赋值运算符。所以x_5 就像x&lt;-5,所以 emacs 的 ESS 和 Vim 的 R 插件实现了这个替换,以帮助我们老前辈和惹恼 hadley_fan_bois :)
      【解决方案3】:

      还值得补充的是,一个方便的设置可能涉及重新分配运算符,例如.vimrc 设置:

      " Nvim-R extra settings
      "" Change assignment operator
      let R_assign_map = "|"
      

      会将 赋值运算符&lt;- 分配给Shift+|。这个功能是described ithe provided documentation。在R_assign 部分。

      【讨论】:

        【解决方案4】:

        要为您的功能添加更多选项,Nvim-R 不仅有 @konrad 指出的 R_assign_map,还有管理该功能如何工作的 R_assign。先前关于重复答案的答案提到过时版本的 R_assign(旧名称)被设置为 0 作为答案。

        我发现至少在此发布日期(虽然该变量仍称为R_assign),使用此变量的实际方法是有 2 个有效值,因此有 3 个函数。我只尝试了 -1 到 3 的值,但我发现 1 和 2 会产生一些东西,所以它们是:

        • 无效值(let R_assign=-1(除 1 和 2 之外的任何值))使得 _ 产生了
        • let R_assign=1 生成的默认记录行为 1 _ 生成
        • let R_assign=2 翻转它,使一个 _ 生成 _ 另一个 _ 生成

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-06
          • 2013-04-29
          相关资源
          最近更新 更多