私の環境
- SparkyLinux6.6
- bash5.1.4
- tmux3.3a
- Terminal: xfce terminal
- Terminal font: DroidSansMono Nerd Font 10
私のtmuxの見た目です。
左右に画面を分割し、右側を上下に分割しています。
ターミナルは、xfce terminal を使用しています。
私が試した他のターミナルは、画面分割したときに罫線が崩れてしまったのですが、xfce terminal は問題ありませんでした。
ターミナルフォントは、DroidSansMono Nerd Font 10を使用しています。
下記から入手しました。
xfce terminal のフォント設定以下のとおり。
ターミナル右クリックでメニューを表示し、「設定」を選択すると設定画面が開きます。
tmuxの設定(tmux.conf)は以下のとおり。
############################################################### # シェルの設定 ############################################################### # tmux 起動時のシェルを /bin/zsh にする #set -g default-shell /bin/zsh # /usr/local/bin/zsh を使っている場合 # set -g default-shell /usr/local/bin/zsh ############################################################### # prefix キーバインド変更 ※デフォルトは C-b ############################################################### # prefix を C-z に変更する #set -g prefix C-z #bind-key C-z send-prefix #unbind-key C-b # prefix C-b を解除 #unbind C-b ############################################################### # Emacs 風キーバインド ############################################################### # setw -g mode-keys vi setw -g mode-keys emacs # prefix C-z でコピーモードに入る bind-key C-z copy-mode # prefix C-y でペーストする bind-key C-y paste-buffer # PageUp => 1ページ遡ってコピーモードに入る: ログを見る時など便利 bind -n Pageup copy-mode -u unbind 1 unbind ^C unbind & # prefix 0 現在のペインを削除 bind 0 kill-pane # prefix 1 ウインドウ内の現在のペインを残し、他のペインをウインドウにする bind 1 break-pane # prefix 2 ウインドウを横に分割 bind 2 split-window -v # prefix 3 ウインドウを縦に分割 bind 3 split-window -h # prefix o ペインをローテート bind o select-pane -t :.+ # prefix k ウインドウを削除 bind k kill-window # prefix C-k ペインを削除 bind C-k kill-pane # prefix i bind i display-panes # prefix C-t bind C-t next-window # prefix c bind c new-window ############################################################### # vim 風キーバインド ############################################################### # vim のキーバインドでペインを移動する bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # vim のキーバインドでペインをリサイズする bind -r H resize-pane -L 5 bind -r J resize-pane -D 5 bind -r K resize-pane -U 5 bind -r L resize-pane -R 5 ###### Vim コピーモード ###### # 'v' で選択を始める # bind -T copy-mode-vi v send -X begin-selection # 'V' で行選択 # bind -T copy-mode-vi V send -X select-line # 'C-v' で矩形選択 # bind -T copy-mode-vi C-v send -X rectangle-toggle # 'y' でヤンク # bind -T copy-mode-vi y send -X copy-selection # 'Y' で行ヤンク # bind -T copy-mode-vi Y send -X copy-line ############################################################### # キーバインド ############################################################### # 番号基準値を変更 set -g base-index 1 # マウス操作を有効にする set -g mouse on bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'" # マウスアップ時に選択完了せず、選択状態を維持し、Ctrl-cでクリップボードにコピーする unbind -T copy-mode MouseDragEnd1Pane unbind -T copy-mode-vi MouseDragEnd1Pane bind-key -T copy-mode C-c send-keys -X copy-pipe-and-cancel "xsel -bi" bind-key -T copy-mode-vi C-c send-keys -X copy-pipe-and-cancel "xsel -bi" ############################################################### # 色・見た目 ############################################################### # ステータスバーを 1 秒毎に描画し直す set -g status-interval 1 # センタライズ (主にウインドウ番号など) set -g status-justify centre # ステータスバーをトップに配置する set -g status-position top # 左右のステータスバーの長さを決定する set -g status-left-length 90 set -g status-right-length 90 # ステータスバー(左側) #set -g status-left '#H:[#P]' #set -g status-left 'Session:#S W:#I P:#P' set-option -g status-left "\ #[bg=colour148]#[fg=colour234] Session:#S W:#I P:#P \ #[bg=colour054]#[fg=colour255] #h \ #[bg=colour024] #(~/workspace/toolbin/ip.sh)\ #[fg=colour024]#[bg=colour234]" # ステータスバー(中央) setw -g window-status-current-format '\ #[fg=colour239]#[bg=colour234]#[bg=colour239]#[fg=colour119]\ #I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]\ #F#[fg=colour239]#[bg=colour234]' # ステータスバー(右側) #set -g status-right '[%y-%m-%d(%a) %H:%M]' set-option -g status-right "\ #[fg=colour237]#[fg=colour254]#[bg=colour237]\ #[bg=colour237] #(~/workspace/toolbin/uname.sh)\ #[fg=colour240]#[fg=colour255]#[bg=colour240]\ %Y-%m-%d(%a) %H:%M " # ステータスバーの色を設定する set -g status-bg "colour234" set -g status-fg "colour255" # pane border set -g pane-border-style fg="colour236" set -g pane-active-border-style fg="colour106" #setw -g window-status-activity-style bg="colour16","underscore",fg="colour45" # pane status bottom set-option -g pane-border-status bottom # tmuxを 24bit color 表示できるようにする set -g default-terminal xterm-256color set -ga terminal-overrides ',xterm-256color:Tc' ############################################################### # iTerm2 設定 ############################################################### # tmux ウインドウタイトルを iTerm2 タブ/ウインドウのタイトルに表示する #set-option -g set-titles on #set-option -g set-titles-string '#T' ############################################################### # Plugin for windows ############################################################### # https://github.com/equalsraf/win32yank/releases/download/v0.0.4/win32yank-x86.zip #bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "win32yank.exe -i" #bind p run-shell 'win32yank.exe -o | xargs -0 -I{} tmux set-buffer -- {} && tmux paste-buffer'
emacsライクなキーバインドにしています。
- CTL-b,2 で上下2列に分割
- CTL-b,3 で左右2列に分割
コピー&ペーストは、デフォルト設定だとブラウザにペーストできなかったので変更しています。
- マウスで選択後、CTL-cでコピーします。
- CTL-SHIFT,vでペーストします。
~/workspace/toolbin/ip.sh で画面左上に自分のIPアドレスを表示します。
#!/bin/bash ip=$(ip a | grep inet | grep wlan0 | awk '{print $2}') echo "$(echo -e '\uf817') ${ip}"
~/workspace/toolbin/uname.sh で画面右上に自分のOSを表示します。
#!/bin/bash os=$(cat /etc/os-release | tr -d '"' | awk -F'=' '($0~/^NAME/){printf("%s ",$2)}') echo "$(echo -e '\uf83c') ${os}"