Vim, jak przeładować podświetlanie składni


Odpowiedzi:


95

Posługiwać się :syntax sync fromstart

Mam tę wskazówkę z http://vim.wikia.com/wiki/Fix_syntax_highlighting

Ten artykuł sugeruje również utworzenie mapowania dla tego polecenia, np. Do mapowania F12:

noremap <F12> <Esc>:syntax sync fromstart<CR>
inoremap <F12> <C-o>:syntax sync fromstart<CR>

To działa, ale usuwa podkreślenie do sprawdzania pisowni. Jakiś sposób, aby temu zapobiec?
Alec Jacobson

1
Przepraszam, nie wiem. Nie mam nic do sprawdzania pisowni. Może to zależeć od konkretnego dodatku. Jeśli nikt inny nie odpowie, warto ułożyć pytanie z wszystkimi istotnymi informacjami.
Mike Lippert

3
W końcu używam autocmd BufEnter,InsertLeave * :syntax sync fromstartdo wymuszenia synchronizacji składni po wejściu do bufora. Synchronizacja składni jest również wyzwalana, gdy zachodzi jakieś InsertLeavezdarzenie.
Samuel Li

Może kiedyś komuś się to przyda. Użyj filetype=shlub syntax=shdo basha i tak dalej, nie bash. Zajęło mi trochę czasu, żeby to rozgryźć.
quapka

Używam :do Syntaxodpowiednika, :doautocmd Syntaxktóry jest tylko trochę krótszy, więc nie musisz go wiązać (przynajmniej nie muszę często wywoływać tego polecenia, więc po prostu go wpisuję). Przeważnie używam go w niektórych plikach, które zawierają wyrażenia regularne, które powodują zerwanie podświetlenia składni, gdy otwieram plik przez netrw.
Rens Tillmann

53

Próbować:

:e

Jeśli nie masz niezapisanych zmian w pliku.

Lub:

:syn off | syn on

Utwórz mapowanie, aby złagodzić ból, coś w stylunmap <F6> :Rmodel|e<CR>
holygeek

2
Wygląda na to, że powinno być jakieś wbudowane polecenie do odświeżania podświetlania składni. Coś innego, co wydaje się działać, to przeskoczenie do innej części pliku, na przykład początku lub końca, i cofnięcie się, np .:gg``
Keith Pinson

2
": syntax sync fromstart" (bez cudzysłowów) nie ładowało ponownie podświetlania składni typu pliku w plikach, które czasami nie pokazują kolorowania składni - z jakiegoś powodu jest to ciągły problem dla mnie i Vima. Jednak ": syn off | syn on" natychmiast zadziałało. ":mi!" spowoduje również ponowne załadowanie, ale uwaga: niezapisane zmiany w pliku zostaną utracone!
Victoria Stuart

:syn off | syn onzmienia dla mnie schemat kolorów, co jest denerwujące
nic101

12

Wypróbowałem wszystkie powyższe - żaden nie działał dla mnie.

Jedyne, co działa, to: :filetype detect więc ponownie przypisałem szybki skrót :noremap <Leader>,ftd :filetype detect


9

Czasami składnia jest w porządku, ale wszystko, co się psuje, to fałdy. W takim przypadku zxpomaga dużo.

Z dokumentacji VIM:

zx

Aktualizuj fałdy: Cofnij ręcznie otwarte i zamknięte fałdy: ponownie zastosuj „poziom zawinięcia”, a następnie wykonaj „zv”: Wyświetl linię kursora. Wymusza również ponowne obliczenie fałd. Jest to przydatne, gdy używasz 'foldexpr', a bufor jest zmieniany w sposób, który powoduje, że fałdy nie są poprawnie aktualizowane.



-1

Próbować:

:Rrefresh!

To polecenie odświeża niektóre ustawienia z pamięci podręcznej, a także przeładowuje rails.vim .
Pomaga mi to odświeżyć podświetlanie składni w Railsach.


To tylko dotyczy rails.vimi nie jest ogólnym rozwiązaniem. Bez tej wtyczki to polecenie nie istnieje.
wchargin

-1

Możesz też spróbować:

CTRL-L

Z dokumentacji VIM ( :h CTRL-L):

Wyczyść i odśwież ekran. Przerysowanie może nastąpić później, po przetworzeniu tekstu z wyprzedzeniem.


Ctrl-L odświeża ekran. Nie ma znaczenia, czy dokonałeś zmian w odpowiednim pliku składni.
Alexis Wilke
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.