这个问题是关于在导航命令历史记录时将R控制台配置为像bash shell一样。它与?history
有些相关。对于括号封闭的多行,我想将R的命令历史导航配置为类似于bash。
目前,在Linux下在xterm中运行R时,使用向上箭头导航命令历史记录会导致每个前一行被逐一调用,即使一组行已用大括号括起来。例如,当将多行函数从文本编辑器复制/粘贴到R控制台时,会发生这种情况。 bash不是这样。 以下是bash如何在这方面发挥作用的示例:
在Linux下的xterm中的bash shell中,键入以下五行后......
a=1
{
x=1
y=1
}
......第一次按下向上箭头会回想起支架封闭命令的单行重新制定,就像这样......
{ x=1; y=1; }
......第二次出版会回忆起这个......
a=1
似乎在R中,向上箭头一次向后导航一行,无论封装如何。有没有办法配置R,以便它的命令历史导航功能像bash的?
答案 0 :(得分:1)
您可以使用rlwrap。我将它用于其他控制台程序,它运行良好。您需要在R命令前加上rlwrap二进制文件,然后可以通过多种方式恢复历史记录行,包括多行匹配。
答案 1 :(得分:1)
适用于Linux / Unix的解决方法
与Rstudio类似(感谢 Ari B. Friedman 评论),R控制台中的用户使用 Shift Enter 来绕过RETURN ,您可以使用 Ctrl-V Ctrl-J 启动新行(在R终端中)而不接受换行命令。这样,多行命令将被接受为历史记录,作为带有换行符而不是输入的单行,您甚至有机会编辑它。您甚至可以在.inputrc
文件中管理此操作的自定义组合。
我认为R的直接重新配置是不可能的。