aboutsummaryrefslogtreecommitdiff
path: root/.tmux.conf
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <msabate@suse.com>2019-08-22 18:30:24 +0200
committerMiquel Sabaté Solà <msabate@suse.com>2019-08-22 18:30:24 +0200
commit4ead9be4468d8d58c027bf6e6616e3b4d6e727eb (patch)
tree18ab19fd5213c9d302b165eafa46a6f1f8902e75 /.tmux.conf
parent04f4a7df197ce327f36b666869a1ca2f09934e58 (diff)
downloaddotfiles-4ead9be4468d8d58c027bf6e6616e3b4d6e727eb.tar.gz
dotfiles-4ead9be4468d8d58c027bf6e6616e3b4d6e727eb.zip
Complete re-structuring so it's easier to install
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
Diffstat (limited to '.tmux.conf')
-rw-r--r--.tmux.conf123
1 files changed, 123 insertions, 0 deletions
diff --git a/.tmux.conf b/.tmux.conf
new file mode 100644
index 0000000..70e483b
--- /dev/null
+++ b/.tmux.conf
@@ -0,0 +1,123 @@
+# tmux configuration based on: https://github.com/0xAX/my-dotfiles
+
+#
+# Keybindings
+#
+set -g prefix C-x
+bind C-x send-prefix
+unbind C-x
+
+unbind C-b
+unbind C-a
+unbind %
+unbind ,
+unbind .
+unbind n
+unbind p
+unbind [
+unbind '"'
+unbind l
+unbind &
+unbind "'"
+unbind w
+
+#
+# vi
+#
+
+# vi status keys
+set-window-option -g mode-keys vi
+set-option -g status-keys vi
+
+# copy & paste like vim
+unbind [
+bind Escape copy-mode
+unbind p
+bind p paste-buffer
+bind-key -t vi-copy 'v' begin-selection
+bind-key -t vi-copy 'y' copy-selection
+
+
+# move tmux copy buffer into x clipboard
+bind-key C-y save-buffer /tmp/tmux-buffer \; run-shell "cat /tmp/tmux-buffer | xclip"
+
+#
+# manage windows
+#
+bind-key n new-window
+bind-key k kill-window
+bind-key 2 split-window -h
+bind-key 3 split-window
+
+bind -n C-Right next-window
+bind -n C-Left previous-window
+
+#
+# manage panes
+#
+bind-key x kill-pane
+
+bind -n S-Up select-pane -U
+bind -n S-Down select-pane -D
+bind -n S-Left select-pane -L
+bind -n S-Right select-pane -R
+
+bind -n M-S-Up resize-pane -U
+bind -n M-S-Down resize-pane -D
+bind -n M-S-Left resize-pane -L
+bind -n M-S-Right resize-pane -R
+
+#
+# window title
+#
+set-window-option -g automatic-rename on
+set-option -g set-titles on
+set-option -g set-titles-string '#S:#I.#P #W' # window number,program name,active (or not)
+
+#
+# misc
+#
+set -g history-limit 1500
+set -g default-terminal "screen-256color"
+set -g bell-action none
+
+setw -g monitor-activity on
+set -g base-index 1
+setw -g pane-base-index 1
+
+#
+# ui: shamelessly taken from: https://github.com/magarcia/dotfiles
+#
+set -g status-bg "colour0"
+set -g message-command-fg "colour15"
+set -g status-justify "left"
+set -g status-left-length "100"
+set -g status "on"
+set -g pane-active-border-fg "colour10"
+set -g message-bg "colour8"
+set -g status-right-length "100"
+set -g status-right-attr "none"
+set -g message-fg "colour15"
+set -g message-command-bg "colour8"
+set -g status-attr "none"
+set -g pane-border-fg "colour8"
+set -g status-left-attr "none"
+setw -g window-status-fg "colour7"
+setw -g window-status-attr "none"
+setw -g window-status-activity-bg "colour0"
+setw -g window-status-activity-attr "none"
+setw -g window-status-activity-fg "colour10"
+setw -g window-status-separator ""
+setw -g window-status-bg "colour0"
+set -g status-left "#[fg=colour234,bg=colour10] #S #[fg=colour10,bg=colour0,nobold,nounderscore,noitalics]▓▒░"
+set -g status-right "#[fg=colour7,bg=colour0,nobold,nounderscore,noitalics]░▒▓#[fg=colour234,bg=colour7] %Y-%m-%d | %H:%M #[fg=colour7,bg=colour7,nobold,nounderscore,noitalics]░▒▓#[fg=colour234,bg=colour7] #h "
+setw -g window-status-format "#[fg=colour7,bg=colour0] #I |#[fg=colour7,bg=colour0] #W "
+setw -g window-status-current-format "#[fg=colour0,bg=colour8,nobold,nounderscore,noitalics]▓▒░#[fg=colour15,bg=colour8] #I |#[fg=colour15,bg=colour8] #W #[fg=colour8,bg=colour0,nobold,nounderscore,noitalics]▓▒░"
+
+# coping inside tmux
+bind c copy-mode
+bind p paste-buffer
+# copy from system to tmux
+bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
+# copy from tmux to system
+bind C-v run-shell "tmux show-buffer | xclip -sel clip -i > /dev/null"