From 9533451555fad0ab69241179599df3258f058b57 Mon Sep 17 00:00:00 2001 From: Gardouille Date: Sun, 31 Aug 2014 23:59:02 +0200 Subject: [PATCH] =?UTF-8?q?Initialisation=20des=20fichiers=20d=C3=A9j?= =?UTF-8?q?=C3=A0=20existants.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- split101010 | 23 +++++ splitWORK | 33 +++++++ tmux.conf | 265 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 321 insertions(+) create mode 100644 split101010 create mode 100644 splitWORK create mode 100644 tmux.conf diff --git a/split101010 b/split101010 new file mode 100644 index 0000000..c567518 --- /dev/null +++ b/split101010 @@ -0,0 +1,23 @@ +#### Session -------------------------------------------------------------- +# -sX : numéro de la session +# -nNOM_TERMINAL : nom du terminal +# -d : indique à tmux de ne pas attacher la session et de ne pas prendre les +# nouvelles fenêtres comme une fenêtre courante +# -t0:X : modifier les paramètres de la fenêtre X de la session 0. !Attention +# la fenêtre doit exister avant de pouvoir modifier ses paramètres! +# monitor-activity : permet de mettre en avant une fenêtre quand son contenu reçoit un événement +# +new -A -sUpdate101010 +neww -d -nSSH1 'exec ssh reverse.101010.vpn' +selectw -t 1 +selectp -t 0 +# Pane 1 +splitw -v -p 25 -t 0 'exec ssh chat.101010.vpn' +splitw -h -p 50 -t 1 'exec ssh puppet.101010.vpn' +# Pane 3 +splitw -h -p 50 -t 0 'exec ssh dns.101010.vpn' + +neww -d -nSSH2 'exec ssh git.101010.vpn' +selectw -t 2 +selectp -t 0 + diff --git a/splitWORK b/splitWORK new file mode 100644 index 0000000..fe69689 --- /dev/null +++ b/splitWORK @@ -0,0 +1,33 @@ +#### Session -------------------------------------------------------------- +# -sX : numéro de la session +# -nNOM_TERMINAL : nom du terminal +# -d : indique à tmux de ne pas attacher la session et de ne pas prendre les +# nouvelles fenêtres comme une fenêtre courante +# -t0:X : modifier les paramètres de la fenêtre X de la session 0. !Attention +# la fenêtre doit exister avant de pouvoir modifier ses paramètres! +# monitor-activity : permet de mettre en avant une fenêtre quand son contenu reçoit un événement +# +new -A -sUpdateIPR +neww -d -nSSH1 'exec ssh ldap1.work' +selectw -t 1 +selectp -t 0 +# Pane 1 +splitw -v -p 25 -t 0 'exec ssh www.work' +splitw -h -p 50 -t 1 'exec ssh dhcp.work' +# Pane 3 +splitw -h -p 50 -t 0 'exec ssh tunnelviarelay03' +#splitw -v -p 50 -t 3 'exec sleep 5 && ssh localhost -p 9322' +#splitw -v -p 50 -t 3 'exec ssh localhost -p 9322' + +neww -d -nSSH2 'exec ssh puppet1.work' +selectw -t 2 +selectp -t 0 +# Pane 1 +splitw -v -p 50 -t 0 'exec ssh git1.work' +splitw -h -p 50 -t 1 'exec ssh bdd-mv.work' +splitw -v -p 50 -t 1 'exec ssh inventaire.work' +splitw -v -p 50 -t 2 'exec ssh monitoring.work' +# Pane 4 +splitw -h -p 50 -t 0 'exec ssh deploy.work' + +neww -d -nHyper diff --git a/tmux.conf b/tmux.conf new file mode 100644 index 0000000..07e82f0 --- /dev/null +++ b/tmux.conf @@ -0,0 +1,265 @@ +###############-------------------------------------------------------------- +## +## Fichier de configuration : ~/.tmux.conf +## 0.2: 12-02-22 +## +## By Gardouille +## +## Ce fichier est lu automatiquement par tmux si il est placé dans le homedir +## +## +## Utilisation: +## tmux attach -d -t SESSION_ID +## +## Dépendances: +## vlock : permet de verrouiller tmux en cas d'inactivé ou d'appel (CTRL+b x) + + +#### UTF-8 ------------------------------------------------------------- +set-option -g status-utf8 on +set-window-option -g utf8 on + +#### statusbar --------------------------------------------------------- + +# Couleur du foreground (premier plan) +set -g status-fg yellow +# Couleur du background (arrière plan) +set -g status-bg black + +## Terminaux par défaut +# Couleur du foreground +set-window-option -g window-status-fg cyan +# Couleur du background +set-window-option -g window-status-bg default +# Attribut +#bright/bold: gras +#dim: +#underscore: souligné +#blink: "clignotant"? +#reverse: Inverse les couleurs background et foreground +#hidden: caché +#italics: italique +set-window-option -g window-status-attr dim + +## Terminal actif +# Couleur du foreground +set-window-option -g window-status-current-fg yellow +# Couleur du background +set-window-option -g window-status-current-bg cyan +# Attribut (cf ci-dessus pour la liste) +set-window-option -g window-status-current-attr bold + +## Terminal avec notification +# Couleur du foreground +# Couleur du background +# Attribut +#setw -g window-status-alert-attr default +#setw -g window-status-alert-fg red +#setw -g window-status-alert-bg default + +## Panel par défaut +set -g pane-border-fg white +#set -g pane-border-bg black + +## Panel actif +set -g pane-active-border-fg cyan +#set -g pane-active-border-bg green + + +# Centrer la liste des terminaux +#set -g status-justify centre + +# Partie gauche de la barre +# vide +set -g status-left "" + +# Partie droit de la barre +# %H:%M:%S : Affiche de l'heure (actualisation lors de manipulation ou en fonction de la valeur de status-interval) +set -g status-right "[#[fg=cyan,bright]%H:%M:%S#[default]]" + +# Si tmux est lancé hors de Xorg, on affiche des informations supplémentaires +## Partie gauche de la barre +# #H : le nom de la machine en vert +if '[ -z "$DISPLAY" ]' 'set -g status-left "[#[fg=green]#H#[default]]"' +## Partie droite de la barre +# #(cat /proc/loadavg | cut -d \" \" -f 1,2,3) : charge CPU en magenta +# %a %Y-%m-%d %H:%M : Le jour, la date d'aujourd'hui et l'heure en cyan et gras +if '[ -z "$DISPLAY" ]' 'set -g status-right "[ #[fg=magenta]#(cat /proc/loadavg | cut -d \" \" -f 1,2,3)#[default] ][ #[fg=cyan,bright]%a %Y-%m-%d %H:%M:%S #[default]]"' +if '[ -z "$DISPLAY" ]' 'set -g status-right-length 50' + +# Raffraichissement de la barre d'état toutes les X secondes +set -g status-interval 1 + + + + + +#### keybindings -------------------------------------------------------------- + +## Redéfinition de la combinaison principale par celle de screen (CTRL+a) +unbind C-b +set -g prefix ^A +bind a send-prefix + +## Redéfinition des raccourcis: +# Renommer le terminal courant +unbind A +bind A command-prompt "rename-window %%" + +# Aller au terminal précédent (CTRL+a) +unbind ^A +bind ^A last-window + +# Aller au terminal suivant (CTRL+n) +unbind ^N +bind ^N next-window + +# Aller au terminal précédent (CTRL+p) +unbind ^P +bind ^P previous-window + +# Créer un nouveau terminal (CTRL+c) +unbind ^C +#bind ^C new-window +##CLIPBOARD selection integration +##Requires prefix key before the command key +#Copy tmux paste buffer to CLIPBOARD +bind ^C run "tmux show-buffer | xclip -i -selection clipboard" +#Copy CLIPBOARD to tmux paste buffer and paste tmux paste buffer +bind ^V run "tmux set-buffer -- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer" + +# Détacher tmux +unbind ^D +bind ^D detach + +# Verrouiller tmux +unbind ^X +bind ^X lock-server +unbind x +bind x lock-server + +# Activer/Désactiver la synchronisation des panels +unbind ^S +bind ^S set-window-option synchronize-panes + +## Nouveaux raccourcis clavier pour les terminaux +# Aller au terminal n°{1,12} avec les touches F{1-12} +#bind ... selectw -t:0 +#bind C-& selectw -t:0 +bind F1 selectw -t:1 +bind F2 selectw -t:2 +bind F3 selectw -t:3 +bind F4 selectw -t:4 +bind F5 selectw -t:5 +bind F6 selectw -t:6 +bind F7 selectw -t:7 +bind F8 selectw -t:8 +bind F9 selectw -t:9 +bind F10 selectw -t:10 +bind F11 selectw -t:11 +bind F12 selectw -t:12 + +# Pour basculer entre les différents terminaux, directement avec les touches F{1,12} (sans utiliser CTRL+a), on peut utiliser ça: +#bind -n F1 select-window -t 1 +#bind -n F2 select-window -t 2 +#bind -n F3 select-window -t 3 +#bind -n F4 select-window -t 4 +#bind -n F5 select-window -t 5 +#bind -n F6 select-window -t 6 +#bind -n F7 select-window -t 7 +#bind -n F8 select-window -t 8 +#bind -n F9 select-window -t 9 +#bind -n F10 select-window -t 10 +#bind -n F11 select-window -t 11 +#bind -n F12 select-window -t 12 + + +## Nouveaux raccourcis clavier pour les splits/panels +# split windows comme vim +# Définition des splits comme dans vim (s: vertical et v: horizontal) +#bind s split-window -v +bind v split-window -h + +# Permet de se déplacer entre les panels avec les touches hjkl +# h: gauche +# j: bas +# k: haut +# l: droite +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# Redimentionnement des panels comme vim +# Possibilité de changer la valeur "2" par ce qu'on veut +# < : agrandissement vers la gauche +# > : agrandissement vers la droite +# - : agrandissement vers le bas +# + : agrandissement vers la haut +bind < resize-pane -L 2 +bind > resize-pane -R 2 +bind - resize-pane -D 2 +bind + resize-pane -U 2 + +# Aller au panel suivant avec Tab +unbind Tab +bind Tab select-pane -t:.+ +# Aller au panel précédent avec SHIFT+Tab +unbind BTab +bind BTab select-pane -t:.- + +## Raccourcis clavier pour les sessions +# Proposer la liste des sessions avec choix possible +unbind _ +bind _ choose-session +unbind C-_ +bind C-_ choose-session + + + +#### Configuration -------------------------------------------------------------- +# Numéroter les terminaux à partir de 1 +#set -g base-index 1 + +# Verrouillage de la session après inactivité (en s) +set -g lock-after-time 1800 +# pour que le lock marche sous linux (apt-get install vlock) +set -g lock-command vlock + +# Initialize sessions +bind I source-file ~/.tmux/splitWORK +bind V source-file ~/.tmux/split101010 + +#### Session -------------------------------------------------------------- +# -sX : numéro de la session +# -nNOM_TERMINAL : nom du terminal +# -d : indique à tmux de ne pas attacher la session et de ne pas prendre les +# nouvelles fenêtres comme une fenêtre courante +# -t0:X : modifier les paramètres de la fenêtre X de la session 0. !Attention +# la fenêtre doit exister avant de pouvoir modifier ses paramètres! +# monitor-activity : permet de mettre en avant une fenêtre quand son contenu reçoit un événement +# +# Nouvelle session avec la première fenêtre qui exécute su +new -d -s0 -nr00t 'exec sudo zsh' +# Nouvelle fenêtre 0:1 avec htop +neww -d -nht0p 'exec htop' +# Nouvelle fenêtre 0:2 avec weechat-curses distant +neww -d -nwee +# Nouvelle fenêtre 0:3 dans /media +neww -d -nSdata -c '/media/sdata/' +# Nouvelle fenêtre 0:4 dans ~ +neww -d -nh0me +setw -t0:4 aggressive-resize on +# Nouvelle fenêtre 0:5 dans dépot git +neww -d -ngit -c '/home/jegardai/depot/ipr_puppet/environments/production' +setw -t0:5 aggressive-resize on + +# Fenêtre par défaut: 2 +select-window -t 2 + +#new -d -s1 -nvulgrim 'exec ssh tunnel.vulgrim.gardouille.fr' +#neww -d -nht0p 'exec htop' +#neww + +# Pour se connecter à une session, on peut utiliser: +# tmux attach -d -t X