줄 시작 부분의 공백을 모두 탭으로 바꾸고 싶습니다. 아래 스 니펫은 작동하지만 첫 번째 들여 쓰기 단계에서만 사용됩니다.줄 시작 부분의 공백을 모두 탭으로 바꾸십시오.
어떻게 작동합니까? 1 - ∞ 들여 쓰기 수준? 12 칸을 3 개의 탭으로 대체합니다 (tabstop
= 4로 가정). :retab
를 사용하는 것이 아니라 단지 들여 쓰기를 변경하지 않습니다 :retab
때문에, 여기에 옵션이 될 것 같다,하지만하지 않습니다
fun! Retab()
let l:spaces = repeat(' ', &tabstop)
silent! execute '%s/^' . l:spaces . '/\t/g'
endfun
참고 모든 repeat(' ', &tabstop)
발생을 변경 사방 파일입니다.
Vim & 파일을 다시 들여 쓰는 것도 옵션이 아닙니다. 어떤 수준에서 들여 쓰기해야하는지 (예 : 부작용이 너무 많음)에 대한 의견이 서로 다른 경우가 있습니다.
나는 또한 expand
& unexpand
프로그램을 사용하는 것에 대해 생각했지만 외부 유틸리티를 사용하지 않는 것을 선호합니다.