Vim에서 하드 탭 문자 만들기를 중지시키는 방법


2

필요한 들여 쓰기를 얻으려면 "탭, 탭, 탭, 왼쪽, 삭제"를 누르십시오. 파일을 저장 한 후 "^ I"가 표시됩니다. 대신 "Space"를 11 번 누르면 ""가 표시됩니다.

vim이 사용자 인식 들여 쓰기 동작을 변경하거나 기존 하드 탭을 조작하지 않고 새로운 하드 탭 문자의 도입을 중지시키는 방법은 무엇입니까?

혼란스러운 smarttab, shiftwidths, tabstop 및 기타 옵션이 많이 있습니다. 올바르게하는 방법?


올바르게 수행하는 방법은 원하는 행동에 따라 다릅니다. Vim은 들여 쓰기 방법에 많은 유연성을 제공하지만 한계가 있습니다. Vim이 다른 방식으로 수행하기를 원하는 한 가지 방법에 대한 구체적인 예를 갖는 것이 도움이 될 것입니다.
garyjohn

답변:


4

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 했습니다!


2

Vim은 사용자가 아니면 기존 탭을 엉망으로 만들지 않습니다.

  • 실행 :retab또는
  • <<또는 과 같은 명령을 사용하여 줄 들여 쓰기를 변경하십시오 >>.

줄 들여 쓰기를 변경하고 'expandtab'이 설정되면 Vim은 일반적으로 모든 탭을 적절한 수의 공백으로 바꿉니다. 줄 들여 쓰기를 변경하고 'noexpandtab'이 설정되면 Vim은 일반적으로 탭으로 가능한 많은 선행 공백을 대체합니다.

'preserveindent'옵션을 설정하여 원래 들여 쓰기 구조를 유지하도록 정상적인 동작을 변경할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.