Czy jest coś, co mogę zrobić, aby zachować syntax on
podczas korzystania z Vima?
Gdy tylko otworzę coś znaczącego, edycja po chwili staje się prawie niemożliwa. Każde naciśnięcie klawisza powoduje opóźnienie. Jeśli wyłączę podświetlanie składni lub ponownie uruchomę vima - znowu będzie dobrze.
Mam synmaxcol
ustawione na 120. Przykładowy plik Ruby jest tylko 59 linie długości nie przekraczającej 80 znaków.
Używam vim-ruby
i vim-rails
.
Problem polega na tym, że opóźnienie kumuluje się z czasem. Kiedy otwieram plik od zera, wszystko jest w porządku. Po chwili robi się coraz wolniej.
syntax-highlighting
performance
firedev
źródło
źródło
vim -Nu NONE -c 'syntax on'
? Czy postępowałeś zgodnie ze wskazówkami dotyczącymi debugowania w tym poście-u NONE
więc musi to być wtyczka. Zgadnij, odpowiedź na większość pytań brzmi: „wyłącz wtyczki, dopóki nie znajdziesz winnego” :(Odpowiedzi:
Najnowsze wersje Vima zawierają
:syntime
polecenie rozwiązania problemu spowolnienia podświetlania składni poprzez wygenerowanie raportu o tym, ile czasu zajmuje każda grupa składni. Jest to bardzo pomocne i pozwala szybko znaleźć winowajcę; jedyną wadą jest to, że potrzebujesz (zwykle „OGROMNEGO”) kompilacji Vima z włączonym profilowaniem.:help :syntime
zapewnia dobre instrukcje, jak go stosować.Alternatywnie możesz spróbować usunąć poszczególne skrypty składniowe zi
~/.vim/syntax/
i$VIMRUNTIME/syntax/
(zgodnie z bieżącym'filetype'
), a następnie przejść do dalszych szczegółów, usuwając części definicji składni w skrypcie.źródło
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?\ ....
- to wyraźnie z drugiego folderu. Wyłączyć tagi?0.121880 2078 54 0.002260 0.000059 rubySymbol []})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@=
- Coś mogę z tym zrobić?:set regexpengine=1
(najlepiej w nowej instancji Vima, przed otwarciem pliku Ruby).Kolejnym typowym wąskim gardłem w składni vima jest składanie. Edycja może stać się bardzo wolna, jeśli fold zawiera wiele elementów składni (co w zasadzie oznacza, że przechodzi przez wiele wierszy), ponieważ vim odświeży całą składnię dla każdego wstawionego znaku.
Jeśli tego właśnie doświadczasz, sugeruję użycie wtyczki FastFold . Ta wtyczka identyfikuje składanie składni i zastępuje je składaniem ręcznym, dzięki czemu składnia vima jest podświetlana znacznie szybciej.
źródło
Oto co ostatecznie zrobiłem:
xolox/vim-easytags
xolox/vim-misc
kien/ctrlp
d11wtq/ctrlp_bdelete
itacahiroy/ctrlp-funky
zejunegunn/fzf
regexpengine=1
W tej chwili Vim jest gładki jak masło, ale nie mam już tagów. Westchnienie...
źródło
:help tag-commands
aby przejść do tagu. Uważam, że ctagi są bardzo istotne podczas pracy z Vimem. To sprawia, że nawigacja jest bardzo prosta i możesz nawet autouzupełnianie:help i_Ctrl-x_Ctrl-]
!