如何在Rterm.exe上更改行长度

时间:2013-01-09 14:30:09

标签: r cmd rgui rterm

我在R 2.15.2上使用windows XP

我曾经习惯使用Rgui.exe,但它缺乏我喜欢使用的UNIX标准,例如CTRL+R <=>backward researchCTRL+U <=>erase line ......

如果我错过了什么,请告诉我!

然后我尝试Rterm.exe(看起来与R.exe相同),它具有所有这些不错的功能。我找到了如何调整它右键单击窗口顶部来设置高度 - 这就像调整从cmd.exe获得的窗口一样。)

问题是,现在我在窗口上看不到75个字符,最后有$:像这样:

R) ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp$

不确定它是否是R的{​​{1}}选项,但如果我设置windows,我可以在窗口的整个宽度上看到options("width"=180)

不确定发生了什么,我可以修改吗?

我们仍然不知道那个的答案,所以我想50分到奥斯卡德莱昂...对他来说对我不好......

3 个答案:

答案 0 :(得分:3)

可悲的是,它似乎是内置的。

trying to print long strings时R曾经存在问题。显然它首先在Rterm和其他版本的R中修复,然后在Rgui中修复。

当Rgui被修复时,可能是通过不同的方式,因为这个问题可以在Rgui中修复,但不能在R的其他Windows版本中修复。您可以在RguiRterm中更改控制台的输出宽度。 (稍后)Duncan Murdoch

提示是另一个故事。它实际上与输出空间不同,因此可以通过不同的选项进行控制;但是,这只适用于Rgui。为此,请在pgcolumns=180下的Rconsole文件中设置[R HOME]\etc\。这会修改Rgui控制台内部寻呼机的宽度,并有效地允许您为每个输入提示输入最多180个字符。

可能有一种方法可以将这种行为整合到Rterm中,也许{{3}}可以指向正确的方向(或证明我完全错误)。

答案 1 :(得分:2)

我不确定要求的是什么。如果RTerm.exe中需要显示长行的结尾(并将光标放在那里),则使用 CTRL - E 。您可以使用 CTRL - A 返回到行的开头。可以根据需要反复来回,直到使用 ENTER

readline的控制字符似乎处于活动状态,例如 CTRL - P 向后滚动一个命令并且 CTRL - 如果你多次点击 CTRL - P N 会从历史记录中显示“下一个”命令。 (这些行为与 up / 向下箭头键的行为相同。)有关其他预期的readline行为,请参阅link

在我的机器上 alt - f alt - b (应该是 meta - f meta - b )本身没有单词向前或向后移动,但是 ESC - b ESC - f 在超出控制台宽度的行上执行了此操作,并且右边或左边标记了$的标记范围有待进一步考虑的材料。

如果你想包装显示行,那么你需要考虑readlinelink的替代或添加,但这是一个未经测试的建议,仅仅是搜索的结果:“readline wrap显示”。

答案 2 :(得分:1)

该命令应为options(width = 180)width附近没有引号),但是当您在Windows shell中运行Rterm时,它不会考虑对此值的更改;它只是输出与控制台一样宽的输出。

使用IDE的最佳方式是(几乎总是)使用IDE。如果您想要UNIXy,请尝试使用emacs + ESS或众多vim插件之一(R.vimvim-RVIM:r-plugin)。