tmux その1
>>251 ありがとう!エスケープシーケンスだったのか ムズムズしてたので聞いてよかった そういえば tmux -2 ってあるよね。 256 colors のために set -g default-terminal screen-256color してるけど、専用のオプション -2 を指定する方がいいんだろうか。 まあ変わらないと思うけど。 というか単にその時だけの場合に指定するものか。 どっちでも効果は同じ。 引数の方は種々の事情でTERMの設定ではうまくいかない時、 オーバーライトするためのものだろう。 あーやっぱそうですか。 関係ないけど monitor-activity って terminal resize でも反応すんだね。 selected window じゃなくても即時 resize してるのか。 おかしかないけど、selected で resize でもいいような気はするな。 tiling wm 内で使ってる人しか気にしないだろうけど。 >>121 ,189 根本的解決ではないけど、2つセッション(A,B)を作ってBをAに同期させれば描画は分離出来た でも他のウィンドウも一番小さい画面と同じサイズになってるので以下のオプションをオン setw -g aggressive-resize on しかし、セッション管理の手間も増えそうだから自分はやんないだろうな そもそもScreenを知らないからそんな不満持ったことなかったや このURLのMultiple Clients Sharing One Sessionってところ https://mutelight.org/practical-tmux その page みて気付いたけど screen より resize で文字が あまり散乱しない点で tiling window manager に向いてるのか。 zsh の RPROMPT とかの文字が。 xterm と同様の挙動みたいだね。 散乱しても表示してほしい場合は screen の方がいいか。 >>257 言われてみれば awesome 使いが気に入って紹介してる事おおいかも ぱっと見で特に問題なさそうだったから multibyte 対応されてるのかと思ってたけど、 そうでもないんだね。 copy mode での移動とか検索とか command mode での入力とか。 あんまり使わないから問題ないのかね。 個人的には copy mode での移動が多いので難だけど。cursor-right, next-word とかが。 tmuxでコピーモードにすると, 表示された内容が遡って表示出来ますが, 途中までしか表示され内容です. 一番上まで戻るにはどうすればよいでしょうか? tmux って tmux なしや screen に比べて yes 起動数秒後の ^C の反応なんか遅いよね。 yes 4数秒後とか。特に高負荷下だと。 なんでかは分からないけど。 あーそうなの?なんか option とかあればいいけど。 どうも tmuxなしと screen は描画した分に応じて入力を取るみたいだね。 tmux は描画が追い付かなくてもどんどん入力を取る感じ。 ^C で yes は即時終了しているけど溜まった分の描画に時間がかかっている。 c0-change-interval, c0-change-trigger で改善できるようだけど、 なんかこの option 不思議な動きをするな。 c0-change-interval を 0 にして yes した後に元に戻しても 0 のときみたいに yes が重かったり、 なんか色々。 まあでも変なことしなければ問題ないのかな。 とりあえず yes 打たなきゃだいたい問題ないし放置しとくか。 tmux遅い対策としては端末を速くすると効果がある。 端末変えるとか? 全画面 xterm の yes で終了が遅れる。(c0-change-trigger を下げれば特に遅れない。) 半画面だとデフォルトの c0-change-trigger が効いているようだ。 前に c0-change-interval みたいなこと(60fps に描画を抑えるとか)を xterm がやってくれるといいと思っていたけど、 tmux とかがやってもいいんだな。 最近macで使いはじめたんだけど、muttでメルマガによくある「━」とかが連打してあるようなメールを 表示させるとおかしくなる。C-Lで再描画するとキレイになるんだけど、スクロールしたりすると また乱れる。あと※とかそんな記号があるファイルを vim で縦分割したりするとやっぱ乱れる。 http://ta.ps.st/d/1350718711.html を参考にしてASCII以外は全て倍角扱いにしてみたらちょっと良く なったような気がした、けどやっぱまだダメ… しょうがないんでクソみたいなHTMLを編集したりする時はデタッチして生ターミナルでやってます。 同じような悩みの人居ますか? フォント ターミナル tmux mutt 全部対応しないと駄目なんじゃないか >>274-275 やっぱその辺ですかねぇ…macのiTerm2でambiwidthの設定して、vimもset ambiwidth=doubleだし、 tmuxも対応したはず… で、よく調べたら vim で崩れる原因が分かりました…C2A0(UTF-8の半角空白)でした…誰だよこれ… ASCII以外全部ダブルにするのは乱暴だったと反省してこのパッチ当てたら直りました https://gist.github.com/waltarix/1399751 muttの「━」とかは相変わらずゴミが残ったりするけど、まあまあ快適になった! macは使ったことがないのでlinuxの場合しか知らないけども wcwidth()の返す値はcharmapに依存するのでそういうのがあればそれもいじればよかったんじゃないかなあ 場合によっては端末(xterm)にもpatchを当てる必要があったけど、俺はそれで動いたよ おかしかったマウスイベントがらみの挙動が全部直ってた これで安心してマウス使えるわ 犯人はuim-fepっぽい uim-fepを噛ませると挙動がおかしくなる・・・ どっち? uim-fep & tmux a してるけど問題ないよ ttp://sourceforge.net/mailarchive/message.php?msg_id=30779705 choose-tree -uの変更が気に入らなかったJasonが コードも書かずに個人攻撃やら文句ばっかでうっとうしすぎるからNicholasが追い出した Cygwinパッチきてるから取り込まれるかも。意外と需要あるんかいのう next-windowの「c^b n」を prefixなしで「c^→(右キー)」にできませんかね。 >>289 bind -n つかえばいけるで ttps://wiki.archlinux.org/index.php/Tmux#Use_tmux_windows_like_tabs >>290 ご回答ありがとうございます。 bind-key -n C-n next-window だとprefixなしでc^nで次のウィンドウに行けるんですけど bind-key -n C-Right next-window だと機能しなくなります。 →キーを使うにはなにか設定がいるのでしょうか? set -g terminal-overrides "xterm*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@" こいつを入れることで解決しました。 ありがとうございました。 >>292 おぉ。そんなに色々入れんとダメやったんか。 環境なに? >>293 windows + putty -> zsh on FreeBSD 9.1R(x64) です。 外側 TERM=xterm* ? そういえば cygwin の termcap に putty の記述があったような… # 関係ない話かな?まあいいか。 >>292 こういう系よくわからんのやけど、これって putty側の問題? tmuxのステータスバーに色付き出力を使うことってできないんですか? set -g status-right #(~/statusbar-output.sh) と書いて statusbar-output.sh の中身は #!/bin/sh echo -ne '\e[31mhogehoge\[m' こういう風になってるんですが、どうもうまく行きません。 >>297 #!/bin/bash echo -n '#[fg=colour37, bg=colour34]hogehoge#[default]' みたいに、tmux的な色指定ならうまくいく。colourのスペル注意 正確なバージョンは調べてないけど、bash version 4以上じゃないと正しく動かないけど GNU bash, version 4.2.45 と zsh 5.0.2 では上で動いた エスケープシーケンスのやつはダメっぽい tmux流の色指定にしたらうまく行きました。 ash(FreeBSDの/bin/sh)でも echo -n '#[fg=colour5]' で動きました。 tmuxはCLIのソフトウェアにしては珍しく英国式スペルやなと思ったら、Nicholasが北アイルランド出身なのか >>295-296 コンソールではどうやっても「c^→」はできませんでした。 puttyでできたので、いいんですが。。 矢印キーってなんか特殊?なんですかね(\e[Aとか) >>300 これティーマクスって読むんですね。 ツムックスだと思ってました。 カーソルキーの歴史的な話は全然しらんけど、たぶん特殊なんじゃないかな? viかemacsでも最初矢印キー使えなかったんじゃないっけ スレ知やけど 新しいwindowやpaneを作る時にカレントディレクトリで開いてくれるのはいいんだが パスにsymlinkがあると勝手に展開される $PWDでいいのに >>306 たぶん無理かな。 シェル自体のPWDには反映されてないし、 カーネルはCWDは展開後しか覚えてないし。 シェル自体に手を入れたりcdを細工すればいけるとおもうけど。 それより make 中とかに new-window すると一時的に作成されたディレクトリになることがある方が気になる。 tmux を使ってから chmod 755 directory としようとしてsudoを忘れたから Ctrl + a で文頭に戻ってsudoってうつと sudod 755 directory というように文字が重なってしまいます。 コマンド的には問題ないのですが、途中から見えなくて 困っています。何か解決策はありませんか? うちはならないよ Linux 3.11.5-1 tmux 1.8 rxvt-unicode (urxvt) v9.18 - released: 2013-03-24 tmuxを使って特定のサーバにsshでつなぐとなりました サーバの端末ではなってないですが このへん? http://unix.stackexchange.com/questions/67537/ prevent-ssh-client-passing-term-environment-variable-to-server 根本的な解決方法はわからないけど、発生したらCtrl-Lしてる tmux は、全角文字の扱いが、まだ、不十分なところがあるようで、 copy-mode でカーソル移動すると、日本語の上で、2回とまったりする。 件の表示乱れは、うちでもなってて、多分 unicode の ambiguous char width 関係じゃないかな と、思っているんだけど。 参考 ttp://ja.wikipedia.org/wiki/東アジアの文字幅 私自身の例だと、ripping した CD のアルバム名で、ディレクトリに変な文字が入っていると prompt の dirctory 表示にその文字が表示されて Ctrl-a で、行頭に戻った時の位置が ずれる気がする。 あと、時折、 ls とかの表示もおかしい。(けど、これは、端末のせいかも) tmuxやscreenでその手の問題っていまいち原因追求しにくいよね。 一度これを試そうと思っているのだけどなかなか機会がない。 Run command with CJK-friendly wcwidth(3) to fix ambiguous width chars https://github.com/fumiyas/wcwidth-cjk >>316 >>310 は半角文字だけでも起こるよ 半角ってASCII文字のことだよね? >>317 screen に文字幅絡みの問題ってそんなあったっけ? >>310 は知らないけど copy-mode の件なら wcwidth が正しい環境でも起こるので wcwidth ではないような気がする。というか wcwidth を使ってないようす。 command-prompt とか。 search-forward はそもそも日本語入らないけど。 >>316 だいぶ前に俺が書いたpatchで多分想定通りに動くと思うからよければどうぞ 但し、端末はxtermでosはlinuxじゃないとできないと思う charmapとtmuxとxtermをいじることになる tmuxのpatch置き場 https://github.com/silenvx/PKGBUILD/tree/master/tmux xtermのpatch置き場 https://github.com/silenvx/PKGBUILD/tree/master/xterm charmapに書き込むAmbiguousな文字のリストの生成スクリプト https://github.com/silenvx/bin/blob/master/gutf8cjk.sh charmapのいじり方とそれぞれのpatchの役割については http://d.hatena.ne.jp/silenvx/20120929/1348930210 この記事を順に読んでいってもらえたらわかると思う ごちゃごちゃしててすまないが。 場合によってはtmuxのborderとterminfoもいじった方がいい。これについても記事に書いてあります 最近 screen で ncurses 周りが崩れるのを治すのに疲れて、 tmux にしようと考えてるのですが分割について教えて下さい。 screen では window を分割表示できるので、2つの作業中の window を 必要に応じて並べて表示できるのですが、 tmux はやはり pane の分割しかできないのでしょうか。 やりたいことは、すでにある window を並べて表示する。 で、もうひとつ条件としてその時に、window ナンバーが崩れないようにしたい。 というものになります。 >>321 > やりたいことは、すでにある window を並べて表示する。 これは join-pane でおk だけど、これは 「window を並べる」というより、window を2つの pane に分割して、そこに別の window を pane として並べるという感じ (man tmuxより) おそらくこの時点で window 番号は失われてる > で、もうひとつ条件としてその時に、window ナンバーが崩れないようにしたい。 なので、join-pane した window を、再びバラバラに (break-pane) すると、window 番号が変わる可能性がある (空いている最小 window 番号が割り振られる) tmux 内で、任意のシェルコマンドが実行できるので、 join-pane で window 番号を保存 break-pane で 保存してあった window 番号に復元する みたいな設定をすれば目的は達成できそうな気がする >>322 ありがとうございます! join-pane -s number と break-pane -t : で大体同じことができそうです。 間で create window してしまうと番号がずれちゃいますが、 普段使うときは最初に window を 10 個作っちゃうので、 気をつければ問題無さそうです。 root 作業は window 0 or 1 とか テンポラリ作業は window 7 などという感じで 習慣化して、今まで障害出ないようにしてたので乗り換えるのに躊躇してましたが、 多少違うとはいえこれで慣れていけそう。 本当に有難うございます。 >>323 オプションまでみてなかったわ。スマソ break -t で window number 指定したらいけるね Vim ユーザーなら set -s escape-time 0 は必須。異論は認めない 特に何も考えずwindow複数開いちゃったんだけど これをpaneに変えて分割表示にするってできないかな screenから乗り換えてきたんだけど、時々やらかしちゃう ひとつのペインを複数のウィンドウで共有できる? ウィンドウを切り替えても常に同じペインを表示させておきたい >>328 ちょっと違うけどカレントペインを他のウィンドウのペインと交換する方法ならある これなら切り替えたいペインが1つだけなら似たようなことはできる ttp://unix.stackexchange.com/questions/53154/how-do-i-cycle-through-panes-inside-a-window-in-tmux-like-in-screen 共有はできなかったような >>329 うーん、共有だめかー。とりあえずそれでやってみる。ありがとう! 半角かなとかつかってると表示が崩れてしまいます (行が適切な場所に表示されない,^Lでも綺麗にならない) FreeBSD-8, mlterm, tmux, emacs24, navi2ch という 組み合わせで,EUC-JP 環境です mlterm上に直接 emacs 起動+navi2ch なら問題ないです ということで tmux がなにかしら弱いのは確からしいのですが なにか良い設定とか工夫とかあったりしますでしょうか? あと screen + emacs ではEUCでも問題ないです (半角かなは表示されるようなされないようなという感じですが) mlterm/tmux 部分を kterm+screen で使う分には (半角仮名が一部見えない・化けるという以外には それほどは困ってませんでした; ただ screenの暴走という致命的弱点が…) UTF-8ですら文字幅の扱いが微妙な状況だったはずなので それでEUC-JPをちゃんと扱えるかというと…… JIS X 0201のカタカナで問題があるならば tmuxはSS2をきちんと扱えていない可能性が高いのでは? screenから乗り換えてみて.tmux.conf作ってる最中なんだけど、2ストロークキーはどう設定すればいいですか? "C-a - 3" で13番めのウィンドウを選択とかしたいのです。 >>333 prefix ハイフン 3 ってことやんね?んなら、少なくとも1.8ではできないと思う >>331 そもそも utf-8 以外対応してないんじゃ… してるんだっけか? luit とか cocot とか使えば、まあ… あーでも tmux 下のすべてに luit 噛ますのはあれか。 すべてに luit とかを噛ます option ってあんのかね。なさそうだけど。 こんなん、でました。 ttp://tmate.io/ >>336 ほうほう。ScreenX TV みたいなことができるやつか > Tmux now runs under Cygwin natively. 地味にえらいかも 半年前くらいからcygwin用のパッチは入っててコンパイルして使ってたが問題なく使えてる おお、すごい。今度試してみよう。以前はscreenをだましだまし使ってた。 unset TMUXをしないで新しいセッション開始する方法ない? tmuxで例えば、 new -s xx -n xxxx htop neww -n xxxxxx ranger splitw -h -p 50 -t 0 'vim /etc/group' selectw -t 2 selectp -t 1 とした場合、ウィンドウ名が-nでxxxxxxと指定しているのにrangerとなるのはなぜ?これを防ぐ方法ない?tmux使い始めたばかりだからよくわからん 複雑なwindow、paneを作りたい人に tmuxstart tmuxifier tmuxination teamocil すごいよこれmsysでも動く screenはどうやってもcoredumpして動かなかった read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる