Neovim
N’ayez pas peur de votre éditeur de texte
Il y a quelques jours, un copain des TupperVim a publié un super article sur les petites choses qu’il aurait aimé savoir au moment de commencer à utiliser
neovim
.Peu de temps après, il nous a rapporté avoir discuté avec d’autres utilisateurs et être étonné que nombre d’entre eux utilisent leur éditeur presque sans configuration.
Personnellement, je n’ai rien contre l’usage nu. D’ailleurs ma configuration est pensée pour ne remplacer aucune fonctionnalité de base par des plugins. L’idée étant que, lorsque j’utilise
vim
sur des serveurs distants, il est généralement vierge de toute configuration, que ce soit la mienne ou celle de quelqu’un d’autre. Je veux donc pouvoir être efficace instantanément sans avoir besoin de réglages particuliers et potentiellement longs à mettre en place.Ceci étant dit, cela ne signifie pas que je n’apprécie pas les avantages que proposent les plugins ou même un peu de configuration sans faire appel à du code externe. Le but de cet article est donc de couvrir ma méthode pour récupérer et faire évoluer ma configuration ainsi que mon approche pour tester les configurations d’autrui sans altérer la mienne.
Neovim + LibUV = <3
Récente découverte pour moi:
neovim
expose une partie de lalibuv
.Cette bibliothèque permet de gérer des évènements asynchrones. Parmi eux sont envisageables la gestion de requêtes externes en TCP ou UDP ou bien l’appel de commandes lorsqu’un fichier est modifié sur le disque. C’est cette seconde possibilité que je vais aborder dans cet article.
J’écris de plus en plus de choses en
markdown
avecpandoc
pour la conversion enhtml
et/oupdf
. J’ai récemment rédigé un article sur comment configurerneovim
pour la gestion dumarkdown
pourpandoc
ourevealjs
. Ce que je présente ici va plus loin en automatisant plus encore les taches de générations en reposant sur lalibuv
et, ce faisant, sans bloquer l’interface de l’éditeur à chaque sauvegarde.(N)Vim et les registres
L’autre jour (c’était il y a au moins longtemps!), j’étais à un TupperVim. Et notre maître de cérémonie, l’illustre Fabien CAZENAVE a rappelé les bases de notre activité favorite : Sharpen The Saw.
- Prendre une fonctionnalité peu ou mal connue susceptible de répondre à un besoin récurrent,
- La poncer pendant quelque temps jusqu’à savoir l’utiliser en dormant,
- Recommencer.
Je l’ai mis dans d’autres articles, j’utilise
vim
et maintenantnvim
depuis une décennie. Mais loin de tout savoir sur l’outil qui me surprends fréquemment, j’ai noté qu’il y avait des fonctionnalités basiques que je n’avais jamais approfondies. Peut-être est-il temps d’y consacrer un peu de temps et d’énergie?Dans cet article, je m’efforce de décortiquer les registres. On les utilise fréquemment sans s’en rendre compte:
yyp
, le copier-coller de l’éditeur modal utilise un registre. Une recherche avec/regex
? Registres. Une commande avec:command
? Registres.Allez, c’est parti.
TMux et NVim workflow
Il m’arrive très souvent au travail de faire de petites présentations. Que ce soit pour vendre une nouvelle idée ou fêter la fin d’un projet, les occasions ne manquent pas.
Cette fois-ci, c’est une présentation à destination d’un collègue particulier. Il travaille beaucoup en console comme moi mais ne prends pas le temps de configurer son environnement. Je lui avais promis ce document il y a fort longtemps et je me suis dit que ce serait dommage de ne pas le partager au reste du monde.
(Neo)Vim et Tmux: profiter de la mémoire musculaire
J’utilise
(neo)vim
depuis près d’une décennie. Et, comme toutes les personnes dans mon cas, j’ai développé une mémoire musculaire permettant de ne plus réfléchir aux commandes tapées. On pense au but, les doigts bougent, sans passer par la réflexion associant le but et la commande à taper. Qui dans ce cas n’a jamais tapé:w<CR>
dans un le navigateur web?D’accord, c’est parfois handicapant. Mais dans ce cas, autant tourner ce comportement à notre avantage. Pourquoi ne pas profiter de cette mémoire musculaire en dehors de l’éditeur de texte?
Quelques alias
bash
pour tirer parti de ce long apprentissage.