Vim을 편집중인 파일의 현재 들여 쓰기 스타일에 맞게 조정하려면 어떻게합니까?


39

다양한 JavaScript 프로젝트를 수행하고 있습니다. 이 프로젝트의 대부분에서 JavaScript 파일의 들여 쓰기는 2 칸이므로 기본 들여 쓰기 너비를 설정했습니다. 그러나 다른 프로젝트에서는 1 또는 4가됩니다.

Vim에 현재 파일에서 이미 사용 된 스타일을 기반으로 들여 쓰기 스타일을 변경하도록 요청하는 방법이 있습니까?


특정 파일 유형에 대해 .vimrc에 이러한 설정을 추가하지 않는 이유는 무엇입니까? :au BufEnter *.js :set shiftwidth=2. 이것은 모든 프로젝트에 적용됩니다.
SibiCoder

1
@SibiCoder : 동일한 파일 형식이라도 프로젝트마다 다른 들여 쓰기 스타일을 가질 수 있기 때문입니다. (예 : 같은 회사에 속하지 않은 프로젝트)
thameera

*.*그냥 패턴입니다. 파일 이름이나 경로도 사용할 수 있습니다. 또는 각 파일에 대해 내가 준 것과 비슷한 자동 명령을 사용할 수 있습니다. auto 명령이 현재 파일의 tabwidth를 가져 와서이 파일의 경로에 넣도록 지시 할 수 있습니다. 꽤 쉽습니다.
SibiCoder

답변:


28

위의 @ Undo 답변에 추가하십시오. Tim Pope도 tpope / vim-sleuth 에서 동일한 작업을 시도하는 플러그인을 가지고 있습니다


5
Sleuth는 내 경험상 detectindent보다 약간 더 잘 작동하는 것 같으며 파일 시스템 근처의 다른 파일을보고 새 파일에 대한 적절한 들여 쓰기 설정을 결정하려고합니다.
jamessan

@jamessan은 몰랐습니다.
Dhruva Sagar 17

2
플러그인 권장 답변에 대한 정책을 읽고 권장 플러그인을 정확하게 사용하여 문제를 해결하는 방법에 대한 세부 정보를 추가하십시오.
200_success

15

나는 그것을 사용하지 않았지만, ciaranm / detectindent 가 당신이 찾고있는 것일 수 있습니다. 활성화 된 것으로 보이며 (최근 25 일 전에 업데이트 됨) 원하는대로하는 것 같습니다.

들여 쓰기 설정을 자동으로 감지하기위한 Vim 플러그인. 이 플러그인은 : DetectIndent 명령을 추가하여 활성 파일에서 사용중인 기존 설정에 따라 'shiftwidth', 'expandtab'및 'tabstop'옵션을 지능적으로 설정합니다.


이 플러그인은 더 이상 개발 중이 아닙니다. (최종 업데이트는 3 년 전 )
Mateen Ulhaq
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.