답변:
zoul의 답변을 확장 :
특정 파일 형식을 편집 할 때 특정 설정을 사용하도록 Vim을 설정하려면 자동 명령을 사용해야합니다.
autocmd Filetype css setlocal tabstop=4
이렇게하면 탭이 4 개의 공백으로 표시됩니다. 설정 expandtab
하면 tabstop
탭을 누를 때 Vim이 실제로 공백 (으로 제어되는 수 )을 삽입합니다 . softtabstop
백 스페이스를 올바르게 작동시키는 데 사용할 수 있습니다 (즉, 항상 한 번에 한 문자 씩 삭제하는 대신 탭을 사용해야 할 경우 들여 쓰기를 줄임).
일을 설정하는 방법에 관해서는 완벽하게 교육을 결정하려면, 당신은에 빔의 문서를 읽을해야합니다 tabstop
, shiftwidth
, softtabstop
와 expandtab
. 가장 흥미로운 비트는 expandtab
( :help 'expandtab
)에 있습니다.
Vim에서 탭을 사용하는 4 가지 주요 방법이 있습니다 :
항상 'tabstop'을 8로 유지하고 'softtabstop'및 'shiftwidth'를 4 (또는 3 또는 원하는 것)로 설정하고 'noexpandtab'을 사용하십시오. 그런 다음 Vim은 탭과 공백을 혼합하여 사용하지만 입력하면 4 자 또는 3 자마다 탭이 나타나는 것처럼 동작합니다.
'tabstop'및 'shiftwidth'를 원하는 것으로 설정하고 'expandtab'을 사용하십시오. 이런 식으로 항상 공백을 삽입합니다. 'tabstop'이 변경되면 서식이 엉망이되지 않습니다.
'tabstop'및 'shiftwidth'를 원하는대로 설정하고 | modeline | 파일을 다시 편집 할 때이 값을 설정하십시오. Vim을 사용하여 파일을 편집 할 때만 작동합니다.
'tabstop'과 'shiftwidth'는 항상 같은 값으로 설정하고 'noexpandtab'을 설정하십시오. 그런 다음 사람들이 사용하는 탭 중지 설정에 대해 작동해야합니다 (초기 들여 쓰기에만 해당). 이렇게하면 공백이 아닌 첫 번째 공백이 아닌 후에 탭이 있으면 좋을 것입니다. 그렇지 않으면 'tabstop'이 변경 될 때 정렬 된 주석이 잘못됩니다.
:help retab
(! 변종 확인)을 참조하십시오 .
:set tabstop=4
:set shiftwidth=4
:set expandtab
탭 문자 대신 공백이 4 개 삽입됩니다. 공백은 좀 더 "안정적"입니다. 공백으로 들여 쓰기 된 텍스트는 브라우저 및 다른 응용 프로그램에서 동일하게 표시됩니다.
:set shiftwidth=0
이것은 당신이 항상 일치 할 것을 정력을 알려주기 때문에 당신의 vimrc와, 영원히 잊어 버려요 tabstop
.
한 세션을 변경하려면 다음 명령을 사용하십시오.
:set tabstop=4
변경 사항을 영구적으로 만들려면 ~/.vimrc
또는에 추가하십시오 ~/.vim/vimrc
.
set tabstop=4
이것은 CSS뿐만 아니라 모든 파일에 영향을 미칩니다. CSS 파일에만 영향을 주려면
autocmd Filetype css setlocal tabstop=4
Michał의 답변에 명시된 바와 같이 .
~/.vimrc
: 항상 백업, 나는 보통 내 드롭 박스의 파일 저장 폴더 다음 바탕 화면에 SYM 링크 생성ln -s /home/myfolder/Dropbox/.vimrc ~
이 페이지의 여러 답변은 설명 된 문제에 대한 '단일 사용'수정입니다. 다음에 vim을 사용하여 문서를 열면 이전 탭 설정이 반환됩니다.
누군가 탭 설정을 영구적으로 변경하려는 경우 :
다음 줄을 추가하십시오 : ( 여기에 더 많은 정보 )
set tabstop=4 set shiftwidth=4 set expandtab
그런 다음 파일을 저장하고 테스트하십시오.
최신 정보
특정 프로젝트에서 작업하는 경우 editorconfig를 사용하는 것이 좋습니다 .
.editorconfig
리포지토리의 각 파일 형식에 사용할 들여 쓰기를 정의하는 리포지토리의 루트에서 파일 을 정의 할 수 있습니다 .
예를 들면 다음과 같습니다.
root = true
[*.css]
charset = utf-8
indent_style = space
indent_size = 4
[*.js]
charset = utf-8
indent_style = space
indent_size = 2
이있는 정력 플러그인 이 자동으로 구성합니다 정력 열고 파일의 설정 파일에 따라.
또한 .editorconfig
파일은 다른 많은 IDE 및 편집기에서 자동으로 지원되므로 다른 환경의 사용자간에 협업하는 데 가장 적합한 옵션입니다.
원래 답변
크기를 자주 변경해야하고 특정 파일 형식에 바인딩하지 않으려는 경우 .vimrc 파일에 미리 정의 된 명령을 사용하여 환경 설정을 빠르게 전환 할 수 있습니다.
nmap <leader>t :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
nmap <leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
이것은 두 개의 다른 크기 세트를 키 \ t 및 \ m에 매핑합니다. 원하는 키에이를 리 바인드 할 수 있습니다.