Skip to content

Instantly share code, notes, and snippets.

@akimichi
Created April 19, 2022 01:52
Show Gist options
  • Save akimichi/e78b86ad66c9c4f75b13310211df1049 to your computer and use it in GitHub Desktop.
Save akimichi/e78b86ad66c9c4f75b13310211df1049 to your computer and use it in GitHub Desktop.
# Default global options.
# prefixキーをC-aに変更する
set-option -g prefix C-a # C-a for perfix just like screen
# C-a*2でtmux内のプログラムにC-aを送る
bind C-a send-prefix
# C-bのキーバインドを解除する
unbind C-b
setw -g utf8 on
set -g status-utf8 on
# コピーモードを設定する
## コピーモードの操作をvi風に設定する
setw -g mode-keys vi
bind Escape copy-mode
# bind -t vi-copy 'v' begin-selection
# bind-key -t vi-copy C-v rectangle-toggle
# bind -t vi-copy 'y' copy-selection
# bind-key -t vi-copy y copy-pipe "xsel -bi"
# unbind -t vi-copy Enter
# bind-key -t vi-copy Enter copy-pipe "xsel -bi"
unbind p
bind p paste-buffer
## クリップボード共有を有効にする
# # sudo apt-get install xclip
# unbind -t vi-copy Enter
# bind -t vi-copy y copy-pipe 'xclip -in -selection clipboard'
# # press Prefix C-v to paste
# bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
set -g @yank_selection 'primary'
# ウィンドウを移動する
bind p previous-window
bind Space next-window
# Esc設定
# キーストロークのディレイを減らす
set -sg escape-time 0
# ウィンドウのインデックスを1から始める
set -g base-index 1
# ペインのインデックスを1から始める
setw -g pane-base-index 1
# 設定ファイルをリロードする
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# | でペインを縦に分割する
bind | split-window -h
# - でペインを横に分割する
bind - split-window -v
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# 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
#
# マウス設定
#
setw -g mouse on
# 画面ドラッグ時にコピーモードにする
set-option -g mode-mouse on
bind-key -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind-key -n WheelDownPane select-pane -t= \; send-keys -M
# コピーモードをvi風にする
setw -g mode-keys vi
# # マウスでペインを選択できるようにする
# set-option -g mouse-select-pane on
# # マウスでウィンドウを切り替えられるようにする
# set-option -g mouse-select-window on
# # マウスでリサイズできるようにする
# set-option -g mouse-resize-pane on
# 256色端末を使用する
# set -g default-terminal "screen-256color"
# set -g default-terminal "tmux-256color"
# set -g default-terminal "screen-256color-bce"
# Force to use 256 colors in tmux
set -g default-terminal 'xterm-256color'
set -g terminal-overrides 'xterm:colors=256'
# set-option -g default-terminal screen-256color
# set -g terminal-overrides 'xterm:colors=256'
# ステータスバーの色を設定する
set -g status-fg white
set -g status-bg black
# ウィンドウリストの色を設定する
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
# アクティブなウィンドウを目立たせる
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright
# ペインボーダーの色を設定する
set -g pane-border-fg green
set -g pane-border-bg black
# アクティブなペインを目立たせる
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
# コマンドラインの色を設定する
set -g message-fg white
set -g message-bg black
set -g message-attr bright
# ステータスバーを設定する
## 左パネルを設定する
set -g status-left-length 40
set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
## 右パネルを設定する
set -g status-right "#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 15
## ウィンドウリストの位置を中心寄せにする
set -g status-justify centre
## ヴィジュアルノーティフィケーションを有効にする
setw -g monitor-activity on
set -g visual-activity on
## ステータスバーを上部に表示する
# set -g status-position bottom
set -g status-position top
# ウィンドウ履歴の最大行数
set-option -g history-limit 5000
# plugins
# set -g @tpm_plugins ' \
# tmux-plugins/tpm \
# tmux-plugins/tmux-yank \
# tmux-plugins/tmux-open \
# tmux-plugins/tmux-battery \
# tmux-plugins/tmux-sidebar \
# tmux-plugins/tmux-pain-control \
# '
# run-shell '~/.tmux/plugins/tpm/tpm'
## 日本語の文字幅のずれを修正する
set-option -g default-command ""
unbind %
unbind "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment