2016-12-02 29 views
14

Niedawno pobrałem vim 8.0. I nie wiem, czy coś się zawiedli lub domyślny zmieniło, ale w tym kodzie ...Wyłącz podświetlanie składni vim wewnątrz komentarzy C++

int foo() 
{ 
    // This is a comment containing a "string" and the number 5. 
    return 42; 
} 

... The "string" i 5 są w innym kolorze. Jest w tym samym kolorze, co w normalnym kodzie. Nigdy wcześniej tego nie widziałem. Jak mogę to wyłączyć?

Odpowiedz

14

To było niezwykle trudne do wyszukania, ale odpowiedź jest w plikach pomocy vima. Jest to funkcja podświetlania składni dla kodu C i C++ dostarczanego z vim. Od :h ft-c-syntax:

Kilka rzeczy w podświetlaniu C są opcjonalne. Aby umożliwić im przypisanie dowolnej wartości do odpowiedniej zmiennej, . Przykład:
:let c_comment_strings = 1 Aby je wyłączyć, użyj ": unlet". Przykład:
:unlet c_comment_strings

W c_comment_strings zmienne kontroluje podświetlenie ciągów znaków i liczb wewnątrz komentarzy. Musiało być włączone gdzieś w mojej konfiguracji. Jeśli I :unlet to, komentarze są wszystkie podświetlone w jednym kolorze ponownie.

+0

Znaleziono. 'c_comment_strings' jest ustawiony na' $ VIMRUNTIME/defaults.vim'. Znalazłem źródło "vimrc_example.vim", które zawiera wartości domyślne. –

3

Cóż, rozumiem samoodleganie, ale zdecydowanie sugeruję, aby ktokolwiek poważnie traktował użycie Vima jako narzędzia do kodowania w C++, aby zajrzeć do wtyczki vim color_coded. Nie ma możliwości osiągnięcia zadowalającego kolorowania za pomocą prostego schematu opartego na refgexp. Chociaż nie bez problemów, ta wtyczka (moim zdaniem) jest tak bliska, jak robi to właściwe kolorowanie w Vimie.

+1

Zgadzam się z tą * opinią *, ale tak właśnie jest. – rici

+0

@rici, to nie jest opinia. Satysfakcjonujące podświetlanie C++ bez właściwego analizowania kodu w języku C++ nie jest możliwe. – SergeyA

-1

Jeśli dobrze rozumiem, chcę wyłączyć podświetlanie składni.

:syntax disable 

Jeśli jesteś non-korzeń i ustawić nocompatible można skomentować je w ostatniej linii (patrz „H: Modeline”).

// vi:syntax disable: 

Za każdym razem, gdy otworzysz go jako użytkownik inny niż root, polecenie zostanie zastosowane.

+0

Nie chcę wyłączać podświetlania składni, tylko jedna funkcja do podświetlania ciągów i liczb w komentarzach. –