TupperVim de décembre
présents
- kazé
- Vagran
- Faquin
- Alain
- ellipsometrix
- Fred B
- Lenaïc
- Fernando
Résumé de la séance
Sélection par blocs
C^V pour sélectionner en mode bloc
I pour insérer à l'endroit du curseur sur toutes les lignes du bloc (effectif au échap)
Texte Objects
en premier, une action, d v y ...
a pour arround
i pour inside
B pour représenter un bloc entouré par des {}
b pour représenter un bloc entouré par des ()
t pour représenter un bloc entouré par des tag (xml, html)
exemples
Vap, Vip pour sélectionner dedans et autour du paragraphe.
Vab, Vib pour sélectionner dedans et autour du bloc.
Vab, Vib pour sélectionner dedans et autour du paragraphe.
Changer sa touche leader
let mapleader
Selon Kazé, une bonne chose serait d'utiliser la touche espace comme touche leader
Les registres
:help registry si vous avez du temps devant vous
les registres de 0 à 9 correspondent à l'historique du registre par défaut
le registre % correspond au nom du fichier
le registre * correspond au buffer du clic molette
le registre + correspond au buffer du système
le registre / correspond au dernier texte recherché
de a à Z des registres utilisateurs. A noter que l'utilisation du @ pour accéder à une macro en fait en fait qu'éxecuter le contenu du registre pointé par la lettre derrière le @.
Utiliser un registre
Accéder à une registre se fait à l'aide de "C où C correspond à la lettre du registre voulu, suivit de l'action souhaitée, y ou p
Remplacement sans regex
Après une recherche d'un motif dans un texte, il est possible de remplacer de différentes façons, par n. pour les barbares ou :%q//texte/g pour les plus connaisseurs, cependant une mise à jour de vim apporte une nouvelle commande : cqn pour change next occurance, il suffit de recherche un texte, faire cqn entrer le texte à remplacer puis echap. Il suffira de faire n pour répéter l'opération de changement sur la prochaine occurence recherchée
Se déplacer efficacement dans un fichier
Se déplacer entre paragraphes
{ monter jusqu'à la prochaine ligne vide
} descendre jusqu'à la prochaine ligne vide
Se déplacer à un endroit particulier
[{ Se déplacer vers le haut à la première accolade ouvrante
]} Se déplacer vers le bas à la première accolade fermante
Historique de Vim
earlier 10m pour naviguer d'environ 10 minutes dans le passé du fichier
later 10m pour naviguer d'environ 10 minutes dans le futur du fichier
Gundo
Un plugin à installer pour naviguer dans l'historique de vim
Ctags
Un plugin à installer pour ceux qui font du C
Avoir une vraie gestion du html et du js sous vim
othree html5.vim
othree vajs.vim
Replier son code
3 méthodes possibles pour faire le travail
La méthode par défaut
:set fdm=marker fmr={{{,}}} fd1=0, mettre trois accolades pour entourer un bloc qui devra se replier tout seul
La méthode configurée sur les tabulations
:set foldmethod=indent
:set foldlevel=1
za pour plier/déplier
zA tout déplier
zj pour aller au prochain endroit plié (vers le bas)
zj pour aller au prochain endroit plié (vers le haut)
z1 à z9 pour déplier jusqu'à différent niveaux de pliage
Plugin pandoc
Pour les fana de markdown
Plug 'vim-pandoc/vim-pandoc' Plug 'vim-pandoc/vim-pandoc-syntax'
table mode
https://github.com/dhruvasagar/vim-table-mode/
Debug dans vim
>http://www.vim.org/scripts/script.php?script_id=4582
Toujours avoir de la marge autour de sa ligne courante
:set scrolloff=10 " affiche toujours au moins 10 lignes au-dessus/ en-dessous de la ligne courante