345

我想知道 R 中是否有清除控制台的功能,特别是 RStudio,我正在寻找可以在控制台中键入的功能,而不是键盘快捷键。

从 2010 年开始,有人已经在StackExchange 的这篇文章中提供了这样的功能。不幸的是,这取决于 RCom 包并且不能在 Mac OS X 上运行。

4

13 回答 13

591
cat("\014")  

是将CTRL+发送L到控制台的代码,因此将清除屏幕。

比仅仅发送大量退货要好得多。

于 2013-04-18T13:49:10.243 回答
107

如果您使用的是默认的 R 控制台,组合键++Option将清除控制台。CommandL

于 2013-12-18T05:50:09.850 回答
38

您可以定义以下函数

clc <- function() cat(rep("\n", 50))

然后您可以将其称为clc().

于 2013-01-10T16:51:16.607 回答
29

Ubuntu-Gnome中,只需按CTRL+即可L清除屏幕。

这似乎也适用于 Windows 10 和 7 以及 Mac OS X Sierra。

于 2016-02-05T20:40:07.540 回答
29

shell("cls")如果在 Windows 上,

shell("clear")如果在 Linux 或 Mac 上。

shell()将命令(或任何字符串)传递给主机终端。)

于 2018-03-30T01:16:35.620 回答
28

cat("\f")可能比 更容易记住cat("\014")

它适用于我在 Windows 10 上。

于 2016-05-29T17:15:16.267 回答
15

这是一个函数:

clear <- function() cat(c("\033[2J","\033[0;0H"))

那么您可以像调用任何其他 R 函数一样简单地调用它,clear().

如果您更喜欢简单地输入clear(而不是必须输入clear(),即使用括号),那么您可以这样做

clear_fun <- function() cat(c("\033[2J","\033[0;0H"));
makeActiveBinding("clear", clear_fun, baseenv())
于 2016-06-29T18:00:03.030 回答
14

我借鉴了上面的建议,开发了一个可以做到这一点的 R 包。该包称为 called mise,如“mise en place”。您可以使用安装和运行它

install.packages("mise")
library(mise)
mise()

请注意,mise()默认情况下还会删除所有变量和函数并关闭所有图形。要清除控制台,请使用mise(vars = FALSE, figs = FALSE).

于 2016-07-05T00:47:44.003 回答
7

如果您使用的是默认的 R 控制台CTRL+L

RStudio - CTRL+L

于 2018-04-23T09:55:44.060 回答
5

在linuxsystem("clear")中用来清屏。

于 2018-08-06T17:13:35.763 回答
4

可以结合以下两个命令

cat("\014"); 
cat(rep("\n", 50))
于 2016-11-11T18:35:21.940 回答
3

猫(“\014”)。这将起作用。不用担心

于 2020-04-14T10:12:32.050 回答
0

RStudio 的另一个选项是rstudioapi::sendToConsole("\014"). 即使输出被转移,这也将起作用。

sink("out.txt")

cat("\014") # Console not cleared

rstudioapi::sendToConsole("\014") # Console cleared

sink()
于 2020-11-12T03:30:35.103 回答