Y a-t-il quelque chose que je puisse faire pour conserver syntax on
Vim?
Dès que j'ouvre quelque chose de substantiel, il devient presque impossible de le modifier après un certain temps. Chaque pression sur une touche entraîne un retard. Si je désactive la mise en surbrillance de la syntaxe ou que je relance vim - ça va encore.
J'ai synmaxcol
mis à 120. L'exemple de fichier rubis ne fait que 59 lignes et ne dépasse pas 80 caractères.
J'utilise vim-ruby
et vim-rails
.
Le problème est que le retard semble s'accumuler avec le temps. Quand j'ouvre le fichier à partir de zéro, ça va. Au bout d'un moment, cela devient de plus en plus lent.
syntax-highlighting
performance
firedev
la source
la source
vim -Nu NONE -c 'syntax on'
? Avez-vous suivi les conseils de débogage sur ce post-u NONE
ce doit donc être un plugin. Devinez la réponse à la plupart des questions est «désactiver les plugins jusqu'à ce que vous trouviez le coupable» :(Réponses:
Les versions récentes de Vim ont une
:syntime
commande pour dépanner la lenteur de la coloration syntaxique en générant un rapport sur la durée de chaque groupe de syntaxe pour correspondre. Ceci est très utile et vous permet de trouver rapidement le coupable; le seul inconvénient est que vous avez besoin d'une version (généralement "ÉNORME") de Vim avec le profilage activé.:help :syntime
fournit de bonnes instructions pour l'utiliser.Alternativement, vous pouvez essayer de supprimer des scripts de syntaxe individuels de
~/.vim/syntax/
et$VIMRUNTIME/syntax/
(selon le courant'filetype'
), puis approfondir en supprimant des parties des définitions de syntaxe à l'intérieur du script.la source
TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN 0.129674 247 182 0.002365 0.000525 rubyMethodNameTag \C\<\%(roi\|paginate\|admin_index_attributes\|facilities\|manager\|net_price?\ ....
- c'est clairement de l'autre dossier. Désactiver les balises?0.121880 2078 54 0.002260 0.000059 rubySymbol []})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@=
- Tout ce que je peux faire?:set regexpengine=1
(mieux dans une nouvelle instance de Vim, avant d'ouvrir le fichier Ruby).Un autre goulot d'étranglement typique dans la mise en évidence de la syntaxe de vim est le pliage. L'édition peut devenir très lente si un pli contient de nombreux éléments de syntaxe (ce qui signifie qu'il s'étend sur plusieurs lignes), car vim actualisera toute la syntaxe pour chaque caractère inséré.
Si c'est ce que vous vivez, je vous suggère d'utiliser le plugin FastFold . Ce plugin identifie les plis de syntaxe et les remplace par des plis manuels, ce qui accélère la mise en évidence de la syntaxe de vim.
la source
Voici ce que j'ai fait au final:
xolox/vim-easytags
xolox/vim-misc
kien/ctrlp
d11wtq/ctrlp_bdelete
ettacahiroy/ctrlp-funky
parjunegunn/fzf
regexpengine=1
À l'heure actuelle, Vim est lisse comme du beurre, mais je n'ai plus de balises. Soupir...
la source
:help tag-commands
pour passer à une balise. Je considère les ctags assez essentiels lorsque je travaille avec Vim. Cela rend la navigation super simple et vous pouvez même la compléter automatiquement:help i_Ctrl-x_Ctrl-]
!