Kann ich irgendetwas tun, um syntax on
Vim zu verwenden?
Sobald ich etwas Wesentliches öffne, ist es nach einer Weile fast unmöglich, es zu bearbeiten. Jeder Tastendruck verursacht eine Verzögerung. Wenn ich die Syntaxhervorhebung ausschalte oder vim neu starte, ist das wieder in Ordnung.
Ich habe synmaxcol
auf 120 gesetzt. Die Beispiel-Ruby-Datei ist nur 59 Zeilen lang und darf 80 Zeichen nicht überschreiten.
Ich benutze vim-ruby
und vim-rails
.
Das Problem ist, dass sich die Verzögerung mit der Zeit zu akkumulieren scheint. Wenn ich die Datei von Grund auf öffne, ist das in Ordnung. Nach einer Weile wird es immer langsamer.
syntax-highlighting
performance
Firedev
quelle
quelle
vim -Nu NONE -c 'syntax on'
? Haben Sie die Debugging-Tipps für diesen Beitrag-u NONE
also muss es dann ein Plugin sein.Antworten:
Neuere Vim-Versionen verfügen über einen
:syntime
Befehl zur Fehlerbehebung bei der Langsamkeit der Syntaxhervorhebung, indem ein Bericht darüber erstellt wird, wie lange es dauert, bis jede Syntaxgruppe übereinstimmt. Dies ist sehr hilfreich und ermöglicht es Ihnen, den Täter schnell zu finden. Der einzige Nachteil ist, dass Sie einen (normalerweise "RIESIGEN") Build von Vim mit aktivierter Profilerstellung benötigen.:help :syntime
bietet gute Anweisungen zur Verwendung.Alternativ können Sie versuchen, einzelne Syntax-Skripte aus
~/.vim/syntax/
und$VIMRUNTIME/syntax/
(entsprechend dem aktuellen Stand'filetype'
) zu entfernen, und anschließend einen weiteren Drilldown durchführen, indem Sie Teile der Syntaxdefinitionen im Skript entfernen.quelle
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?\ ....
- Dies ist eindeutig aus dem anderen Ordner. Tags deaktivieren?0.121880 2078 54 0.002260 0.000059 rubySymbol []})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@=
- Kann ich etwas dagegen tun?:set regexpengine=1
(am besten in einer neuen Vim-Instanz, bevor Sie die Ruby-Datei öffnen).Ein weiterer typischer Engpass im Syntax-Highlight von vim ist das Falten. Das Bearbeiten kann sehr langsam werden, wenn eine Falte viele Syntaxelemente enthält (was im Grunde bedeutet, dass sie viele Zeilen überschreitet), da vim die gesamte Syntax für jedes eingefügte Zeichen aktualisiert.
Wenn dies der Fall ist, empfehle ich die Verwendung des FastFold- Plugins. Dieses Plugin identifiziert Syntaxfalten und ersetzt sie durch manuelle Falten, wodurch die Syntaxhervorhebung von vim viel schneller wird.
quelle
Folgendes habe ich am Ende getan:
xolox/vim-easytags
xolox/vim-misc
kien/ctrlp
d11wtq/ctrlp_bdelete
undtacahiroy/ctrlp-funky
mitjunegunn/fzf
regexpengine=1
Im Moment ist Vim glatt wie Butter, aber ich habe keine Tags mehr. Seufzer...
quelle
:help tag-commands
um zu einem Tag zu springen. Ich halte ctags für ziemlich wichtig, wenn ich mit Vim arbeite. Es macht die Navigation super einfach und Sie können sogar automatisch vervollständigen:help i_Ctrl-x_Ctrl-]
!