TL;DR
- tmux2.6 でchoose-treeの画面にプレビューが出るようになったよ
- (自分は知らなかったが)choose-treeでいろいろ出来て便利だよ
chosee-treeとは
prefix+sで出てくるこんな画面
これが、2.6ではこんな感じになりました。
すごーい!(↑この記事が伝えたことの90% ↓以下蛇足)
あとprefix+sだとsessionの一覧しか出てこないのだが、prefix+wだとpaneも木構造で表示してくれる。
出来ること
prefix+sはchoose-tree -sの、prefix+wはchoose-tree -wのkey bindになっている。
このchoose-treeのmanページを見てみると、以下のようになっている。
choose-tree [-Nsw] [-F format] [-f filter] [-O sort-order] [-t target-pane] [template]
-Nsw
sとwは上記で説明したように、sessionだけか、paneまで出すかになっている。デフォルトだと、wの模様。
Nはpreviewを表示するかどうかのフラグ
-F
表示するフォーマットを指定出来る。
choose-tree -F '#S'とするとセッション名だけ表示される。
-f
listからフィルタリングしてくれるらしい。
書き方が分からない…
-O
listのソート
index、name、timeを指定出来る
-t
choose-treeを開くpaneを指定出来る。
イマイチ使いどころが分からない
[template]
choose-treeで選択したwindowやpaneを使って実行するアクションを指定できる。
デフォルトではswitch-client -t '%%'となっていて%%になっているところが選択したものに置き換えられる。
一覧で出来ること
リスト一覧を表示しているときも以下のKeyを使うことが出来る
| Key | Function |
|---|
Enter | Choose selected item
Up | Select previous item
Down | Select next item
< | Scroll list of previews left
> | Scroll list of previews right
C-s | Search by name
n | Repeat last search
t | Toggle if item is tagged
T | Tag no items
C-t | Tag all items
: | Run a command for each tagged item
f | Enter a format to filter items
O | Change sort order
v | Toggle preview
q | Exit mode
特にC-sで検索したり、:でtmuxのコマンドをそのペインで実行したり出来るのは便利。
pecoみたいなインタラクティブサーチ(というかフィルタリング)が出来たらより便利なのだが。おそらくfがそれに当たるのだが、まだやり方が分からない…
あと似たようなものにchoose-clientやchoose-bufferがある。
choose-bufferはbufferにコピーをリストから選択出来る。
choose-clientは選択したクライアントをデタッチ出来る。(どう使うのだろう?)
まとめ
- たまにmanページを見ると勉強になる

