投稿

ラベル(tmux)が付いた投稿を表示しています

画面を分割した状態で tmux を起動する

tmux はシェルからの起動時に tmux のコマンドを渡して起動することができます。 これを利用すると画面を分割した状態で起動することができます。 例えば、左右に画面(pane)を分割した状態で起動するにはコンソールでこのように入力します。 # tmux new-session \; split-window -h -d 上の例では new-session で新規接続して、 split-window で画面を左右に分割、としています。 ; で区切る(シェルから実行するときには ; を \ でエスケープする)ことで複数コマンドを渡せますので、こんな風にすると、、、 # tmux new-session \; split-window -h -d \; split-window -d \; clock-mode ・画面を左右に分割して ・左画面を上下に分割して ・左上に時計を表示 とすることができます。 よく使うようであればエイリアスに登録しておくと便利ですね。 【関連】 ターミナルマルチプレクサ tmux を使ってみる tmux のキーバインドを vi 風にする tmux.conf 編集時にシンタックスハイライトする 画面を分割した状態で tmux を起動する

tmux.conf 編集時にシンタックスハイライトする

tmux のキーバインドを vi 風にする で書きましたが、 tmux のサンプルファイルには vim 用のシンタックスファイルも入っています。せっかくなので vi で tmux.conf を編集した時にハイライトされるようにしたいと思います。 【前提】 OS: Scientific Linux 6.3 tmux.conf 編集時にシンタックスハイライトされるようにする tmux のサンプルの入っているディレクトリから tmux.vim を ~/.vim/syntax/ ディレクトリにコピーします。 ~/.vim/syntax/ ディレクトリが存在しない場合は作成します。 tmux.vim ファイルを置く場所は vim の runtimepath の通っている場所にしましょう。 vi 開いて :set runtimepath で確認できます。 # mkdir -p ~/.vim/syntax # cp /usr/share/doc/tmux-1.5/examples/tmux.vim ~/.vim/syntax/ vim がファイルタイプを判別するための設定を追加します。 ~/.vim/filetype.vim ファイルを作成して以下の3行を追記して下さい。 augroup filetypedetect au BufNewFile , BufRead .tmux.conf*,tmux.conf* setf tmux augroup END さて、 vi で ~/.tmux.conf を編集してみるとこんな感じになります。 # split windows like vim # vim's definition of a horizontal/vertical split is reversed from tmux's bind s split-window -v bind v split-window -h # move around panes with hjkl, as one would in vim after pressing ctrl-w bind h select-pane -L bind j sele...

tmux のキーバインドを vi 風にする

tmux の設定を弄って vi 風のキーバインドに変更します。 といっても、 rpm でインストールした tmux には設定ファイルのサンプルが入っていますんで、それをそのまま使わせてもらいます。 【前提】 OS: Scientific Linux 6.3 tmux を vi 風キーバインドにする (~/.tmux.conf) 設定ファイルのサンプルがある場所はこちらです。 # cd /usr/share/doc/tmux-1.5/examples # ls -l 合計 36 -rw-r--r-- 1 root root 2014 7月 9 18:24 2011 bash_completion_tmux.sh -rw-r--r-- 1 root root 913 7月 9 18:24 2011 h-boetes.conf -rw-r--r-- 1 root root 2338 7月 9 18:24 2011 n-marriott.conf -rw-r--r-- 1 root root 1799 7月 9 18:24 2011 screen-keys.conf -rw-r--r-- 1 root root 2789 7月 9 18:24 2011 t-williams.conf -rw-r--r-- 1 root root 5333 7月 9 18:24 2011 tmux.vim -rw-r--r-- 1 root root 2513 7月 9 18:24 2011 tmux_backup.sh -rw-r--r-- 1 root root 1088 7月 9 18:24 2011 vim-keys.conf [ ファイルの説明 ] *.conf tmux 設定ファイルのサンプルです。 tmux.vim vim 用のシンタックスファイルです。 bash_completion_tmux.sh bash のコマンドライン上で tmux のオプションが補完されるようにするための設定ファイルです。 source bash_completion_tmux.sh として使います。 tmux_backup.sh シェルを実行すると tmux 上の各端末(pane)の出力をファイルに吐き出します。 ...

ターミナルマルチプレクサ tmux を使ってみる

イメージ
一つの端末上で複数の端末を動かすターミナルマルチプレクサ(terminal multiplexer)と呼ばれるソフトがあります。代表的なものに GNU Screen がありますが、設定ファイルを弄ろうとすると難解で挫折して使わなくなってしまって幾星霜。 最近になってまた使いたくなって色々と調べてみたところ、 screen と同等の機能を持っていて活発に開発が進んでいる tmux というものがあるらしいというので導入してみることにしました。 【前提】 OS: Scientific Linux 6.3 tmux の導入 tmux を導入するための準備をします。 Scientific Linux 標準のレポジトリには入っていないので、 epel のレポジトリを追加します。 # yum install yum-conf-epel レポジトリの追加が終わったら tmux をインストールします。 # yum install tmux これで準備は完了です。 tmux コマンドで起動します。こんな感じのことができます。 以下、簡単に画面の説明です。 window 画面下部緑色のラインに起動している window が表示されています。   0:[tmux]* 1:zsh- とありますが、 * (アスタリスク)の付いている方が現在表示している window になります。今利用しているのは window(0) ですね。 pane window(0) は画面左右に分割されていて、さらに左側は上下に分割しています。この分割されたそれぞれの領域を pane と呼びます。 pane 一つ一つが独立した端末として動作します。 tmux の操作 tmux は C-b (Ctrl-b) を入力後にコマンドキーを入力することで操作ができます。 使いそうなコマンドキーを以下にリストアップします。 コマンドキー 動作 c 新しく window を開く 0 to 9 対応する番号の window を選択する " pane を上下に分割 % pane を左右に分割 Up, Down,Left, Right 対応する方向にある pane に移動 [ コピーモード開始 ] コピーバッファにある内容をペー...