====== Vim과 Indent ======
Vim에서의 tab 키 처리에 관하여 정리한다.
* [[http://tedlogan.com/techblog3.html|Secrets of tabs in Vim]]
===== 공백 4칸의 들여쓰기 =====
*
set tabstop=8 softtabstop=4 shiftwidth=4 expandtab
" 줄여쓰면
set ts=8 sts=4 sw=4 et
* 공백 4칸 들여쓰기를 소스 주석으로 추가해 두기. 각각의 언어 주석에 따르면 된다.
*
/* vim: tabstop=8:softtabstop=4:shiftwidth=4:expandtab */
# vim: set ts=8 sts=8 sw=8 noet :
===== expandtab 상태에서 Tab 입력하기 =====
expandtab 상태에서는 Tab 키를 눌러도 공백으로 변환되기 때문에 그냥 \t 값을 입력할 수 없다.
**''Ctrl-V Tab''** 으로 입력한다.
===== 그냥 Tab =====
set ts=4 noet
===== Tab과 공백의 구분 =====
\t 로 입력한 것과 공백으로 입력한 것을 명백히 구분하고 싶을 경우(보통은 Python으로 개발할 때) 다음 두가지 방법을 쓸 수 있다.
* Tab부분을 파란색으로 강조
syntax match Tab /\t/
hi Tab gui=underline guifg=blue ctermbg=blue
" 이 방식의 경우 Python 파일을 열면 Python Syntax Highlight가 이 설정을 무시하는 것으로 나타났다.
* Tab 부분을 ''|...'' 로 표시하고 줄끝 공백을 ''~''로 표시
set list lcs=tab:\|.,trail:~
* Tab 부분을 ''┆ ''(공백)으로 표시하고 줄끝 공백을 ''~''로 표시
set list lcs=tab:\┆\ ,trail:~
이 기능은 아무데나 쓰면 아주 화면이 정신 없어 보인다. 파이썬에서만 사용하자..