Skip to content

Instantly share code, notes, and snippets.

@oyyblin
Forked from ivanalejandro0/.tmux.conf
Last active May 3, 2024 08:05
Show Gist options
  • Save oyyblin/a8f7114773647fa52942b9f6bf53e695 to your computer and use it in GitHub Desktop.
Save oyyblin/a8f7114773647fa52942b9f6bf53e695 to your computer and use it in GitHub Desktop.

Revisions

  1. oyyblin revised this gist Jun 4, 2019. 1 changed file with 19 additions and 30 deletions.
    49 changes: 19 additions & 30 deletions .tmux.conf
    Original file line number Diff line number Diff line change
    @@ -1,47 +1,36 @@
    # Install tpm + plugins with:
    # git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
    # trigger plugin install with: prefix + I
    set -g mouse on

    # List of plugins
    set -g @plugin 'tmux-plugins/tpm'
    set -g @plugin 'tmux-plugins/tmux-yank'

    # Change prefix key to Ctrl+a
    unbind C-b
    set -g prefix C-a
    bind C-a send-prefix
    bind-key -n M-Left previous-window
    bind-key -n M-Right next-window
    bind -n C-k clear-history

    # force a reload of the config file
    unbind r
    bind r source-file ~/.tmux.conf \; display-message 'Configuration reloaded.'
    set-option -g allow-rename off

    # This is needed for tmux > 1.8
    # http://unix.stackexchange.com/a/109255/66916
    bind c new-window -c "#{pane_current_path}"
    bind % split-window -h -c "#{pane_current_path}"
    bind '"' split-window -c "#{pane_current_path}"
    #set -g pane-border-status top
    #set -g pane-border-format "#{pane_current_path} - #{pane_current_command}"

    # Last active window
    # unbind l
    # bind C-a last-window

    # use vi mode
    set-window-option -g mode-keys vi
    # List of plugins
    set -g @plugin 'tmux-plugins/tpm'
    set -g @plugin 'tmux-plugins/tmux-sensible'

    # Bigger history
    set -g history-limit 50000
    # Continuum
    set -g @plugin 'tmux-plugins/tmux-resurrect'
    set -g @plugin 'tmux-plugins/tmux-continuum'
    set -g @continuum-restore 'on'

    # Terminal emulator window title
    set -g set-titles on
    set -g set-titles-string '#S:#I.#P #W'
    set -g set-titles-string 'Dev:#S:#I.#P #W'

    # Compatibility for iterm
    set -g aggressive-resize off
    setw -g aggressive-resize off

    # right status bar
    set -g status-interval 1
    set -g status-right '#[fg=green]battery ♥#(acpi | cut -d ',' -f 2) | #[fg=yellow]%a %d %b %Y #[fg=green]:: %l:%M %p '

    # thanks to:
    # https://github.com/skwp/dotfiles/blob/master/tmux/tmux.conf
    # https://gist.github.com/alexyoung/6040385
    # color scheme (styled as vim-powerline)
    set -g status-left-length 52
    set -g status-right-length 451
  2. @ivanalejandro0 ivanalejandro0 revised this gist Jul 29, 2016. 1 changed file with 11 additions and 16 deletions.
    27 changes: 11 additions & 16 deletions .tmux.conf
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,10 @@
    # Thanks to: http://blog.yjl.im/2009/11/migrating-to-tmux-from-gnuscreen.html
    # Install tpm + plugins with:
    # git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
    # trigger plugin install with: prefix + I

    # List of plugins
    set -g @plugin 'tmux-plugins/tpm'
    set -g @plugin 'tmux-plugins/tmux-yank'

    # Change prefix key to Ctrl+a
    unbind C-b
    @@ -75,23 +81,12 @@ set-option -g xterm-keys on
    # to avoid esc delay in vim
    set -s escape-time 0


    # System clipboard integration
    # thanks to: http://grota.github.io/blog/2012/05/08/tmux-clipboard-integration/

    # C-c: save into system clipboard (+). With preselection.
    bind C-c choose-buffer "run-shell -b 'tmux save-buffer -b %% - | xclip -i -sel clipboard' \; run-shell -b \" tmux display \\\"Clipboard \(+\) filled with: $(tmux save-buffer -b %1 - | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \\\" \" "
    # C-v: copy from system clipboard (+).
    bind C-v run-shell -b "tmux set-buffer \"$(xclip -o -selection clipboard)\" \; tmux paste-buffer" \; run-shell -b "tmux display \"Copied from \(+\) $(xclip -o -selection clipboard | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \""

    # C-d: save into selection clipboard (*). With preselection.
    bind C-d choose-buffer "run-shell -b \"tmux save-buffer -b %% - | xclip \" \; run-shell -b \" tmux display \\\"Clipboard \(*\) filled with: $(tmux save-buffer -b %1 - | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \\\" \" "
    # C-f: copy from * clipboard.
    bind C-f run-shell "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" \; run-shell "tmux display \"Copied from \(*\) $(xclip -o | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \""

    # display the messages in the status bar a little longer than the default
    # set-option -g display-time 4000

    # enable for remote hosts:
    # set -g update-environment "DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
    # set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock
    # set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock

    # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
    run '~/.tmux/plugins/tpm/tpm'
  3. @ivanalejandro0 ivanalejandro0 revised this gist Jan 19, 2016. 1 changed file with 8 additions and 1 deletion.
    9 changes: 8 additions & 1 deletion .tmux.conf
    Original file line number Diff line number Diff line change
    @@ -9,6 +9,12 @@ bind C-a send-prefix
    unbind r
    bind r source-file ~/.tmux.conf \; display-message 'Configuration reloaded.'

    # This is needed for tmux > 1.8
    # http://unix.stackexchange.com/a/109255/66916
    bind c new-window -c "#{pane_current_path}"
    bind % split-window -h -c "#{pane_current_path}"
    bind '"' split-window -c "#{pane_current_path}"

    # Last active window
    # unbind l
    # bind C-a last-window
    @@ -17,7 +23,7 @@ bind r source-file ~/.tmux.conf \; display-message 'Configuration reloaded.'
    set-window-option -g mode-keys vi

    # Bigger history
    set -g history-limit 10000
    set -g history-limit 50000

    # Terminal emulator window title
    set -g set-titles on
    @@ -40,6 +46,7 @@ set -g pane-active-border-fg colour39
    set -g message-fg colour16
    set -g message-bg colour221
    set -g message-attr bold
    # set -g status-left '#[fg=colour235,bg=colour252,bold] #S #[fg=colour252,bg=colour238,nobold]#[fg=colour245,bg=colour238,bold] #(hostname) #[fg=colour238,bg=colour234,nobold]'
    set -g status-left '#[fg=colour235,bg=colour252,bold] #S #[fg=colour252,bg=colour238,nobold]#[fg=colour245,bg=colour238,bold] #(whoami) #[fg=colour238,bg=colour234,nobold]'
    set -g window-status-format "#[fg=colour10,bg=colour234] #I #[fg=colour231,bold]#W#F #[fg=colour31,bg=colour234,nobold]"
    set -g window-status-current-format "#[fg=colour10,bg=colour31] #I #[fg=colour231,bold]#W #[fg=colour31,bg=colour234,nobold]"
  4. @ivanalejandro0 ivanalejandro0 revised this gist Jul 9, 2014. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions .tmux.conf
    Original file line number Diff line number Diff line change
    @@ -7,7 +7,7 @@ bind C-a send-prefix

    # force a reload of the config file
    unbind r
    bind r source-file ~/.tmux.conf
    bind r source-file ~/.tmux.conf \; display-message 'Configuration reloaded.'

    # Last active window
    # unbind l
    @@ -73,16 +73,18 @@ set -s escape-time 0
    # thanks to: http://grota.github.io/blog/2012/05/08/tmux-clipboard-integration/

    # C-c: save into system clipboard (+). With preselection.
    bind C-c choose-buffer "run \"tmux save-buffer -b %% - | xclip -i -sel clipboard\" \; run \" tmux display \\\"Clipboard \(+\) filled with: $(tmux save-buffer -b %1 - | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \\\" \" "
    bind C-c choose-buffer "run-shell -b 'tmux save-buffer -b %% - | xclip -i -sel clipboard' \; run-shell -b \" tmux display \\\"Clipboard \(+\) filled with: $(tmux save-buffer -b %1 - | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \\\" \" "
    # C-v: copy from system clipboard (+).
    bind C-v run-shell "tmux set-buffer \"$(xclip -o -selection clipboard)\"; tmux paste-buffer" \; run-shell "tmux display \"Copied from \(+\) $(xclip -o -selection clipboard | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \""
    bind C-v run-shell -b "tmux set-buffer \"$(xclip -o -selection clipboard)\" \; tmux paste-buffer" \; run-shell -b "tmux display \"Copied from \(+\) $(xclip -o -selection clipboard | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \""

    # C-d: save into selection clipboard (*). With preselection.
    bind C-d choose-buffer "run-shell \"tmux save-buffer -b %% - | xclip \" \; run-shell \" tmux display \\\"Clipboard \(*\) filled with: $(tmux save-buffer -b %1 - | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \\\" \" "
    bind C-d choose-buffer "run-shell -b \"tmux save-buffer -b %% - | xclip \" \; run-shell -b \" tmux display \\\"Clipboard \(*\) filled with: $(tmux save-buffer -b %1 - | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \\\" \" "
    # C-f: copy from * clipboard.
    bind C-f run-shell "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" \; run-shell "tmux display \"Copied from \(*\) $(xclip -o | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \""

    # display the messages in the status bar a little longer than the default
    # set-option -g display-time 4000

    # enable for remote hosts:
    # set -g update-environment "DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
    # set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock
    # set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock
  5. @ivanalejandro0 ivanalejandro0 created this gist Nov 14, 2013.
    88 changes: 88 additions & 0 deletions .tmux.conf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,88 @@
    # Thanks to: http://blog.yjl.im/2009/11/migrating-to-tmux-from-gnuscreen.html

    # Change prefix key to Ctrl+a
    unbind C-b
    set -g prefix C-a
    bind C-a send-prefix

    # force a reload of the config file
    unbind r
    bind r source-file ~/.tmux.conf

    # Last active window
    # unbind l
    # bind C-a last-window

    # use vi mode
    set-window-option -g mode-keys vi

    # Bigger history
    set -g history-limit 10000

    # Terminal emulator window title
    set -g set-titles on
    set -g set-titles-string '#S:#I.#P #W'

    # right status bar
    set -g status-interval 1
    set -g status-right '#[fg=green]battery ♥#(acpi | cut -d ',' -f 2) | #[fg=yellow]%a %d %b %Y #[fg=green]:: %l:%M %p '

    # thanks to:
    # https://github.com/skwp/dotfiles/blob/master/tmux/tmux.conf
    # https://gist.github.com/alexyoung/6040385
    # color scheme (styled as vim-powerline)
    set -g status-left-length 52
    set -g status-right-length 451
    set -g status-fg black
    set -g status-bg colour232
    set -g pane-border-fg colour245
    set -g pane-active-border-fg colour39
    set -g message-fg colour16
    set -g message-bg colour221
    set -g message-attr bold
    set -g status-left '#[fg=colour235,bg=colour252,bold] #S #[fg=colour252,bg=colour238,nobold]#[fg=colour245,bg=colour238,bold] #(whoami) #[fg=colour238,bg=colour234,nobold]'
    set -g window-status-format "#[fg=colour10,bg=colour234] #I #[fg=colour231,bold]#W#F #[fg=colour31,bg=colour234,nobold]"
    set -g window-status-current-format "#[fg=colour10,bg=colour31] #I #[fg=colour231,bold]#W #[fg=colour31,bg=colour234,nobold]"
    # ^ tip, to list colors use this in bash:
    # for i in {0..255}; do printf "\x1b[38;5;${i}mcolour${i} "; done; echo

    # Notifying if other windows has activities
    # setw -g monitor-activity on
    # set -g visual-activity on

    # Highlight the active window in status bar
    setw -g window-status-current-bg blue

    # Clock
    setw -g clock-mode-colour green
    setw -g clock-mode-style 24

    # color settings
    # some times you need to use: `alias tmux="tmux -2"`
    # set -g default-terminal "xterm-256color"
    set -g default-terminal "screen-256color"

    # to be friendly with vim: get shift, alt, ctrl keys working
    set-option -g xterm-keys on

    # to avoid esc delay in vim
    set -s escape-time 0


    # System clipboard integration
    # thanks to: http://grota.github.io/blog/2012/05/08/tmux-clipboard-integration/

    # C-c: save into system clipboard (+). With preselection.
    bind C-c choose-buffer "run \"tmux save-buffer -b %% - | xclip -i -sel clipboard\" \; run \" tmux display \\\"Clipboard \(+\) filled with: $(tmux save-buffer -b %1 - | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \\\" \" "
    # C-v: copy from system clipboard (+).
    bind C-v run-shell "tmux set-buffer \"$(xclip -o -selection clipboard)\"; tmux paste-buffer" \; run-shell "tmux display \"Copied from \(+\) $(xclip -o -selection clipboard | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \""

    # C-d: save into selection clipboard (*). With preselection.
    bind C-d choose-buffer "run-shell \"tmux save-buffer -b %% - | xclip \" \; run-shell \" tmux display \\\"Clipboard \(*\) filled with: $(tmux save-buffer -b %1 - | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \\\" \" "
    # C-f: copy from * clipboard.
    bind C-f run-shell "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" \; run-shell "tmux display \"Copied from \(*\) $(xclip -o | dd ibs=1 obs=1 status=noxfer count=80 2> /dev/null)... \""


    # enable for remote hosts:
    # set -g update-environment "DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
    # set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock