mirror of
https://github.com/sebaschi/dotfiles.git
synced 2026-11-15 09:50:27 +01:00
Add grml tmux and zsh configs
This commit is contained in:
1 parent
8cbb941af6
commit
b1060d52eb
6 files changed
+4194
-18
No files matched your search
@@ -0,0 +1,97 @@
|
||||
# Filename: /etc/tmux
|
||||
# Purpose: configuration file for tmux
|
||||
# Authors: grml-team (grml.org), (c) Michael Prokop <mika at grml.org>,
|
||||
# Sebastian Boehm <sebastian at sometimesfood.org>
|
||||
# Bernhard Tittelbach <xro at realraum.at>
|
||||
# Bug-Reports: see http://grml.org/bugs/
|
||||
# License: This file is licensed under the GPL v2.
|
||||
################################################################################
|
||||
|
||||
### screen-like keybindings
|
||||
unbind C-b
|
||||
set -g prefix C-a
|
||||
bind-key a send-prefix
|
||||
bind-key C-a last-window
|
||||
unbind space
|
||||
bind-key space next-window
|
||||
bind-key C-space next-window
|
||||
bind-key K confirm-before kill-pane
|
||||
bind-key '\' confirm-before kill-session
|
||||
#bind-key C-h previous-window
|
||||
|
||||
### join the last active pane to the currently active window
|
||||
bind-key j join-pane -s !
|
||||
|
||||
### join the marked pane to the currently active window
|
||||
### ('bind-key m select-pane -m' is default to mark the current pane)
|
||||
bind-key J join-pane
|
||||
|
||||
### Move current window to session named "bg" (and create session if it does not exist)
|
||||
bind-key B if-shell '! tmux has-session -t bg' {
|
||||
new-session -d -s bg
|
||||
move-window -t bg
|
||||
}
|
||||
|
||||
### Reload Config
|
||||
bind-key R source-file ~/.tmux.conf \; source-file -q ~/.tmux.conf.local \; display-message "~/.tmux.conf[.local] reloaded"
|
||||
|
||||
###rebind keys
|
||||
bind-key h next-layout
|
||||
bind-key BSpace previous-window
|
||||
|
||||
bind-key tab select-pane -t :.+
|
||||
### useful custom keybindings
|
||||
bind-key | command-prompt -p "exec:" "split-window -h '%%'"
|
||||
bind-key - command-prompt -p "exec:" "split-window -v '%%'"
|
||||
|
||||
%if #{>=:#{version},3.1}
|
||||
bind-key -N 'Select the last (previously selected) window' C-a last-window
|
||||
bind-key -N 'Select the next window' space next-window
|
||||
bind-key -N 'Select the next window' C-space next-window
|
||||
bind-key -N 'Kill pane (with confirmation)' K confirm-before kill-pane
|
||||
bind-key -N 'Kill session (with confirmation)' '\' confirm-before kill-session
|
||||
bind-key -N 'Join the last active pane to the currently active window' j join-pane -s !
|
||||
bind-key -N 'Join the marked pane to the currently active window' J join-pane
|
||||
bind-key -N 'Move current window to session named "bg" (and create session if it does not exist)' B if-shell "! tmux has-session -t bg" "new-session -d -s bg" \; move-window -t bg
|
||||
bind-key -N 'Reload config' R source-file ~/.tmux.conf \; source-file -q ~/.tmux.conf.local \; display-message '~/.tmux.conf[.local] reloaded'
|
||||
bind-key -N 'Select the next layout' h next-layout
|
||||
bind-key -N 'Select the previous window' BSpace previous-window
|
||||
bind-key -N 'Select next pane' tab select-pane -t :.+
|
||||
bind-key -N 'Split window horizontally & prompt for command' | command-prompt -p "exec:" "split-window -h '%%'"
|
||||
bind-key -N 'Split window vertically & prompt for command' - command-prompt -p "exec:" "split-window -v '%%'"
|
||||
%endif
|
||||
|
||||
### misc options
|
||||
set -s escape-time 0
|
||||
set -g default-terminal "screen-256color"
|
||||
set -g display-panes-time 3000
|
||||
set -g visual-activity on
|
||||
set -g mode-keys vi
|
||||
set -g history-limit 10000 # default: 2000
|
||||
|
||||
### set status line appearance
|
||||
set -g status-style fg=white,bg=black
|
||||
|
||||
set -g status-left-length 28
|
||||
### status-left: @hostname:sessionname
|
||||
#set -g status-left "#[fg=white,bold]@#h#[fg=red]:#S#[fg=white,nobold] | "
|
||||
### status-left: username@hostname:sessionname
|
||||
set -g status-left "#[fg=red,bold]#{user}@#[fg=white]#h#[fg=red]:#S#[fg=white,nobold] | "
|
||||
|
||||
### status-right: Date and Time
|
||||
#set -g status-right '#[fg=yellow]%Y-%m-%d %H:%M'
|
||||
### status-right: IPs and Date and Time
|
||||
set -g status-right-length 64
|
||||
if-shell 'command -v hostname && hostname --help | grep -q -- -I' {
|
||||
set -g status-right "#[fg=green](net: #(hostname -I | sed -e 's/ [^ ]*:.*$//;s/ / | /g;s/ | $//')) #[fg=yellow]%Y-%m-%d %H:%M"
|
||||
} {
|
||||
set -g status-right '#[fg=yellow]%Y-%m-%d %H:%M'
|
||||
}
|
||||
### status-right: Time
|
||||
#set -g status-right "#[fg=yellow]%H:%M"
|
||||
|
||||
set-window-option -g window-status-style fg=white,bg=black
|
||||
set-window-option -g window-status-current-style fg=blue,bg=white
|
||||
|
||||
### source user-specific local configuration file
|
||||
source-file -q ~/.tmux.conf.local
|
||||
File renamed without changes.
Reference in new issue
Block a user