2010-08-19 2 views
3

잠시 동안 내 소스 파일에 tabstop = 4를 사용했습니다. 이제는 큰 들여 쓰기가있는 자바 스크립트를 많이 작성 했으므로 4의 tabstop이 낭비되는 것처럼 보입니다. 따라서이 탭을 2로 변환하고 싶습니다. 문제는 "expandtab 설정"을 사용하는 것입니다. 따라서 tabstop = 2로 설정하는 것만으로는 도움이되지 않습니다.expandtab을 사용한 후 탭 스톱을 4에서 2로 변경합니다 (최소 수동 작업으로)

내 모든 파일을 탭 2로 신속하게 변환 할 수있는 방법에 대한 제안 사항은 무엇입니까?

나의 현재 관련의 .vimrc 설정 당신은 정력 창에

" convert spaces to tabs first 
set noexpandtab 
set tabstop=4 
set shiftwidth=4 
retab! 
" now you have tabs instead of spaces, so insert spaces according to 
" your new preference 
set tabstop=2 
set shiftwidth=2 
set expandtab 
retab! 

을 할 수

set tabstop=4 
set shiftwidth=4 
set expandtab 

답변

10

있으며, 그것은 당신의 취향에 따라 섞여있는 것입니다. 이 매핑을 쉽게 만들거나 매크로를 기록 할 수 있습니다. 다른 방법이있을 수 있지만 위의 방법이 효과가 있습니다.

ggVG= 

또한 파일 형식에 따라 설정을 지정 ftplugin 사용하는 것이 좋습니다 :

+0

굉장합니다. 이것은 나를 위해 일했다. – Jayesh

5

당신은 모두 선택, 설정을 변경하고, 들여 쓰기 위해 = 키를 칠 수 ("은 주석이다).

+1

나는 * 쉬운 방법이 있다는 것을 알고 있었다! –

+0

@ Alok : 아무튼 답변을 남기고 싶을 수도 있습니다. VIM 문서를 보면, 들여 쓰기 적용과 근본적으로 다를 수 있습니다. 나는 그가 알아 내기 위해 둘 다 시도해야한다고 생각한다. –

+0

글쎄, 당신의 방법은 당신이 말했듯이 이미 코드에 들여 쓰기의 의도를 보존하는 것과는 다른 모든 것을 다시 붙입니다. 좋은 지적, 나는 내 대답을 취소 할 것입니다. –