2012-02-06 2 views
8

vim에서 다른 들여 쓰기 레벨을 강조하고 싶었 기 때문에 큰 코드 블록을보다 쉽게 ​​식별 할 수있었습니다. 합리적인 대형 중첩 for/while/with/try 블록을 가지고 있고 블록을 식별하기가 어렵습니다. 즉, 커서 앞에 얼마나 많은 '탭'이 있는지를 알 수 있습니다.vim에서 파이썬 코드 블록 강조하기

탭을 강조 표시하는 방법이 있습니까?

이 내가 생각하고있는 것입니다 :

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

* 특별한 배경색이 될 것입니다 경우.

나는 또한 들여 쓰기 수준을 식별하기 위해 다른 방법을 정착 것이다.

+1

필수 snarky 덧글 : 아마도 편집기 대신 코드를 수정 해 볼 수 있습니다. ;-) +1 흥미로운 질문. 이것이 실제로 어떻게 생겼는지 궁금합니다. –

답변

8

Indent Guides VIM 플러그인은 강조 정확히 이런 종류의 않습니다. 나는 Ackar가 지적한대로 listchars 옵션과 함께 사용한다.

+0

와우, 그 플러그인은 꽤 멋지다. 그것은 내가 예상했던 것보다 덜 눈에 거슬려. –

+0

@Kristo vim에서 공백을 강조 표시 할 수 없으므로 불행히도 공백으로 사용할 수 없습니다. – puk

3

당신은 구체적인 문자 (:help listchars 참조) 표시 listchars 옵션을 사용할 수 있습니다. 당신이 사용할 수있는 탭을 표시하려면 예를 들어

:

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

당신은 또한 SpecialKey 그룹에 대한 highlight 속성을 사용하여 강조 색상을 변경할 수 있습니다. 터미널에 정력을 사용하는 경우

는 :

:highlight SpecialKey ctermfg=Cyan 

는 더 많은 정보를 위해 :help highlight를 참조하십시오.

또한 사용 가능한 모든 색상을 볼 수 :runtime syntax/colortest.vim를 확인할 수 있습니다.

+0

어쩌면 당신도 listchars에 대한 강조 색상을 설정하는 방법을 언급해야합니다. –

+0

답변이 수정되었습니다. 고마워요 :) – Ackar

+1

이것은 * 정확하게 * 내가 요청한 것이지만, 그것은 나를 위해 작동하지 않습니다. 'expandtab'옵션을 사용 했으므로 스크립트에는 '탭'문자가없고 공백 만 있습니다. 나는 목록 [chars], 훌륭한 팁에 대해 몰랐다. –