R 및 RStudio에서 콘솔을 지우는 기능


319

R에서 콘솔을 지우는 기능이 있는지, 특히 RStudio가 키보드 단축키가 아닌 콘솔에 입력 할 수있는 기능을 찾고 있는지 궁금합니다.

누군가 2010 년부터이 StackExchange 게시물이러한 기능을 이미 제공했습니다 . 불행히도 이것은 RCom 패키지에 따라 다르며 Mac OS X에서는 실행되지 않습니다.


정확한 복제본은 아니지만 매우 관련이
있으며이

내가 개발 한이clc 스크립트 clc.R 만 입력하십시오 . 어떻게 작동합니까? clc<-0; class(clc) <- 'cleanup'; print.cleanup <- function(cleanupObject) cat("\f"). 마지막 줄은 RStudio에 해당하지만 터미널에서로 변경하십시오 print.cleanup <- function(cleanupObject) cat(c("\033[2J","\033[H")). clc.R는 자세한 내용이 포함되어 있습니다.
HubertRonald

답변:


545
cat("\014")  

콘솔에 CTRL+ 를 보내는 코드 L이므로 화면이 지워집니다.

전체 수익을 보내는 것보다 훨씬 낫습니다.


14
이것은 단지 대화식 터미널 (Ubuntu와 Mac OSX 모두)에 빈 줄 하나만 인쇄합니다
Scott Ritchie

2
나를 위해 작동합니다. 이것은 또한 Rstudio에서 매우 느린 콘솔 버그에 도움이 될 수 있습니다 .
Ruben

10
Mac의 RStudio에서는 작동하지만 R.app에서는 작동하지 않습니다! R.app에서 Cmd + Alt + L 명령은 Ctrl + L이 아니라 화면을 지 웁니다. 키 조합을 R.app로 보내는 비슷한 '코드'가 있습니까? (\ 014는 Form Feed의 ASCII 코드이므로 키 조합을 보내지 않고 Form Feed 명령 만 보내서 Cmd + Alt + L의 '코드'가 존재하지 않을 것 같습니다.)
Johan

2
나를 위해 작동하지 않습니다. 윈도우 7, R 콘솔. (r.exe).
알지 못한다

7
이것은 "일반적인"R 콘솔이나 DOS 콘솔이 아닌 Windows의 RStudio에서만 작동합니다. 레코드의 경우 양식 피드 문자이기도하며을 입력하면 cat("\f")됩니다.

103

기본 R 콘솔을 사용하는 경우 키 조합 Option+ Command+ L는 콘솔을 지 웁니다.


20
CTRL-L 당신이 나처럼 "i"라고 생각한 경우를 대비해서 :)
Neil McGuigan

5
OSX Yosemite의 Rstudio에 대해서도 Ctrl + L
ThinkBonobo

7
이것은 질문에 대답하지 않습니다. OP는 기능을 원했고 키보드 단축키가 아니라고 말했다.
demongolem

34

다음 기능을 정의 할 수 있습니다

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

그런 다음로 호출 할 수 있습니다 clc().


24

에서 우분투 그놈 , 단순히 누르면 CTRL+은 L화면을 취소합니다.

이것은 또한 Windows 10 및 7 및 Mac OS X Sierra에서도 잘 작동하는 것 같습니다.


23

cat("\f")보다 기억하기 쉬울 수 있습니다 cat("\014").

Windows 10에서 제대로 작동합니다.


19

shell("cls") Windows의 경우

shell("clear") Linux 또는 Mac의 경우

( shell()명령 (또는 문자열)을 호스트 터미널에 전달합니다.)


1
이것은 효과가 있었다. 다른 답변만큼 우아하지는 않지만 기억하기가 훨씬 쉽습니다.
Martini Bianco

2
이것은 Windows 10의 Rterm 콘솔에서 나를 위해 일한 유일한 명령입니다 ... 그러나 모든 것을 입력 해야하는 고통은 ...
Michael Szczepaniak

그렇기 때문에 Windows 10에서 R 터미널을 사용하여 RStudio를로드하는 것보다 훨씬 쉽습니다. 명령을 셸에 전달하는 것이 편리합니다. 나는 R에서 특정 순서로 문자 시퀀스를 일종의 "매핑"하는 방법이 있다고 생각하지만, 어떻게 해야하는지 정확하게 기억할 수는 없습니다. 함수처럼-그러나 입력량을 줄이기 위해 그렇게 할 수 있습니다. (예를 들어, 내가 좋아하는 뭔가 어디를 설정할 수 있다고 생각 clr()하거나 clr명령을 실행 shell("cls")하거나 shell("clear").)
라이언 블랜차드

1
마찬가지로, 이것은 RStudio와 내 Windows 7 셸 (cmd.exe) 창 모두에서 작동 한 유일한 것입니다. .Rprofile에 내가 추가 한 : clear_fun <- function() shell("cls"); makeActiveBinding("cls", clear_fun, baseenv());

1
이것은 Windows의 Visual Studio Code 터미널에서 작동합니다.
빌 월리스

12

위의 제안에서 빌려서 이것을 할 R 패키지를 개발했습니다. mise"mise en place"에서와 같이 패키지를이라고 합니다. 다음을 사용하여 설치하고 실행할 수 있습니다

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

참고 mise()모든 변수와 함수를 삭제하고 기본적으로 모든 수치를 닫습니다. 콘솔을 지우려면을 사용하십시오 mise(vars = FALSE, figs = FALSE).


12

기능은 다음과 같습니다.

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())

2
\014이 접근 방식 과 마찬가지로이 접근 방식은 Windows 10 시스템의 R 콘솔에서 재미있는 캐릭터를 제공합니다.
demongolem

\ 014 (또는 \ f)와 달리 이것은 Rterm의 Windows 10에서 저에게 효과적이었습니다.
Martini Bianco

@MartiniBianco : 여기 에 대한 답변 이 도움이 될 것이라고 생각합니다 . 기본적으로 "\ 033"은 "ESC"입니다. "[2J"및 "[0; 0H"는 화면을 지우고 커서를 각각 왼쪽 상단으로 이동합니다.
jvd10



3

리눅스에서는 system("clear")화면을 지우는 데 사용 합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.