필요한 들여 쓰기를 얻으려면 "탭, 탭, 탭, 왼쪽, 삭제"를 누르십시오. 파일을 저장 한 후 "^ I"가 표시됩니다. 대신 "Space"를 11 번 누르면 ""가 표시됩니다.
vim이 사용자 인식 들여 쓰기 동작을 변경하거나 기존 하드 탭을 조작하지 않고 새로운 하드 탭 문자의 도입을 중지시키는 방법은 무엇입니까?
혼란스러운 smarttab, shiftwidths, tabstop 및 기타 옵션이 많이 있습니다. 올바르게하는 방법?
필요한 들여 쓰기를 얻으려면 "탭, 탭, 탭, 왼쪽, 삭제"를 누르십시오. 파일을 저장 한 후 "^ I"가 표시됩니다. 대신 "Space"를 11 번 누르면 ""가 표시됩니다.
vim이 사용자 인식 들여 쓰기 동작을 변경하거나 기존 하드 탭을 조작하지 않고 새로운 하드 탭 문자의 도입을 중지시키는 방법은 무엇입니까?
혼란스러운 smarttab, shiftwidths, tabstop 및 기타 옵션이 많이 있습니다. 올바르게하는 방법?
답변:
vim이 탭을 공백으로 변환하려면 다음을 사용하십시오.
set expandtab " expand tabs!
다음과 같이 탭이 변환되는 "공간"수를 설정할 수 있습니다.
set softtabstop=4 " if expandtab on, how many space a tab is
vim이 기존 탭을 찾아서 공백으로 변환하려는 경우 탭이 나타내는 공백 수로 설정하십시오.
set tabstop=4 " tab spacing of 4 for real tabs
(이것은 set tabstop
기존 탭에 영향을 미치지 않으며 편집기에서 탭을 표시하는 것만 영향을 미칩니다).
편집 또한 탭 이동 명령을 사용할 때의 동작뿐만 아니라 기존 탭 처리에 대한 훨씬 정확한 답변을 얻으려면 garyjohn의 답변을 확인하십시오 <<
>>
. (실제로 내가 알지 못하는 것을 배웠습니다!) 그의 대답에 +1 했습니다!
Vim은 사용자가 아니면 기존 탭을 엉망으로 만들지 않습니다.
:retab
또는<<
또는 과 같은 명령을 사용하여 줄 들여 쓰기를 변경하십시오 >>
.줄 들여 쓰기를 변경하고 'expandtab'이 설정되면 Vim은 일반적으로 모든 탭을 적절한 수의 공백으로 바꿉니다. 줄 들여 쓰기를 변경하고 'noexpandtab'이 설정되면 Vim은 일반적으로 탭으로 가능한 많은 선행 공백을 대체합니다.
'preserveindent'옵션을 설정하여 원래 들여 쓰기 구조를 유지하도록 정상적인 동작을 변경할 수 있습니다.