Re: ne pas afficher

Startseite

Nachricht beantworten
Autor: LIGIER Philippe
Datum:  
To: Edgar Bonet, Liste Guilde
Betreff: Re: ne pas afficher
On Fri, 14 Nov 2003 18:35:42 +0100, Edgar Bonet <guilde@???>
wrote:

> ....... Dans ce cas tu peux faire :
>
> :set foldexpr=getline(v:lnum)[0]==\"#\"
> :set foldmethod=expr
>
> Ceci a pour effet de remplacer toute suite de lignes consécutives
> commençant par # par _une_ unique ligne à l'écran. La ligne en question
> est grisée et ressemble à :
>
> +-- 3 lines: # Début du commentaire...-------------------------
>

Ca donne un premier résultat très interessant que l'on peut améliorer avec
un petit peu de programmation à la mode "vim" (rien n'interdit de le faire
en Perl, Python ou Rby selon ça préférene). L'objectif étant :

    1 - Traiter également les lignes quand le dièse n'est pas en colonne 1
    2 - Masquer la ligne de pliage
    3 - Cacher également les lignes isolées


L'algorithme du script "cache_diese4.vim" joint, est en gros le suivant

    1 Repérer les series de lignes dont le texte significatif commence par 
dièse pour les replier


      Rq : on assimile les lignes vides aux lignes commentaires pour limiter 
les "trous" lors de l'affichage


    2 Cacher les lignes de pliage : il suffit d'utiliser la couleur 
d'afficahge du fond pour l'avant-plan


    3 Cherche les lignes "dièse" isolées pour leur appliquer la meme technique 
de masquage


    Seul petit souci : ça marche bien avec "vim" en mode graphique, mais il y 
a des petits soucis en mode
    "term" selon le type du teminal


Pour utiliser le script il suffit de le charger :

- au lancement de "vim", par exemple :

    gview /etc/latex2html  -S .vim/cache_diese4.vim


    Rq : il 's'agit de -S (Majuscule) et non pas -s (minuscule)


- ou en cours d'édition :

    :source .vim/cache_diese4.vim


En cours d'édition on peut faire aparaitre/disparaitre les lignes dièses en
tapant

    call AfficheDiese()
    call CacheDiese()


C'est un exemple, on peut améliorer par exemple en rendant le script
parametrable.
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/