Aide-mémoire personnel sous vim
On peut réaliser une aide personnelle sous vim, avec rubriques, surlignage des titres etc.. en 15 lignes de code [1]
Préambule
Cette fonction, à intégrer dans son .vimrc est attribuée à une touche clavier.
Pour le moment, c’est <F2>, qui n’est pas utilisé par le terminal ni l’environnement graphique de mon système. [2]
Elle fonctionne comme un « switch » : elle ouvre ou ferme l’aide-mémoire alternativement [3]
Elle est une légère adaptation du script proposé et expliqué par Tristan Colombo dans GNU Linux Magazine France, N° 110 et 111 (Novembre et décembre 2008) qu’il m’ est donc l’occasion de remercier ici.
L’article s’intitule : « Vim : votre prochain environnement de développement intégré »
Ma version actuelle de vim est 7.2
Limites, liées à l’utilisation des pliages (folding)
- à chaque modification du fichier d’ aide, il faudra modifier le .vimrc
- il faut encore améliorer l’affichage en supprimant le préambule des titres ( = des plis fermés) en redéfissant foldtext [4]
- Le motif pour la coloration est limité par le signe « :» ; malheureusement, la reconnaissance est « gourmande », et c’est le dernier « :» qui sera la limite
On peut supporter ou y remédier de 2 façons : - en n’utilisant pas le signe « :» en dehors de cette fonction
- en remplaçant le motif par «
/^[^:]/+» qui arrète la reconnaissance avant le 1er « :» , à condition de mettre le signe « :» au début de chaque ligne non concernée.
Le fichier d’aide constitué pour les test est visible ici :
La fonction HelpMemory
"Aide-mémoire personnel de vim:
" Utilise le fichier: memory.txt
" BUG:1 empécher l'édition (pas les commandes de navigation, d'affichage etc..
" )
"Variable d' état de l'affichage de l'aide:
let helpDisplay = 0
"Fonction d'affichage/masquage de l'aide:
function! HelpMemory()
if g:helpDisplay == 0
"création de la fenêtre:
silent! topleft vertical 70split +buffer helpMemory
let g:helpDisplay = 1
set buftype=nofile
"ouvre en lecture seule
0read $HOME/.vim/memory.txt
set matchpairs=
highlight Memory ctermfg=white ctermbg=darkblue
3match Memory /^.\+\ \+:/
"3match Memory /^[^:]\+/
"Pliages:
silent! normal!
"Configuration des plis, en fonction du fichier d'aide:
1,2 fold
"Sous-Rubriques Plis:
9,14 fold
15,18 fold
19,22 fold
23,27 fold
28,35 fold
36,42 fold
43,46 fold
47,50 fold
"Rubrique générale Plis:
6,50 fold
"CTRL:
51,54 fold
"Commandes de VCSCommand (git):
55,73 fold
"Fin de la configuration des plis
"Affichage plus concis des rubriques repliées:
" ( sur 1 seule ligne, sans espace )
set foldtext=v:folddashes.substitute(getline(v:foldstart
),'/\\*\\\|\\*/\\\|{{{\\d\\=','','g')
"Réduction d'une éventuelle marge encombrante:
set foldcolumn=0
else
bdelete helpMemory
let g:helpDisplay = 0
endif
endfunctionIl y a mieux, que je viens de découvrir ICI Rédiger son propre fichier d’aide ! avec :help ma_rubrique_perso le tour est joué !
[1] Plus la configuration : 1 ligne par rubrique et le fichier d’aide personnel
[2] "F2 pour l’aide mémoire personnalisé :
map
imap
[3] aucune mémoire de l’état précédent : toutes le rubriques sont pliées à l’ouverture de la fenêtre d’aide-mémoire
[4] C’est fait simplement avec l’ exemple de :help fold-foldtext
fr
GNU, LINUX, BSD, LL
AIDES GNU/LINUX
VIM et sed
?

