Created
August 5, 2019 18:26
-
-
Save ravila4/794b6f0150040e7526d832a21d8bdc41 to your computer and use it in GitHub Desktop.
Tmux configuration
This file contains hidden or 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
| # $Id: vim-keys.conf,v 1.2 2010-09-18 09:36:15 nicm Exp $ | |
| # | |
| # vim-keys.conf, v1.2 2010/09/12 | |
| # | |
| # By Daniel Thau. Public domain. | |
| # | |
| # This configuration file binds many vi- and vim-like bindings to the | |
| # appropriate tmux key bindings. Note that for many key bindings there is no | |
| # tmux analogue. This is intended for tmux 1.3, which handles pane selection | |
| # differently from the previous versions | |
| # 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 select-pane -D | |
| #bind k select-pane -U | |
| #bind l select-pane -R | |
| # resize panes like vim | |
| # feel free to change the "1" to however many lines you want to resize by, only | |
| # one at a time can be slow | |
| #bind < resize-pane -L 1 | |
| #bind > resize-pane -R 1 | |
| #bind - resize-pane -D 1 | |
| #bind + resize-pane -U 1 | |
| # bind : to command-prompt like vim | |
| # this is the default in tmux already | |
| bind : command-prompt | |
| # vi-style controls for copy mode | |
| setw -g mode-keys vi | |
| unbind C-b | |
| set -g prefix ` | |
| bind ` send-prefix | |
| # 0 is too far from ` ;) | |
| set -g base-index 1 | |
| # Automatically set window title | |
| set-window-option -g automatic-rename on | |
| set-option -g set-titles on | |
| set -g default-terminal screen-256color | |
| set -g status-keys vi | |
| set -g history-limit 10000 | |
| setw -g mode-keys vi | |
| setw -g mode-mouse on | |
| setw -g monitor-activity on | |
| bind-key v split-window -h | |
| bind-key s split-window -v | |
| bind-key J resize-pane -D 5 | |
| bind-key K resize-pane -U 5 | |
| bind-key H resize-pane -L 5 | |
| bind-key L resize-pane -R 5 | |
| bind-key M-j resize-pane -D | |
| bind-key M-k resize-pane -U | |
| bind-key M-h resize-pane -L | |
| bind-key M-l resize-pane -R | |
| # Vim style pane selection | |
| bind h select-pane -L | |
| bind j select-pane -D | |
| bind k select-pane -U | |
| bind l select-pane -R | |
| # Use Alt-vim keys without prefix key to switch panes | |
| bind -n M-h select-pane -L | |
| bind -n M-j select-pane -D | |
| bind -n M-k select-pane -U | |
| bind -n M-l select-pane -R | |
| # Use Alt-arrow keys without prefix key to switch panes | |
| bind -n M-Left select-pane -L | |
| bind -n M-Right select-pane -R | |
| bind -n M-Up select-pane -U | |
| bind -n M-Down select-pane -D | |
| # Shift arrow to switch windows | |
| bind -n S-Left previous-window | |
| bind -n S-Right next-window | |
| # No delay for escape key press | |
| set -sg escape-time 0 | |
| ## Kill window | |
| #bind -n C-k confirm kill-window | |
| #bind -n C-K confirm kill-server | |
| # Reload tmux config | |
| bind r source-file ~/.tmux.conf | |
| # THEME | |
| set -g status-bg black | |
| set -g status-fg white | |
| set -g window-status-current-bg white | |
| set -g window-status-current-fg black | |
| set -g window-status-current-attr bold | |
| set -g status-interval 60 | |
| set -g status-left-length 30 | |
| set -g status-left '#[fg=green](#S) #(whoami)' | |
| set -g status-right '#[fg=yellow]#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=white]%H:%M#[default]' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment