Lire des logs Apache en couleur : installer ce fichier de syntaxe dans ~/.vim/syntax/ et ajouter dans ~/.vimrc cette ligne : autocmdBufRead *access*log*,*hosting.ovh.net*.log setf httplog (adapter les noms de fichiers, évidemment)
(plus simple que lnav)
Passer d'une sélection par caractères (v) à une sélection par lignes : V (v majuscule) tout simplement. Et inversement.
Utile pour sélectionner un bloc de lignes du genre if (…) { … } quand on a le curseur dans le bloc, en incluant le if : va}V
Faire en sorte que _ soit considéré comme un caractère délimiteur de mots (word boundary) et qu'il ne fasse plus partie du mot : set iskeyword-=_
Ce qui permet d'utiliser par exemple le déplacement par e dans "ceci_est_un_exemple" pour aller à la fin de "ceci", puis "est", puis "un", etc.
Lister toutes les commandes (tous les "raccourcis clavier") avec l'origine (qui crée ce "raccourci") : :verbose map (La première colonne, c'est le mode) ou pour un seul mode :nmap (mode normal) :imap (mode insertion) etc.
Faire un diff avec vimdiff ou gvimdiff en ignorant les changements d'espaces : vimdiff -c 'set diffopt+=iwhite' fichierA fichierB dans le terminal
Afficher les numéros de lignes sur le bord gauche dans Vim, uniquement pour du code :
mettre dans ~/.vimrc autocmdBufEnter*.php,*.tpl,*.sh,*.py,*.java,*.html,*.css,*.scss,*.js,*.twigsetlocalnumber
Et afficher ces numéros en gris : highlightLineNrctermfg=grey
Donner un fond de couleur à une fenêtre particulière pour la distinguer :
(ça peut être une version précédente dans Git, un buffer readonly ou toute autre chose…) hi ColorColumn ctermbg=253 (gris clair, par exemple)
puis setlocal wincolor=ColorColumn
C'est un hack puisqu'on utilise un groupe highlight pour autre chose mais comme il sert peut, ça passe…
Ne pas copier les numéros de ligne en sélectionnant avec la souris : :set mouse+=a
On peut avoir une modeline dans un fichier HTML <!-- vim: set nowrap: -->
(il faut avoir set modeline dans son .vimrc ou la conf par défaut)
Changer des valeurs telles que true en false ou yes en no en une combinaison de touches : utiliser l'extension CtrlXA qui étend les possibilités de Ctrl a et Ctrl x au-delà d'incrémenter et décrémenter des chiffres (ou des listes de chiffres, d'ailleurs, par g Ctrl a)
Ouvrir un terminal dans une fenêtre de Vim : :term ou :terminal
Passer du mode shell au mode normal de Vim pour pouvoir copier-coller dans Vim : Ctrl wN (N majuscule, càd Maj n)
Revenir dans le shell : i
Coller dans le shell : Ctrl w" suivi du registre ! (donc après un simple yank il faut encore ajouter ") (risque de confusion avec Ctrl r ")
Quand tu fais vim foo/bar/baz alors que le répertoire n'existe pas, et que tu t'en aperçois au moment de sauver... :!mkdir -vp %:h (mouais, pas facile à retenir)
Futile mais amusant, insérer du texte en couleur dans Vim avec les codes couleurs ANSI : saisir Ctrl v puis Échap puis [ puis le code couleur dans cette liste, par exemple 32 pour vert, puis m puis le texte puis, pour arrêter la couleur, Ctrl v puis Échap puis [0m. Au final, ça doit ressembler à ^[[32mCoucou^[[0m. Sauver le fichier, faire cat fichier et le texte doit s'afficher en vert. Pour voir la couleur dans Vim directement, installer le script AnsiEsc.