IRBコンソール画面をどのようにクリアしますか?
21 に答える
Mac OS XまたはLinuxではCtrl、 +を使用してIRB画面Lをクリアできます。
*nix ボックスについて
`clear`
Windows の場合
system 'cls' # works
`cls` # does not work
OSX 上
system 'clear' # works
`clear` # does not work
Command+ macOS ではKうまく機能します。
Ubuntu 11.10 システムclear
では、ほとんどの場合、irb ウィンドウがクリアされます。戻り=> True
値が出力されます。
醜いテキストの大きな混乱
ruby-1.9.2-p290 :007 > system 'clear'
あなたが得るもの:
=> true
ruby-1.9.2-p290 :007 >
system 'clear'
Rails 4.0でも動作するはずです
画面をクリアするには、次の手順を実行します。
puts "\e[H\e[2J"
PSこれはLinuxでテストされました。
Linux Mint 17 でもCtrl+ Shift+を使用できますL
また
Ctrl+ L IRB 画面をクリアします。
puts `clear`
画面をクリアし、=> nil
Mac OSX 10.6 ターミナルおよび iTerm2 でテスト済みを返します。
ここにはたくさんの良い答えがありますが、私はよく Windows から 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に似たものが本当に欲しいです。
次のメソッドを に追加します~/.irbrc
。
def clear
conf.return_format = ""
system('clear')
end
Cntrl-L
またはCntrl-K
通常のコンソールで作業しますが、tmux を使用しているため、tmux ウィンドウ内で画面が乱れます。
conf.return_format = "" は戻り値から nil を取ります。
改行を出力したり、入力した内容を表示したりするのではなく、一部の出力のみを表示するため、irbを使用してttyをリセットする方法を探してここに来ました。
1.9.3-p125 :151 > system 'reset'
ついに私のためにトリックをしました!
Windows ユーザーの場合:
内容が次のようなバッチ ファイル名 c.bat を作成する場合:
@echo off
cls
次に、IRB で次のように言うことができます。
system('c')
コンソールをクリアします。とてもクールだと思ったので、共有したいと思いました。基本的に、パス内のすべてのものにアクセスできます。
バックティック演算子は、コマンドの出力をキャプチャして返します
s = `cls`
puts s
うまくいくと思います。