Difference between revisions of ".tmux.conf"

From the Linux and Unix Users Group at Virginia Teck Wiki
Jump to: navigation, search
imported>Pew
(Replaced content with "Category:Pending deletion")
m (Paul moved page Tmux to .tmux.conf)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[[Category:Pending deletion]]
+
tmux is a BSD-licensed Terminal MUltipleXer. It allows users to run multiple "windows" through a single shell connection,
 +
and keep applications running when logged out. The default prefix for tmux is Ctl-b, and all other tmux commands are sent
 +
following that prefix. Please read <code>$ man tmux</code> for more info on default keybindings and commands.
 +
 
 +
== echarlie's vim-like config ==
 +
 
 +
<pre>
 +
set -g prefix C-f
 +
bind C-f send-prefix
 +
unbind C-b
 +
 
 +
set -sg escape-time 1
 +
set -g base-index 1
 +
setw -g pane-base-index 1
 +
 
 +
#Mouse works as expected
 +
# set -g mode-mouse on
 +
# set -g mouse-select-pane on
 +
# set -g mouse-resize-pane on
 +
# set -g mouse-select-window on
 +
 
 +
setw -g monitor-activity on
 +
set -g visual-activity on
 +
 
 +
set -g mode-keys vi
 +
set -g history-limit 10000
 +
 
 +
# y and p as in vim
 +
bind Escape copy-mode
 +
unbind p
 +
bind p paste-buffer
 +
bind -t vi-copy 'v' begin-selection
 +
bind -t vi-copy 'y' copy-selection
 +
bind -t vi-copy 'Space' halfpage-down
 +
bind -t vi-copy 'Bspace' halfpage-up
 +
 
 +
# extra commands for interacting with the ICCCM clipboard
 +
bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"
 +
bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
 +
 
 +
# easy-to-remember split pane commands
 +
#bind | split-window -h
 +
#bind - split-window -v
 +
#unbind '"'
 +
#unbind %
 +
 
 +
# moving between panes with vim movement keys
 +
bind h select-pane -L
 +
bind j select-pane -D
 +
bind k select-pane -U
 +
bind l select-pane -R
 +
 
 +
# moving between windows with vim movement keys
 +
bind -r C-h select-window -t :-
 +
bind -r C-l select-window -t :+
 +
 
 +
# resize panes with vim movement keys
 +
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
 +
set-option -g lock-command vlock
 +
</pre>
 +
 
 +
[[Category:Scripts]]
 +
[[Category:Howtos]]
 +
[[Category:Software]]

Latest revision as of 03:12, 4 January 2019

tmux is a BSD-licensed Terminal MUltipleXer. It allows users to run multiple "windows" through a single shell connection, and keep applications running when logged out. The default prefix for tmux is Ctl-b, and all other tmux commands are sent following that prefix. Please read $ man tmux for more info on default keybindings and commands.

echarlie's vim-like config

set -g prefix C-f
bind C-f send-prefix
unbind C-b

set -sg escape-time 1
set -g base-index 1
setw -g pane-base-index 1

#Mouse works as expected
# set -g mode-mouse on
# set -g mouse-select-pane on
# set -g mouse-resize-pane on
# set -g mouse-select-window on

setw -g monitor-activity on
set -g visual-activity on

set -g mode-keys vi
set -g history-limit 10000

# y and p as in vim
bind Escape copy-mode
unbind p
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection
bind -t vi-copy 'Space' halfpage-down
bind -t vi-copy 'Bspace' halfpage-up

# extra commands for interacting with the ICCCM clipboard
bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"
bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"

# easy-to-remember split pane commands
#bind | split-window -h
#bind - split-window -v
#unbind '"'
#unbind %

# moving between panes with vim movement keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# moving between windows with vim movement keys
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+

# resize panes with vim movement keys
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
set-option -g lock-command vlock