你如何清除IRB控制檯屏幕?你如何清除IRB控制檯?
回答
在的Mac OS X或的Linux可以使用按Ctrl +大號到清除IRB屏幕。
在* nix盒
`clear`
在Windows
system 'cls' # works
`cls` # does not work
在OSX
system 'clear' # works
`clear` # does not work
反引號運算符捕獲命令的輸出,並返回其
s = `cls`
puts s
會更好,我猜。
在Ubuntu 11.10系統上clear
大多會清除irb窗口。你會得到一個返回值=> True
的值。
醜陋的文字弄得一塌糊塗
ruby-1.9.2-p290 :007 > system 'clear'
什麼亞獲得:
=> true
ruby-1.9.2-p290 :007 >
爲了清除屏幕只是做:
puts "\e[H\e[2J"
附:這在Linux上進行了測試。
puts `clear`
清除屏幕,然後返回=> nil
測試在Mac OSX 10.6碼頭和iTerm2。
對於Windows用戶:
如果創建一個bat文件名C.BAT,其內容是:
@echo off
cls
然後,在IRB,你可以說:
system('c')
到清除控制檯。我只是覺得我會分享,因爲我覺得這很酷。基本上路徑中的任何東西都是可訪問的。
我來到這裏尋找一種方法來重置tty與irb,因爲它不打印換行符或顯示我輸入的內容,只是某些輸出。
1.9.3-p125 :151 > system 'reset'
終於爲我做了詭計!
命令 + ķ在MACOS的偉大工程。
->(a,b,c){x=a.method(b);a.send(c,b){send c,b,&x;false};print"\e[2J\e[H \e[D"}[irb_context,:echo?,:define_singleton_method]
這將完全清除你的IRB屏幕,沒有多餘的空行和「=>無」的東西。在Linux/Windows上測試。
lambda {
original_echo = irb_context.method(:echo?)
irb_context.send(:define_singleton_method, :echo?) {
send :define_singleton_method, :echo?, &original_echo
false
}
print "\e[2J\e[H \e[D"
}.call
此使用大量的技巧:
這一個班輪可以作爲擴大。
首先,irb會呼叫echo?
檢查是否應該打印結果。我保存了該方法,然後使用恢復定義的方法重新定義,但返回false,因此irb將不會回顯結果。
其次,我打印了一些ANSI控制字符。 \e[2J
將清潔屏幕,\e[H
將光標移動到屏幕的左上角位置。 \e[D
將打印一個空格,然後移回光標,這是解決Windows中某些奇怪的問題的方法。
最後這是一種不實際的。只是微笑;)
在Windows中,使用Rails 4,
system('cls')
工作對我來說
下面的方法添加到~/.irbrc
:在常規控制檯
def clear
conf.return_format = ""
system('clear')
end
或Cntrl-K
工作但是我正在使用tmux,而那些混雜在tmux窗口內的屏幕上。
conf.return_format =「」取消返回值爲零。
今天剛剛發現:在Pry(IRB備選方案)中,以.
開頭的一行輸入將被轉發到命令shell。這意味着在Mac & Linux中,我們可以使用:
. clear
更新:不幸的是,它似乎並不在Windows上運行。
來源:Pryrepl.org
Windows用戶只需嘗試,
system 'cls'
OR
system('cls')
看起來這在IRB窗口,
irb(main):333:0> system 'cls'
irb(main):007:0> system('cls')
做的詭計1.9.3。不過下面的命令沒有工作,返回=> nil
,
system('clear')
system 'clear'
system `cls` #using the backquotes below ESC Key in windows
我用這個可執行文件:
def clear
system("cls") || system("clear") || puts("\e[H\e[2J")
end
clear
在Linux Mint的17也可以使用按Ctrl +移+大號
或
Ctrl + L 清除IRB屏幕。
system 'cls'
對我的作品在Windows,使用Ruby 2.2.0和4.0導軌
system 'clear'
應該軌4.0以及工作
方法: def clear_screen if RUBY_PLATFORM =~ /win32|win64|\.NET|windows|cygwin|mingw32/i system('cls') else system('clear') end end
還是在IRB您可以使用system('clear')
g在這裏的答案,但我經常遠程進入與Mintty從Windows的Linux框。榮譽上述關於使用.irbrc,而是想出了這個:
def cls
puts "\ec\e[3J"
end
def clear
puts "\e[H\e[2Js"
end
這給你兩個* nix中「清除」的行爲和Windows「CLS」的行爲選擇,這是我經常發現更多有用的如果我真的想要緩衝區而不是滾動它的視圖。
P.S.類似的變種也能在.bashrc中:
alias cls='echo -e "\ec\e[3J"'
如果有人能找到一種方法來實際映射到一個按鍵,我很樂意聽到這種說法。我真的很想在osx上有類似cmd-k的東西,可以在Mintty中使用。
- 1. Rails3 irb控制檯vs rails控制檯?
- 2. 如何在Java中清除控制檯?
- 3. 如何清除MATLAB中的控制檯?
- 4. 如何清除Java 9 JShell控制檯?
- 5. 如何清除Java中的控制檯
- 6. 如何清除Java控制檯?
- 7. Intellij-idea清除控制檯
- 8. 清除Eclipse控制檯java
- 9. 清除線在控制檯
- 10. Javascript:清除控制檯[Firefox]
- 11. 爲寶石定製IRB控制檯
- 12. 〜/啓動時IRB或腳本/控制檯
- 13. 清除Kotlin中的控制檯
- 14. 從java清除IntelliJ控制檯
- 15. 清除控制檯:找不到命令
- 16. 從清除控制檯停止Eclipse
- 17. 在Java中清除控制檯
- 18. 清除GM_log從錯誤控制檯
- 19. 清除控制檯時C++閃爍
- 20. Emacs ESS版本的清除控制檯
- 21. 清除[R控制檯程序
- 22. 清除Python控制檯的命令?
- 23. 從Java控制檯中刪除輸入的文本,但不清除控制檯
- 24. Xcode 4:你如何查看控制檯?
- 25. 如何更改Ruby對象的pry/irb控制檯顯示值?
- 26. 如何從rake任務啓動IRB控制檯?
- 27. 如何清除NASM中的控制檯窗口?
- 28. 如何清除Android Studio Logcat控制檯日誌?
- 29. 我們如何清除組裝中的控制檯?
- 30. 如何清除控制檯中打印的字符
在Mac OS X上,cmd + K也可以使用。 – fanaugen 2012-06-27 18:34:59
``Ctrl + L`也可以在gnome-terminal中使用,但更多的編程功能是'系統'清除' – vol7ron 2013-06-06 15:54:47
更加微不足道的問題和答案更多upvotes都收到;) – 2013-10-19 15:55:04