【发布时间】:2014-03-13 13:59:14
【问题描述】:
我用 Vim 编写 R 脚本已经有一段时间了。从一个小时前开始,我开始遇到一个问题,每次我输入下划线 (_) 时,它都会自动转换为 <-。
我更改了哪些设置才能发生这种情况?谢谢!
【问题讨论】:
我用 Vim 编写 R 脚本已经有一段时间了。从一个小时前开始,我开始遇到一个问题,每次我输入下划线 (_) 时,它都会自动转换为 <-。
我更改了哪些设置才能发生这种情况?谢谢!
【问题讨论】:
VIM: r-plugin 确实改变了映射,但文档第 4.1 节指出“可以通过键入第二个下划线将实际的下划线插入到文件中”。
因此,虽然您可以 disable 将 _ 转换为
【讨论】:
:verbose imap _ 应该告诉你是哪个(可能是文件类型插件)设置了这个。
它不太可能是缩写,但:verbose ia _ 会告诉你。
【讨论】:
_ 曾经是 S(然后是 R)中的赋值运算符。所以x_5 就像x<-5,所以 emacs 的 ESS 和 Vim 的 R 插件实现了这个替换,以帮助我们老前辈和惹恼 hadley_fan_bois :)
还值得补充的是,一个方便的设置可能涉及重新分配运算符,例如.vimrc 设置:
" Nvim-R extra settings
"" Change assignment operator
let R_assign_map = "|"
会将r 赋值运算符<- 分配给Shift+|。这个功能是described ithe provided documentation。在R_assign 部分。
【讨论】:
要为您的功能添加更多选项,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 翻转它,使一个 _ 生成 _ 另一个 _ 生成
【讨论】: