R और RStudio में कंसोल को साफ़ करने का कार्य


319

मैं सोच रहा हूं कि क्या R और कंसोल में कोई क्लीयर करने के लिए कोई फंक्शन है, विशेष रूप से, RStudio मैं एक ऐसे फंक्शन की तलाश में हूं जिसे मैं कंसोल में टाइप कर सकता हूं, न कि कीबोर्ड शॉर्टकट।

किसी ने पहले ही 2010 से इस StackExchange पोस्ट में इस तरह के एक समारोह प्रदान किया है । दुर्भाग्य से, यह आरकॉम पैकेज पर निर्भर करता है और मैक ओएस एक्स पर नहीं चलेगा।


यह एक सटीक डुप्लिकेट नहीं है, लेकिन यह बहुत संबंधित है और इस सवाल का जवाब निम्नलिखित में दिया गया था - stackoverflow.com/questions/8421005/…
दासन

केवल clcइस स्क्रिप्ट के साथ टाइप करें clRR कि मैं विकास करता हूं। यह कैसे काम करता है? clc<-0; class(clc) <- 'cleanup'; print.cleanup <- function(cleanupObject) cat("\f")। अंतिम पंक्ति RStudio से मेल खाती है लेकिन टर्मिनल द्वारा इसे बदल दिया जाता है print.cleanup <- function(cleanupObject) cat(c("\033[2J","\033[H"))Clc.R अधिक विवरण होता है।
ह्यूबर्टरॉनाल्ड

जवाबों:


545
cat("\014")  

सांत्वना के लिए CTRL+ भेजने के लिए कोड है L, और इसलिए स्क्रीन को साफ करेगा।

केवल बहुत सारे रिटर्न भेजने से बेहतर है।


14
यह सिर्फ मेरे इंटरेक्टिव टर्मिनल (उबंटू और मैक ओएसएक्स दोनों पर) के लिए एक सिंगल ब्लैंक लाइन प्रिंट करता है
स्कॉट रिची

2
मेरे लिये कार्य करता है। यह Rstudio में बेहद धीमी कंसोल -बग के साथ भी मदद कर सकता है ।
रूबेन

10
मैक पर RStudio में काम करता है, लेकिन R.app में नहीं! R.app में कमांड Cmd + Alt + L स्क्रीन को साफ करता है, न कि Ctrl + L ... उस कुंजी संयोजन को R.app पर भेजने के लिए एक समान 'कोड' है? (मैं देखता हूं कि फॉर्म फ़ीड के लिए \ _14 ASCII कोड है, इसलिए मुझे लगता है कि यह कुंजी संयोजन नहीं भेज रहा है, लेकिन सिर्फ फॉर्म फ़ीड कमांड है, जिससे यह संभावना नहीं है कि Cmd + Alt + L के लिए 'कोड' मौजूद होगा।)
जोहान

2
मेरे लिए काम नहीं करता है। विंडोज 7, आर कंसोल। (r.exe)।
नहीं बहुत

7
यह केवल विंडोज़ पर RStudio में काम करता है, न कि "सामान्य" R कंसोल में और न ही DOS कंसोल में। रिकॉर्ड के लिए, यह फ़ॉर्म फ़ीड चरित्र भी है, और आप बस टाइप कर सकते हैं cat("\f")

103

यदि आप डिफ़ॉल्ट R कंसोल का उपयोग कर रहे हैं, तो कुंजी संयोजन Option+ Command+ Lकंसोल को खाली कर देगा।


20
CTRL-L सिर्फ उस स्थिति में जब आपको लगा कि मैं एक "i" हूं, मेरी तरह :)
नील मैक्गुइगन

5
OSX Yosemite पर Rstudio के लिए Ctrl + L भी।
थिंकबोनोबो

7
इस सवाल का जवाब नहीं है। ओपी एक समारोह चाहता था और स्पष्ट रूप से एक कीबोर्ड शॉर्टकट नहीं था।
डिमांगोलेम

34

आप निम्न फ़ंक्शन को परिभाषित कर सकते हैं

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

जिसे तब आप कॉल कर सकते हैं clc()


24

में उबंटू-Gnome , बस दबाने CTRL+ Lस्क्रीन स्पष्ट करना चाहिए।

