Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Astuces pour [vim http://www.vim.org]

vim est sans aucun doute un des éditeurs de texte les plus pratiques existant. Sans prétendre écrire ici une formation complète à vim (il existe de superbes tutoriaux sur la toile), cette page recensera quelques astuces utiles pour ce dernier.

Sortir du mode insertion sans Echap

Dans vim, ne trouvez-vous pas très agaçant de devoir aller chercher la touche ESC pour sortir du mode insertion. Et ce, même pour des tâches toutes bêtes comme par exemple corriger une bête faute de frappe.

Je n'ai pas de solutions miracle, mais en attendant je fais de cette façon :

Dans le vimrc, pour utiliser la combinaison de touches jk à la place de Esc :

:imap jk <Esc>

Source : <http://vim.wikia.com/wiki/Avoid_the_escape_key

Heure dans la barre de status

Pour avoir l'heure dans la barre de status de vim, il faut rajouter ceci au fichier ~/.vimrc :

set ruler
set statusline=%<%f%m\ %r\ %h\ %w%=%l,%c\ %p%%\ [%{strftime('%a\ %d/%m/%y\ %H:%M:%S')}]

Voilà le résultat :

Onglets, création et navigation

Vim donne la possibilité d'utiliser des onglets. Cela est très pratique lorsque l'on veut copier du texte d'un fichier à un autre.i

Fond transparent

Afin d'avoir le fond du terminal transparent avec vim, ajoutez cette ligne à votre ~/.vimrc :

" Fond transparent
hi Normal          ctermbg=none

La preuve en image :

Aperçus de fichiers markdown

Pour visualiser rapidement le rendu d'un fichier markdown, j'ai ajouté cette ligne dans mon ~/.vimrc :

map 2h :w<CR>:!echo "<head><meta charset=\"UTF-8\">" > /tmp/apercu.html;markdown "%" >> /tmp/apercu.html ; cd ~ ; surf "file:///tmp/apercu.html" <CR>

Comme ça, je n'ai qu'à appuyer sur 2 puis h, et je vois le rendu dans surf :

Bien sûr, vous pouvez remplacer surf par n'importe quel autre navigateur.

Coloration sytaxique pour markdown

Ce lien explique comment insérer la coloration syntaxique pour markdown dans vim.

Correction orthographique

Documentation officielle Dans le .vimrc :

set spell
setlocal spell spelllang=fr

Pour activer la coloration syntaxique seulement pour certains types de fichier (par exemple ici les fichiers markdown .md) :

au BufNewFile,BufRead *.md set spell
au BufNewFile,BufRead *.md setlocal spell spelllang=fr

Utilisation de modèles

Vous créez souvent le même type de fichier, par exemple du code LaTeX, du C ou du python. Vim peu, lors de la création d'un fihcier d'un certain type, vous présenter un document pré-rempli.

Par exemple, pour un fichier de code C, j'ai créé un modèle, que j'ai placé dans ~/.templates/c :

/*
* Filename:  file.c
*
* Description:
*
* Version:  1.0
* Licence:  GPL
* Author:  john doe <john.doe@mail.net>
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

int main(int argc, char *argv[])
{

    return 0;
}

Pour que vim le charge à chaque nouveau fichier, il faut placer dans le vimrc :

au bufNewFile *.c 0r ~/.templates/c

Maintenant, ce modèle est chargé lorsque je lance la commande vim nouveau_fichier.c. Remplacez *.c par l'extension que vous souhaitez, cela fonctionne avec n'importe laquelle!

Appel rapide à git

Avec cette ligne, taper à la suite ,; appelle git pour ajouter le fichier courant (git add) et inscrire le commit.

map ,; :!git add % &amp;&amp; git commit -m

Insérer un é avec LaTeXsuite

Si vous utilisez vim avec l'extension pour LaTeX, alors vous avez du pester après ce raccourci qui, lorsqu'on tape “é”, “\item” apparaît.

La FAQ l'explique bien, il faut mettre dans le fichier ~/.vim/ftplugin/tex.vim à créer s'il n'existe pas :

imap <C-b> <Plug>Tex_MathBF
imap <C-c> <Plug>Tex_MathCal
imap <C-l> <Plug>Tex_LeftRight

Mon vimrc

N'hésitez pas, piochez des idées dans mon vimrc, situé ici :

vimrc