-- Leo's gemini proxy

-- Connecting to thasmanie.fr:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=fr

vim, astuces diverse

2020-01-09

retour


Intro

Quelques options, commandes, et plugins pouvant être utiles pour rendre vim encore plus sympa et ne plus se limiter à une utilisation basique.

Pour apprendre les bases de vim, il existe la commande `vimtutor`, ça ouvre vim avec un fichier d'aide qui reprend tous les principes de base.


Installation

Pour jouer avec des plugins un peu avancés, c'est bien d'avoir le support de python activé dans vim. Sur debian / ubuntu, le package `vim-nox` le permet. On peut aussi virer les autres versions (`vim` et `vim-tiny`) si on en a pas l'utilité :


sudo apt install vim-nox
sudo apt autoremove --purge vim vim-tiny

Sinon on peut aussi configurer l'éditeur par défaut avec `sudo update-alternatives --config editor`.

Si le package n'est pas disponible, compiler vim depuis les sources n'est pas bien compliqué...


Configuration de base

Général

Le fichier de configuration principal est `.vimrc`, voici quelques options :


`set nu` : affiche le numéro des lignes

`set rnu` : affiche le numéro relatif par rapport au curseur (cumulable avec `nu`)

`syntax enable` : coloration syntaxique

`set shiftwidth=4` : considère que 4 espaces = 1 indentation

`set expandtab` : insère des espaces au lieu de tab

`set tabstop=4` : 1 tab = 4 espaces

`set background=dark` : couleurs adaptées aux terminaux foncés


vim-monokai est un chouette colorscheme je trouve :)


Alias

`command TrailingSpaces %s/\s\+$//e` : supprime tous les espaces de fin de ligne en faisant `:TrailingSpaces`

`command EmpyLines :g/^$/d` : supprime toutes les lignes vides avec `:EmpyLines`


Quelques raccourcis

Je ne vais pas faire la liste complète, ce serait beaucoup trop long, mais juste quelques-uns que sont rarement cités :


`u` : undo (`CTRL r` pour redo)

`CTRL a` : incrémente le 1er chiffre trouvé dans la ligne (`CTRL x` pour décrémenter)

`zf` / `zd` : fold / collapse d'un paragraphe

`:set ff=unix` ou `:set ff=dos` : format fichier (retour ligne), ok c'est pas un raccourcis...

`a` : se place en insert **après** le curseur (`i`se place **sur** le curseur)

`>>` = indente 1 ligne (`3>>`pour indenter 3 lignes...)

`W` et `B` : comme `w` et `b` mais pour les **WORD** au lieu des **word**... c'est clair ? :D => les séparateurs des **WORD** sont des espaces en fait... `:help WORD`


Fonctions avancées

Squelettes

Créer un fichier vierge déjà rempli selon un modèle. Exemple :


$ grep bash.skel ~/.vimrc
au BufNewFile *.sh 0r ~/.vim/skels/bash.skel
$ cat ~/.vim/skels/bash.skel
#!/bin/bash

doc : `:help skeleton`

-- Response ended

-- Page fetched on Sun May 5 15:04:04 2024