यह भी विंडोज 10 और 7 और मैक ओएस एक्स सिएरा में अच्छी तरह से काम करता है।


23

cat("\f")से याद रखना आसान हो सकता है cat("\014")

यह विंडोज 10 पर मेरे लिए ठीक काम करता है।


19

shell("cls") अगर विंडोज पर है,

shell("clear") अगर लिनक्स या मैक पर।

( shell()होस्ट टर्मिनल के लिए एक कमांड (या कोई स्ट्रिंग) पास करता है।)


1
यह काम किया। यह अन्य उत्तरों की तरह सुरुचिपूर्ण नहीं है, लेकिन याद रखना बहुत आसान है।
मार्टिनी बियान्को

2
यह एकमात्र आदेश है जिसने विंडोज 10 पर Rterm कंसोल में मेरे लिए काम किया है ... लेकिन यह सब टाइप करने के लिए एक दर्द क्या है ...
माइकल स्ज़ेपेपनिअक

हां, यही कारण है कि मैंने इसे सीखा - मैं विंडोज 10 पर आर टर्मिनल का उपयोग भी करता हूं (RStudio को लोड करने की तुलना में बहुत आसान है) - और यह शेल में कमांड पारित करने में सक्षम होना है। मेरा मानना ​​है कि आर में एक रास्ता है जो "मैप" को किसी विशेष कमांड में वर्णों के अनुक्रम के रूप में क्रमबद्ध करता है, हालांकि मुझे यह याद नहीं है कि यह कैसे करना है - मुझे लगता है कि यह थोड़ा उबाले की तरह है, या शायद यह अधिक है एक फ़ंक्शन की तरह - लेकिन आप ऐसा कर सकते हैं ताकि टाइपिंग की मात्रा कम हो सके। (उदाहरण के लिए, मैं तुम्हें इसे सेट अप जहां की तरह कुछ कर सकता है लगता है clr()या clrआदेश चलाता है shell("cls")या shell("clear")।)
रयान ब्लैंकार्ड

1
इसी तरह, यह केवल एक ही था जिसने RStudio और मेरे विंडोज 7 शेल (cmd.exe) दोनों के लिए काम किया था। करने के लिए। मैंने जोड़ा है: clear_fun <- function() shell("cls"); makeActiveBinding("cls", clear_fun, baseenv());

1
यह विंडोज पर विजुअल स्टूडियो कोड में टर्मिनल के लिए काम करता है।
बिल वालिस

12

मैंने एक आर पैकेज विकसित किया है जो यह करेगा, ऊपर दिए गए सुझावों से उधार लेना। पैकेज को mise"mise en जगह" के रूप में कहा जाता है। आप इसे उपयोग करके स्थापित और चला सकते हैं

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

ध्यान दें कि mise()सभी चर और फ़ंक्शन भी हटा दिए जाते हैं और डिफ़ॉल्ट रूप से सभी आंकड़े बंद कर देते हैं। कंसोल को केवल साफ़ करने के लिए, उपयोग करें mise(vars = FALSE, figs = FALSE)


12

यहाँ एक समारोह है:

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

तो आप बस इसे, कॉल के रूप में आप किसी अन्य आर समारोह कॉल कर सकते हैं clear()

यदि आप बस टाइप करना पसंद करते हैं clear( टाइप करने के बजाय clear(), यानी कोष्ठक के साथ), तो आप कर सकते हैं

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

2
\014दृष्टिकोण की तरह , यह दृष्टिकोण मुझे अजीब अक्षर देता है (विंडोज 10 मशीन पर आर कंसोल से)।
डिमांगोलेम

\ 014 (या \ f) के विपरीत इसने मेरे लिए Rterm में विंडोज 10 पर काम किया।
मार्टिनी बियान्को

@MartiniBianco: मुझे लगता है कि यहाँ जवाब मदद चाहिए। मूल रूप से "\ 033" "ईएससी" है। "[2 जे" और "[0; 0 एच" स्क्रीन को साफ़ करते हैं और क्रमशः कर्सर को ऊपरी बाईं ओर ले जाते हैं।
jvd10



3

system("clear")स्क्रीन को साफ करने के लिए लिनक्स में उपयोग ।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.