Skip to content

Instantly share code, notes, and snippets.

@bells17
Last active January 9, 2018 02:13
Show Gist options
  • Save bells17/5278109 to your computer and use it in GitHub Desktop.
Save bells17/5278109 to your computer and use it in GitHub Desktop.
tmuxの設定ファイルとそのときのvimで256色に対応するための方法です。設定ファイルはほぼhttp://n.blueblack.net/articles/2012-07-20_04_comfortable_cui_environment_tmux/のコピペです。
#
# tmux内のvimで256色を設定する方法
#まず
#tmux kill-server でtmuxのセッション?をすべて削除
#このファイルを~/.tmux.conf として設置
#シェルがzshでない場合は
#設定内部で使用するシェルは一番下に記載する
#作成したシェルを~/bin に作成してパスを通す
#最後に tmux -f ~/.tmux.conf で設定ファイルを読み込ませて起動すると設定が反映される
#
#スクリーンにxtermを使用するのは非推奨の用だがvimで動きがおかしくなるのと、
#今のところ問題ないのでxtermを指定する
#
#参考
#設定の内容は↓のコピペ
#http://n.blueblack.net/articles/2012-07-20_04_comfortable_cui_environment_tmux/
#
#ペインが複数になった時にはteratermなどでコピペが効かなくなるけど
#windows:Ctrl
#mac:option
#を押しながらだとできるようになる
#
#
#+----------------------------------------------------------------------------------------+
# セッションオプション
#+----------------------------------------------------------------------------------------+
#新しいウィンドウのベース番号
set-option -g base-index 1
#全てのベルを無視
set-option -g bell-action none
#各セッションで保持するバッファ数
set-option -g buffer-limit 20
#256色端末を使用
#"screen-256color" にするとvimの<Home><End>が変わるのでxtermに変更
#set-option -g default-terminal "screen-256color"
set-option -g default-terminal "xterm"
#ウィンドウ履歴で保持される最大行数
set-option -g history-limit 500000
#Escapeキー入力時の待ち時間(0.5秒)をキャンセル
set-option -s escape-time 0
#起動シェルを指定
set-option -g default-shell /bin/zsh
#+----------------------------------------------------------------------------------------+
# ステータスライン
#+----------------------------------------------------------------------------------------+
#status-left 及び status-right の非ASCII文字をUTF-8として扱う
# set-option -g status-utf8 on
#http://qiita.com/titilat/items/43aca81edf37b93089fb
# set-option -g status-right '#(tmux show-options -g prefix)'
#set-option -g status-left '#[fg=white,bg=blue][S:#S]#[default]'
#set-option -g status-right '#[fg=black,bg=cyan][CPU=#(getCpuUsage.sh) MEM=#(getMemUsage.sh)]#[fg=white,bg=blue][%Y/%m/%d(%a)%H:%M]#[default]'
# set-option -g status-left '#[fg=black,bg=green][S:#S]#[default]'
# set-option -g status-right '#[fg=black,bg=green][CPU=#(getCpuUsage.sh) MEM=#(getMemUsage.sh)]#[fg=black,bg=green][%Y/%m/%d(%a)%H:%M]#[default]'
# set-option -g status-right-length 50
#set-option -g status-fg white
#set-option -g status-bg black
#set-window-option -g window-status-fg blue
#set-window-option -g window-status-bg black
#set-window-option -g window-status-current-fg white
#set-window-option -g window-status-current-bg blue
# http://matsu.teraren.com/blog/2013/02/10/moteru-tmux-powerline/
set-option -g status on
set-option -g status-interval 15
set-option -g status-utf8 on
set-option -g status-justify "left"
set-option -g status-left-length 60
set-option -g status-right-length 90
set-option -g status-left "#(~/tmux-powerline/powerline.sh left)"
set-option -g status-right "#(~/tmux-powerline/powerline.sh right)"
#+----------------------------------------------------------------------------------------+
# ウィンドウオプション
#+----------------------------------------------------------------------------------------+
#ウィンドウを実行コマンド名で自動リネーム
set-window-option -g automatic-rename on
#スクロールモード、コピーモード、選択モードで vi のキーバインドを使う
set-window-option -g mode-keys vi
#ウィンドウで動作があるとステータスラインでハイライト
set-window-option -g monitor-activity on
#UTF-8 シーケンスが現れることに備える
set-window-option -g utf8 on
#+----------------------------------------------------------------------------------------+
# その他
#+----------------------------------------------------------------------------------------+
# マウス関連
#set-option -gw mode-mouse on
#set-option -g mouse-utf8 on
## mouse-resize-pane on にするとteratermでのコピー&ペーストがCtrlボタンを押しながらやる必要があるのでOFF
#set-option -g mouse-resize-pane on
set-option -g mouse-select-pane on
#set-option -g mouse-select-window on
# prefix + r で設定ファイルを再読み込み
unbind r
bind r source-file ~/.tmux.conf
# キーバインド
# 各種ペインの移動
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# 各種ペインのリサイズ
bind H resize-pane -L 5
bind J resize-pane -D 5
bind K resize-pane -U 5
#tmuxでコピーするとクリックボードにもコピーされるように
#http://mba-hack.blogspot.jp/2012/07/tmuxvi.html
#http://blog.necomimi.net/?p=1926
set-option -g default-command "reattach-to-user-namespace -l $SHELL"
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
bind C-y run-shell "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment