OSXでtmuxを使用して、command + kをより優雅にクリアするにはどうすればよいですか?


20

OSXで端末を使用する場合、+ を頻繁に使用Kして画面とスクロールバックバッファーをクリアします。筋肉の記憶が深いです。

私はtmuxのいじり始めました、そして1つの不満は、ということです+はK画面全体、ペインとすべてをワイプ。私が望むのは、フォーカスされたペインのみに影響することです。

この動作を何らかの方法で構成できますか?

回答:


21

clearコマンドを送信するようにiTerm2を構成する

設定->キー-> +(新しいグローバルショートカットを追加)

  • キーボードショートカット:⌘+ k
  • アクション:テキストを送信
  • 値:

クリア\ n

または、⌘+ kをctrl + lに効率的にマップするようにiTerm2を構成します

  • キーボードショートカット:⌘+ k
  • アクション:16進コードの送信
  • 値:

0x0c

この方法では、テキストフラッシュは表示されず、clearコマンドは履歴を汚染しません。


2
シンプルでエレガントなソリューション。友よありがとう。
ラファエル

美しいソリューション!あなたは私のtmux体験をはるかに楽しくしました。ありがとう:)
マットダービー

ただ、警告が、これは端末にテキストを点滅します
ジェイ・

1
これは素晴らしいことclearですが、コマンドに依存しているため、irbまたはrailsコンソール内では機能しません。
ロバート

17

prefix+のr後に+を使用してK、tmuxウィンドウを再描画できます。

習慣を破ることができる場合、通常のctrl+ lはペインごとに正常に機能します。


3
ctrl + lはcmd + kとは異なります。これは、ctrl + lを使用してスクロールアップして古い履歴を表示できるためです。たとえば、スクロールバックをすばやく埋めるログを作成している場合、cmd + kは非常に貴重です。なぜなら、最後に中断したのは正確にわかっているからです。ctrl + lはこれを行いません。
ビヨン14年

@BjornTipling⌘+ Kはターミナルエミュレータの機能であり、tmux内では機能しません...このバインディングは、静的な標準出力を消去するように設計されています。表示されています。
おとなしそうな

1
習慣を壊すために+1、私は今日までそれをやめることはできません。最善のことは入力することですclear代わりに、私は推測する
zanona

3

に次の行を追加できます.tmux.conf

# clear the current pane
bind -n C-k send-keys C-l \; clear-history

次に、tmux構成を再読み込みします。これで、バインドキー+k(例:Ctrl+ bk)を使用して現在のペインをクリアできます。

OSXの構文はわかりませんが、簡単に行を調整できると思います。


私はそれが見るC-l画面をクリアし、clear-historyスクロールバックバッファをクリアします。この\;部分は何をしますか?
ネイサンロング

@NathanLong
Jay

3

bind -n C-k send-keys -R \; send-keys C-l \; clear-history

ここからこれを得

彼に小道具。これCmd+kは、ターミナルエミュレータで動作するのと同じように動作し、iTerm2を搭載したmacOS 10.12.5でも動作します。


コマンドtail -f ...やサーバーが実行されている場合でも、チャームのように機能します!
デレク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.