2012-02-06 15 views
8

Chciałem podkreślić różne poziomy wcięć w vimie, dzięki czemu mogłem łatwiej identyfikować duże bloki kodu. Mam kilka rozsądnych dużych zagnieżdżonych bloków// while/with/try i trudno jest zidentyfikować blok, w którym się znajduję, tj. Ile "zakładek" mam przed kursorem.Wyróżnianie bloków kodu Pythona w vim

Czy istnieje sposób na podświetlanie kart?

To, co mam na myśli:

try: 
* while True: 
* * for foo in bar: 
* * * do() 
* if something: 
* * done() 
except bla: 
* exit() 

Gdzie * byłby specjalny kolor tła.

Chciałbym również zadowolić się każdym innym sposobem identyfikacji poziomów wcięć.

+1

Obowiązkowy komentarz: być może mógłbyś spróbować naprawić swój kod zamiast swojego edytora. ;-) +1 za interesujące pytanie. Jestem ciekaw, jak to będzie wyglądać. –

Odpowiedz

8

Wtyczka vim Indent Guides wykonuje właśnie ten rodzaj podświetlania. Używam go razem z opcją listchars (jak zauważył Ackar).

+0

Och, wow, ta wtyczka jest całkiem fajna. To mniej drażniące niż się spodziewałem. –

+0

@Kristo Ja też go używam i podoba mi się to, niestety, nie odpowiada za puste polubienia, ponieważ vim nie jest w stanie podświetlić pustych miejsc – puk

3

Można użyć opcji do wyświetlania specyficznych znaków (patrz :help listchars).

Na przykład, jeśli chcesz pokazać kart można używać:

:set listchars=tab:*\  " Be careful : there is a space after the backslash 
:set list 

Można również zmienić kolory podświetlania za pomocą właściwości highlight dla grupy SpecialKey.

Jeśli używasz vim w terminalu:

:highlight SpecialKey ctermfg=Cyan 

Zobacz :help highlight więcej informacji.

Możesz również sprawdzić :runtime syntax/colortest.vim, aby zobaczyć wszystkie dostępne kolory.

+0

Może powinieneś także wspomnieć, jak ustawić kolor podświetlania dla listcharów. –

+0

Odpowiedź edytowana. Dziękuję :) – Ackar

+1

Chociaż to * dokładnie * to o co prosiłem, to nie działa dla mnie. Użyłem opcji 'expandtab', więc w moich skryptach nie ma znaków 'tab', tylko spacje. Nie wiedziałem o liście [chars], świetnej napiwku. –

Powiązane problemy