-
-
Save spicycode/1229612 to your computer and use it in GitHub Desktop.
# 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 | |
# 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]' |
mode-mouse
option is no more availble in new version. Instead you can use set -g mouse on
at line 13.
I love this thread. Thank you so much @premanuj, @juvenal, @spicycode 🙇♂️
Posted 9 years ago, and still the best game in town !
This conf. is almost perfect, it only needs the copy/paste feature, so for anybody reading this hopefully this spares you some time searching :
# Enable mouse & Copy/Paste - Requirements: xclip
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' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -T copy-mode-vi C-WheelUpPane send-keys -X halfpage-up
bind -T copy-mode-vi C-WheelDownPane send-keys -X halfpage-down
bind -T copy-mode-emacs C-WheelUpPane send-keys -X halfpage-up
bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down
# # Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection c"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
Source : https://unix.stackexchange.com/questions/318281/how-to-copy-and-paste-with-a-mouse-with-tmux
I've been using tmux for about 12 years, and I was today years old that I even thought to remap selecting panes. Omg this gist is amazing.
Pretty nice, but rescaling with hjkl
is suboptimal.
My proposition: use -r C-{hjkl}
to allow resizing by holding ctrl
and pressing b+jjj
(-r indicate repeatable key )
bind-key -r C-j resize-pane -D
bind-key -r C-k resize-pane -U
bind-key -r C-h resize-pane -L
bind-key -r C-l resize-pane -R
Also adding -r
to the walk bindings improves my work routine a lot. 😏
The only problem I had was that the left and right arrow keys send b and f respectively, so I did this:
# Use Alt-arrow keys without prefix key to switch panes
bind -n M-b select-pane -L
bind -n M-f select-pane -R
# ....
This might fix what @schadha17 and @IanVaughan are facing?
Very cool. How about set -g mouse-select-pane
to allow selecting panes using the mouse? (1.8)
Very cool. How about
set -g mouse-select-pane
to allow selecting panes using the mouse? (1.8)
works in xterm, however not in linux consoles
Very cool. How about
set -g mouse-select-pane
to allow selecting panes using the mouse? (1.8)works in xterm, however not in linux consoles
Okay, thanks for the info. That was not in my focus.
Sadly I found mouse-select-pane
broke my ability to copy/paste with my urxvt+Vim combo
Incompatible with tmux >= 2.9 (invalid option errors).
Related: tmux/tmux#1689
Hey guys, I'm back in Linux after 10+ yrs and this site...Great stuff! I need help w/TMUX, as it has really helped out w/SSD testing and debug, even though I'd only use it occasionally. But now I'm at Ricoh, and I've got 20+ dev machines to use. I need help with where to place my tmux.conf or how to set environment (Linux) so I can source (source ~/.tmux.conf) when I've done mods to that file...Please can you help??
invalid option: mode-mouse
invalid option: window-status-current-bg
invalid option: window-status-current-fg
invalid option: window-status-current-attr
Looks like some of these option names have changed over time. For example, window-status-current-bg looks like:
set-window-option -g window-status-current-style bg=default
Thank you for sharing! For those poor souls, like me, who have found themselves beating their heads against the wall (or other hard surfaces) after trying an unholy amounts [ and combinations ] of key bindings, including reserving to utilizing AutoHotKey scripts, while utilizing Windows Terminal - there is a cure!
You will have to un-bind the default actions from the key combinations in the settings.json. Example :
I am not sure if it works on all versions (in my case, version 1.2.2381.0). However, hopefully this tip will give the suffering individuals a direction at root of the cause => to check if their CLI/Terminal app is hijacking the commands.
Cheers.