用于清除R和RStudio中的控制台的功能

Ber*_* U. 299 r

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

有人已经在2010年的StackExchange帖子中提供了这样的功能.不幸的是,这取决于RCom包,不能在Mac OS X上运行.

小智 513

cat("\014")  
Run Code Online (Sandbox Code Playgroud)

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

远远不只是发送大量的回报.

  • 这只是打印一个空白行到我的交互式终端(在Ubuntu和Mac OSX上) (13认同)
  • 适用于Mac上的RStudio,但不适用于R.app!在R.app中,命令Cmd + Alt + L清除屏幕,而不是Ctrl + L ...是否有类似的"代码"将该组合键发送到R.app?(我看到\ 014是Form Feed的ASCII代码,所以我猜它不是发送组合键而只是发送Form Feed命令,这使得Cmd + Alt + L的'代码'不太可能存在.) (10认同)
  • 这仅适用于Windows上的RStudio,而不适用于"通常"R控制台或DOS控制台.对于记录,它也是Form Feed字符,您只需键入`cat("\ f")`. (6认同)
  • 适合我.这也可能有助于Rstudio中的*极慢的控制台*-bug. (2认同)
  • 不适合我.Windows 7,R控制台.(运行R.exe). (2认同)

小智 100

如果您使用的是默认的R控制台,则组合键Option+ Command+ L将清除控制台.

  • Windows 7上的RStudio,CTRL + l适合我! (39认同)
  • CTRL-L以防你认为那是一个"我",像我一样:) (19认同)
  • 这不回答这个问题.OP需要一个功能,并清楚地说不是键盘快捷键. (6认同)
  • 在OSX Yosemite上按Ctrl + L表示Rstudio. (5认同)
  • 也适用于Linux(Ubuntu 14.04)btw. (3认同)

Car*_*oft 32

您可以定义以下功能

clc <- function() cat(rep("\n", 50))
Run Code Online (Sandbox Code Playgroud)

你可以称之为clc().

  • 这不会清除控制台,而是插入 50 个空行,从而提高输出。 (3认同)

kma*_*o23 24

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

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


bog*_*gec 21

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

它在Windows 10上适用于我.


Rya*_*ard 12

shell("cls") 如果在Windows上

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

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

  • 这是在 Windows 10 上的 Rterm 控制台中唯一对我有用的命令......但是不得不输入所有这些是多么痛苦...... (2认同)
  • 如果我在 [snippet](https://support.rstudio.com/hc/en-us/articles/204463668-Code-片段?版本=1.2.5033&amp;模式=桌面) (2认同)

jvd*_*d10 11

这是一个功能:

clear <- function() cat(c("\033[2J","\033[0;0H"))
Run Code Online (Sandbox Code Playgroud)

然后你可以简单地调用它,因为你调用任何其他R函数,clear().

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

clear_fun <- function() cat(c("\033[2J","\033[0;0H"));
makeActiveBinding("clear", clear_fun, baseenv())
Run Code Online (Sandbox Code Playgroud)

  • 与`\ 014`方法非常相似,这种方法给我带来了有趣的角色(来自Windows 10计算机上的R控制台)。 (2认同)

小智 10

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

install.packages("mise")
library(mise)
mise()
Run Code Online (Sandbox Code Playgroud)

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


Nik*_*hil 10

在linux下用于system("clear")清屏。


Rak*_*esh 5

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

RStudio - CTRL+L

  • 该问题要求一个功能,并明确表示不需要键盘快捷键! (5认同)

小智 5

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