回答:
上のMac OS XやLinuxでは、あなたは使用することができますCtrl+ LクリアするIRBの画面を表示します。
cmd+k
端末タップ内のすべてをクリアします。tmux を使用して視覚領域の領域を分割ctrl+L
すると、より適切に機能します。
system('clear')
Macでも動作します。これは=> true
コンソールの上部に残ることに注意してください。
* nixボックス上
`clear`
Windowsの場合
system 'cls' # works
`cls` # does not work
OSX
system 'clear' # works
`clear` # does not work
system('clear')
ないCtrl
+ +L
system 'clear'
私のために働いたが、私は得た: command not found => false
clear
このためのpryrcファイルなどのエイリアスを追加できます。共有してくれてありがとう
Command+ KでMacOSの素晴らしい作品。
今日これを発見しました:Pry(IRBの代替)では、aで始まる入力行が.
コマンドシェルに転送されます。つまり、MacとLinuxでは次を使用できます。
. clear
更新:残念ながら、Windowsでは動作しないようです。
出典:Pryrepl.org
. cls
Windowsで動作するはずです。
画面をクリアするには、次のようにします。
puts "\e[H\e[2J"
PSこれはLinuxでテストされました。
`clear`
、と同等puts %x(/usr/bin/clear)
です。
Linux Mint 17ではCtrl+ Shift+ +L
または
Ctrl+ L IRB画面をクリアします。
puts `clear`
画面をクリアしてから、=> nil
Mac OSX 10.6 TerminalおよびiTerm2でTestedを返します。
私はこれを実行可能ファイルに使用しました:
def clear
system("cls") || system("clear") || puts("\e[H\e[2J")
end
clear
ttyをirbでリセットする方法を探してここに来ました。これは、改行を出力したり、入力した内容を表示したりするのではなく、一部の出力だけを表示するためです。
1.9.3-p125 :151 > system 'reset'
ついに私のためにトリックをしました!
`reset`
。
reset
はずです
ここにはたくさんの良い答えがありますが、私はしばしばウィンドウからMinttyを使ってLinuxボックスにリモートでアクセスします。.irbrcの使用について上記を称賛しましたが、これは思いつきました:
def cls
puts "\ec\e[3J"
end
def clear
puts "\e[H\e[2Js"
end
これにより、* nixの「クリア」動作とWindowsの「cls」動作の両方のオプションが提供されます。これは、単にビューの外にスクロールするのではなく、本当にバッファを変更したい場合に便利です。
PS同様のバリアントが.bashrcでも機能します。
alias cls='echo -e "\ec\e[3J"'
誰かが実際にそれをキーストロークにマッピングする方法を見つけられたなら、私はそれを聞いてみたいです。Minttyで動作するosxのcmd-kに似たものが本当に欲しいです。
->(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画面が完全にクリアされ、余分な空行や「=> nil」などはなくなります。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?
結果を出力するかどうかを確認するために呼び出します。メソッドを保存し、定義を復元するメソッドで再定義しましたが、irbが結果をエコーしないようにfalseを返しました。
次に、いくつかのANSI制御文字を出力しました。\e[2J
画面を消去し\e[H
、カーソルを画面の左上に移動します。\e[D
これは、スペースを表示してからカーソルを戻しますが、これはWindowsで奇妙な問題の回避策です。
最後に、これはまったく実用的ではありません。ただ笑って ;)
バックティック演算子はコマンドの出力をキャプチャして返します
s = `cls`
puts s
私はもっとうまくいくと思います。
cls
=> "\ f"を取得します
"\f"
は、あなたが得たものを示し、puts s
これ♀
を出力しました。なぜでしょうか。
Ctrl+L
gnome-terminalでも動作しますが、よりプログラマsystem 'clear'