-
-
Save shinzui/866897 to your computer and use it in GitHub Desktop.
tmux.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ~/.tmux.conf | |
# | |
# See the following files: | |
# | |
# /opt/local/share/doc/tmux/t-williams.conf | |
# /opt/local/share/doc/tmux/screen-keys.conf | |
# /opt/local/share/doc/tmux/vim-keys.conf | |
# | |
# URLs to read: | |
# | |
# http://blog.yjl.im/2009/11/migrating-to-tmux-from-gnuscreen.html | |
# http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/ | |
# http://blog.hawkhost.com/2010/07/02/tmux-%E2%80%93-the-terminal-multiplexer-part-2/ | |
# http://www.dayid.org/os/notes/tm.html | |
# | |
# Other sample tmux.conf files | |
# | |
# http://www.mindfuzz.net/?p=178 | |
# | |
# ----------------------------------------------------------------------------- | |
# Global settings | |
# Set prefix key to Ctrl-a | |
unbind-key C-b | |
set-option -g prefix C-a | |
# send the prefix to client inside window | |
bind-key C-a send-prefix | |
# toggle last window like screen | |
bind-key C-a last-window | |
# open a man page in new window | |
bind-key / command-prompt "split-window 'exec man %%'" | |
# quick view of processes | |
#bind-key "~" split-window "exec htop" | |
# scrollback buffer n lines | |
set -g history-limit 5000 | |
# listen for activity on all windows | |
set -g bell-action any | |
#set -g bell-action none | |
# start window indexing at zero (default) | |
set -g base-index 0 | |
# instructs tmux to expect UTF-8 sequences | |
setw -g utf8 on | |
sest -g utf8 on | |
# tell tmux to use 256 colour terminal | |
set -g default-terminal "screen-256color" | |
# xterm-style function key sequences | |
setw -g xterm-keys on | |
# control automatic window renaming | |
setw -g automatic-rename off | |
# enable wm window titles | |
set -g set-titles on | |
# wm window title string (uses statusbar variables) | |
#set -g set-titles-string "tmux.#I.#W" | |
# don't close windows. just deactivate them. use respawn-window to reactivate. | |
#setw -g remain-on-exit on | |
# Key bindings | |
# reload settings | |
bind-key R source-file ~/.tmux.conf | |
# detach client | |
bind-key d detach | |
bind-key C-d detach | |
# choose a client to detach | |
bind-key D choose-client | |
# choose window/session | |
bind-key "'" choose-window | |
bind-key '"' choose-session | |
# display visible indicator of each pane | |
bind-key w display-panes | |
# navigate panes using jk, and ctrl+jk (no prefix) | |
bind-key -r j select-pane -t :.- | |
bind-key -r k select-pane -t :.+ | |
bind-key -r C-j select-pane -t :.- | |
bind-key -r C-k select-pane -t :.+ | |
# navigate windows using hl, and ctrl-hl (no prefix) | |
bind-key -r h select-window -t :- | |
bind-key -r l select-window -t :+ | |
bind-key -r C-h select-window -t :- | |
bind-key -r C-l select-window -t :+ | |
# swap panes | |
bind-key -r J swap-pane -D | |
bind-key -r K swap-pane -U | |
# Ctrl-Left/Right cycles thru windows (no prefix) | |
bind-key -n "C-Left" select-window -t :- | |
bind-key -n "C-Right" select-window -t :+ | |
# Ctrl-Up/Down cyles thru panes (no prefix) | |
bind-key -n "C-Up" select-pane -t :.- | |
bind-key -n "C-Down" select-pane -t :.+ | |
# Cycle to next pane | |
bind-key -r Tab select-pane -t :.+ | |
# kill current pane/window | |
bind-key q confirm-before kill-pane | |
bind-key Q confirm-before kill-window | |
bind-key C-q confirm-before kill-pane | |
#bind-key x kill-pane | |
#bind-key X kill-window | |
# window layouts (emacs-like) | |
#bind-key 1 break-pane | |
#bind-key 2 select-layout even-vertical | |
#bind-key 3 select-layout even-horizontal | |
#bind-key o select-pane -U | |
# specific window layouts | |
#bind -r y next-layout | |
#bind o select-layout "active-only" | |
#bind O select-layout "main-vertical" | |
# copying and pasting | |
bind-key [ copy-mode | |
bind-key ] paste-buffer -s \015 | |
# vi-style controls for copy mode | |
setw -g mode-keys vi | |
# enable mouse selection in copy mode | |
setw -g mode-mouse on | |
# list all paste buffers (default key is '#') | |
bind-key b list-buffers | |
# choose buffer to paste interactively (default key was '=') | |
bind-key p choose-buffer | |
# delete the most recently copied buffer of text (default key was '-') | |
bind-key x delete-buffer | |
# Screen-like key bindings | |
# new window | |
bind-key C-c new-window | |
bind-key c new-window | |
# next | |
bind-key -r Space next-window | |
bind-key -r "C-Space" next-window | |
# prev | |
bind-key BSpace previous-window | |
# title (default key in tmux is ',') | |
bind-key A command-prompt "rename-window %%" | |
# quit | |
bind-key \ confirm-before kill-server | |
# displays | |
bind-key * list-clients | |
# redisplay (default key in tmux is 'r') | |
#bind-key C-l refresh-client | |
#bind-key l refresh-client | |
bind-key r refresh-client | |
# Split windows like vim | |
# vim's definition of a horizontal/vertical split is reversed from tmux's | |
#bind-key s split-window -v | |
#bind-key v split-window -h | |
# alternatively, use better mnemonics for horizontal/vertical splits | |
bind-key - split-window -v | |
bind-key _ split-window -v | |
bind-key | split-window -h | |
# resize panes like vim | |
bind-key -r < resize-pane -L 3 | |
bind-key -r > resize-pane -R 3 | |
bind-key -r + resize-pane -U 1 | |
bind-key -r = resize-pane -D 1 | |
# Statusbar settings | |
# toggle statusbar | |
bind-key s set status | |
# use vi-style key bindings in the status line | |
set -g status-keys vi | |
# amount of time for which status line messages and other indicators | |
# are displayed. time is in milliseconds. | |
set -g display-time 2000 | |
# default statusbar colors | |
set -g status-fg white | |
set -g status-bg default | |
set -g status-attr default | |
# default window title colors | |
setw -g window-status-fg white | |
setw -g window-status-bg default | |
setw -g window-status-attr dim | |
# active window title colors | |
setw -g window-status-current-fg cyan | |
setw -g window-status-current-bg default | |
#setw -g window-status-current-attr bright | |
setw -g window-status-current-attr underscore | |
# command/message line colors | |
set -g message-fg white | |
set -g message-bg black | |
set -g message-attr bright | |
# Session initialization | |
# Note: | |
# new - alias for new-session | |
# neww - alias for new-window | |
# first session | |
#new -d -s0 | |
#neww -d | |
#neww -d | |
#neww -d | |
# second session | |
#new -d -s1 | |
#neww -d | |
#neww -d | |
#select-window -t1 | |
# ----------------------------------------------------------------------------- | |
# vim: fen fdl=0 fdm=marker |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment