Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/03/2019, à 18:14

DonutMan75

[RESOLU] Vim : erreur dans statusline ?

Bonsoir à tous,
je suis en train de découvrir vim via le livre "Vi and Vim editors" (collection O'Reilly).

Dans le chapitre 12 consacré aux scripts vim, il est détaillé comment automatiser l'appel à une fonction perso en l'incluant dans la statusline. L'idée étant qu'une fonction perso soit appelée chaque fois qu'on modifie vim (déplacement du curseur, écriture etc...) afin d'avoir une mise-à-jour continue..

Voici mon vimrc :

function Donut()
          colorscheme desert
          echo "Donut is calling..."
 endfunction
 (...)
 set showmode
 set statusline=%<%t%h%m%r\ \ %a\ %{strftime(\"%c\")}%=Ox%B\ \ line:%l,\ \ col:%c%V\ %P
 set statusline += \ %{Donut()}
 set laststatus=2

Au lancement de vim, j'ai néanmoins cette erreur :

$ vim test.txt
Erreur détectée en traitant /home/donut/.vimrc :
ligne   35 :
E518: Option inconnue: \ %{Donut()}
Appuyez sur ENTRÉE ou tapez une commande pour continuer

La fonction Donut semble néanmoins correctement définie puisqu'un call dans le vimrc donne les bons résultats :

function Donut()
          colorscheme desert
          echo "Donut is calling..."
 endfunction
 (...)
 set showmode
 set statusline=%<%t%h%m%r\ \ %a\ %{strftime(\"%c\")}%=Ox%B\ \ line:%l,\ \ col:%c%V\ %P
 call Donut()
 set laststatus=2

Le livre n'est pas très explicite sur le détail du code et je ne comprends pas pourquoi ça ne marche pas... Avez-vous des idées ??

Merci d'avance smile

Donut

Dernière modification par DonutMan75 (Le 08/03/2019, à 19:20)

Hors ligne

#2 Le 08/03/2019, à 18:33

Watael

Re : [RESOLU] Vim : erreur dans statusline ?

salut,

ça sent la coquille :

function Donut()                                                                                                                                                                                                                    
          colorscheme desert                                                                                                                                                                                                        
          echo "Donut is calling..."                                                                                                                                                                                                
endfunction                                                                                                                                                                                                                        
set showmode                                                                                                                                                                                                                       
set statusline=%<%t%h%m%r\ \ %a\ %{strftime(\"%c\")}%=Ox%B\ \ line:%l,\ \ col:%c%V\ %P                                                                                                                                             
set statusline+=%{Donut()}                                                                                                                                                                                                         
set laststatus=2

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 08/03/2019, à 19:20

DonutMan75

Re : [RESOLU] Vim : erreur dans statusline ?

Hello Watael !
Super c'est bien ça, il fallait supprimer le '\' (pourtant bien présent dans le livre)..
Rhaa terrible ces exemples qui sont donnés MAIS pas expliqués.... hmm

Merci smile

D.

Hors ligne

#4 Le 08/03/2019, à 19:22

Watael

Re : [RESOLU] Vim : erreur dans statusline ?

il y avait pas que ça.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 08/03/2019, à 19:38

DonutMan75

Re : [RESOLU] Vim : erreur dans statusline ?

Ah ?
Eh bien, je n'ai pas réussi à détecter les autres modifications que tu as apportées au code cité.. hmm

Hors ligne

#6 Le 08/03/2019, à 19:43

Watael

Re : [RESOLU] Vim : erreur dans statusline ?

(...) indiquant probablement qu'il peut y avoir autre chose,
et les espaces autour de +=


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne