Existe algo que eu possa fazer para manter o syntax on
uso do Vim?
Assim que abro algo substancial, torna-se quase impossível editar depois de um tempo. Cada pressionamento de tecla causa um atraso. Se eu desativar o realce da sintaxe ou reiniciar o vim - tudo bem novamente.
Eu synmaxcol
configurei para 120. O arquivo ruby de amostra tem apenas 59 linhas e não excede 80 caracteres.
Eu estou usando vim-ruby
e vim-rails
.
O problema é que o atraso parece se acumular ao longo do tempo. Quando abro o arquivo do zero, tudo bem. Depois de um tempo, fica cada vez mais lento.
syntax-highlighting
performance
firedev
fonte
fonte
vim -Nu NONE -c 'syntax on'
? Você seguiu as dicas de depuração nesta postagem-u NONE
então deve haver algum plugin então. Acho que a resposta para a maioria das perguntas é 'desativar plugins até encontrar o culpado' :(Respostas:
As versões recentes do Vim têm um
:syntime
comando para solucionar problemas de lentidão do destaque da sintaxe, gerando um relatório de quanto tempo cada grupo de sintaxe leva para corresponder. Isso é muito útil e rapidamente permite que você encontre o culpado; a única desvantagem é que você precisa de uma construção (geralmente "ENORME") do Vim com a criação de perfis ativada.:help :syntime
fornece boas instruções de como empregá-lo.Como alternativa, você pode tentar remover scripts de sintaxe individuais de
~/.vim/syntax/
e$VIMRUNTIME/syntax/
(de acordo com o atual'filetype'
) e, em seguida, detalhar ainda mais, removendo partes das definições de sintaxe dentro do script.fonte
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?\ ....
- isso é claramente da outra pasta. Desativar tags?0.121880 2078 54 0.002260 0.000059 rubySymbol []})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@=
- Tudo o que posso fazer sobre isso?:set regexpengine=1
(melhor em uma nova instância do Vim, antes de abrir o arquivo Ruby).Outro gargalo típico no destaque da sintaxe do vim é dobrar. A edição pode ficar muito lenta se uma dobra contiver muitos itens de sintaxe (o que basicamente significa que ela percorre muitas linhas), porque o vim atualizará toda a sintaxe de cada caractere inserido.
Se é isso que você está enfrentando, sugiro o uso do plugin FastFold . Este plug-in identifica dobras de sintaxe e as substitui por dobras manuais, tornando a sintaxe do vim realçada muito mais rapidamente.
fonte
Aqui está o que eu fiz no final:
xolox/vim-easytags
xolox/vim-misc
kien/ctrlp
d11wtq/ctrlp_bdelete
etacahiroy/ctrlp-funky
comjunegunn/fzf
regexpengine=1
No momento, o Vim é suave como manteiga, mas não tenho mais tags. Suspiro...
fonte
:help tag-commands
para pular para uma tag. Considero as ctags bastante essenciais ao trabalhar com o Vim. Isso torna a navegação super simples e você pode até se autocompletar:help i_Ctrl-x_Ctrl-]
!