J'ai (quelque chose d'équivalent) ce qui suit dans un fichier de syntaxe:Vim se déplie de synchronisation avec la syntaxe/mal insérée
syn sync clear
syn sync fromstart
syn region fooBlock start="\<interface\>" end="\ze\<implementation\>" fold
syn region fooBlock start="\<implementation\>" end="\%$" fold
La coloration syntaxique fonctionne très bien (comme on peut le voir en ajoutant par exemple matchgroup=Keyword
). Folding travaille aussi au fond, mais quand j'insérer une nouvelle fois (en tapant par exemple implementation
, vim commence le pli d'une ligne plus tard que prévu. Exemple:
- interface
| l1
| l2
implementation
- l3
| l4
| l5
Lorsque vous tapez ceci, évidemment je me attends la deuxième fois à commencer une ligne plus tôt. en tapant zx
corrige que, tout comme la sauvegarde et la réouverture du fichier ou en tapant :syn sync fromstart
.
que puis-je faire pour avoir vim insérer correctement les plis que je tape?
Je l'ai déjà regardé dans :help fold-syntax
, mais comme indiqué, :syn sync fromstart
dans le fichier de syntaxe ne fonctionne pas.
Il est peut-être préférable d'utiliser \ze
(ou le suffixe me=s-1
, qui donne également le même résultat) pour mettre en surbrillance/plier des régions multi-parties.