A match made in heaven
Décembre 2022
Où, quoi, quand, comment?
TMux
Un multiplexer de terminal qu’il est bien
NVim
Un éditeur basé sur Vim
qu’il est bien
Des exemples de configurations sont partagés dans cette présentation.
Copier-coller revient à s’imposer les choix d’autrui.
Mieux vaut les comprendre et s’en inspirer que les appliquer aveuglément.
TMux
La configuration de TMux
va
dans
~/.tmux.conf
Un exemple accessible ici
TMux
se
contrôle au clavier via un Prefix
Prefix
est <C-b>
Prefix
+ Commande
dirigent TMux
Toute action TMux
s’effectue dans une session
Prefix + d
<C-b>d
par défaut
Prefix + w
est interactif
S’attacher à une session si elle existe, la créer sinon
Une session contient des fenêtres
Création
Prefix + c
Suppression
Prefix + &
Précédente
Prefix + p
Suivante
Prefix + n
Une fenêtre contient des panneaux
Précédent
Prefix + ;
Suivant
Prefix + o
Plus à ce propos par la suite
Zoom toggle
Prefix + z
De panneau à fenêtre
Prefix + !
Il est possible d’étendre TMux
avec des
plugins
NVim
NVim
évolue plus vite
que certaines distributions.
Il est parfois nécessaire d’ajouter des dépôts pour avoir une version à jour.
👋 Debian 👋 Ubuntu 👋
La configuration de NVim
va dans
~/.config/nvim/init.lua
Un exemple accessible ici
Tout comme dans Vim
Verticaux
:vsplit $path<CR>
:vsp $path<CR>
Horizontaux
:split $path<CR>
:sp $path<CR>
<C-w>k ⬆️
|
||
⬅️
<C-w>h
|
<C-w>l ➡️
|
|
<C-w>j ⬇️
|
Plus à ce propos par la suite
NVim
c’est bien
NVim
boosté aux
plugins, c’est mieux
Packer
Packer
est un plugin et un gestionnaire de
plugins
Il permet de déclarer les plugins désirés en lua
Un exemple accessible ici
TreeSitter
Configuration pour la colloration syntaxique
Ajout d’une syntaxe
:TSInstall $syntaxe<CR>
Mise à jour des syntaxes
:TSUpdate<CR>
Une configuration accessible ici
Mason
Gestion des linters, formatters et LSP
Ajout d’une fonctionnalité
:MasonInstall $syntaxe<CR>
LSP Config
Une configuration accessible ici
Ils vont si bien ensemble
NVim
Créer une session
:mksession<CR>
:mksession $file_name<CR>
Charger une session
nvim -S
nvim -S $file_name
L’immense Tim
POPE propose le plugin Obsession
Il permet de mettre à jour automatiquement le fichier de session à
chaque changement dans NVim
Se déplacer différement entre TMux
et NVim
est vite lassant.
Chose promise, chose due.
Navigator
Unifie les déplacements entre les deux
<C-k> ⬆️
|
||
⬅️
<C-h>
|
<C-l> ➡️
|
|
<C-j> ⬇️
|
L’émulateur de terminal Alacritty
peut lancer TMux
au
démarrage.
TMux
et
NVim
sont chacun des
outils en console extrêmement puissants.
Ensemble, ils décuplent leurs potentiels et apportent une nouvelle expérience de travail sobre et efficace.
Bien intégrés à l’émulateur de terminal, aucun effort n’est à fournir.