Vim의 탭과 공백
자동 들여 쓰기가있을 때 vim이 공백을 탭으로 바꾸지 예산을 탭으로?
예 : 행 시작 부분에 탭 2 개와 공백 7 개가 있고 tabstop=3
Enter 키를 다음 행의 시작 부분에 탭 4 개와 공백 1 개가 소매 할 것입니다.
탭을 전혀 사용하지 않는 것이 좋습니다.
:set expandtab
파일의 모든 탭을 공백 3 개로 바꾸려면 (와 매우 유사하게 tabstop=3
표시됨) :
:%s/^I/ /
( 캐릭터 ^I
는 어디에 있습니까 TAB)
VIM 온라인 도움말에서 :
'tabstop' 'ts' number (default 8)
local to buffer
Number of spaces that a <Tab> in the file counts for. Also see
|:retab| command, and 'softtabstop' option.
Note: Setting 'tabstop' to any other value than 8 can make your file
appear wrong in many places (e.g., when printing it).
There are four main ways to use tabs in Vim:
1. Always keep 'tabstop' at 8, set 'softtabstop' and 'shiftwidth' to 4
(or 3 or whatever you prefer) and use 'noexpandtab'. Then Vim
will use a mix of tabs and spaces, but typing <Tab> and <BS> will
behave like a tab appears every 4 (or 3) characters.
2. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
'expandtab'. This way you will always insert spaces. The
formatting will never be messed up when 'tabstop' is changed.
3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
|modeline| to set these values when editing the file again. Only
works when using Vim to edit the file.
4. Always set 'tabstop' and 'shiftwidth' to the same value, and
'noexpandtab'. This should then work (for initial indents only)
for any tabstop setting that people use. It might be nice to have
tabs after the first non-blank inserted as spaces if you do this
though. Otherwise aligned comments will be wrong when 'tabstop' is
changed.
다음 모두 TAB
으로 CHAPTER 2 할 수 있습니다.SPACE
:set et
:ret!
모두 다음 또는 SPACE
으로 CHAPTER 2TAB
:set et!
:ret!
내가 원하는대로 자동 들여 쓰는 줄이 이전 줄과 정확히 같은 들여 쓰기 문자를 사용합니다.
:help copyindent
'copyindent' 'ci' 부울 (이용); 버퍼에 로컬; {비 in Vi}
새 줄 자동 들여 쓰기시 기존 줄 쓰기의 구조를 복사합니다. 일반적으로 새 들여 쓰는 것은 필요에 따라 공백이 뒤 따르는 사용의 탭으로 내부에 있습니다 ( 'expandtab' 이 활성화 되지 않은 경우 공백 만 사용됨). 이 옵션을 활성화하면 기존 줄에서 쓰기에 사용 된 모든 문자가 새 줄에 복사됩니다. 새 들여 쓰기가 기존 줄보다 크면 나머지 공간은 방식으로 채워집니다.
참고 : '호환 ' 이 설정 되면 'copyindent ' 가 나타납니다 . 'preserveindent'
도 참조하십시오 .
:help preserveindent
'preserveindent' 'pi' 부울 (특허 보유); 버퍼에 로컬; {비 in Vi}
현재 줄의 들여 쓰기를 사용하여 사용하기 많이 쓰기. 일반적으로 들여 쓰기는 필요에 따라 공백이 뒤 사용되는 탭으로 대체됩니다 ( 'expandtab' 이 활성화되어있는 문서 공백 만됨). 이 옵션을 활성화하면 들여 쓰기시 기존 문자를 사용 가능한 한 많이 유지하고 필요한만큼만 추가 탭이나 공백을 추가합니다.
참고 : ">>"를 여러 번 사용하면 탭과 공백이 혼합되어 들여 쓰기가됩니다. 당신은 이것을 좋아하지 않을 수도 있습니다.
참고 : ' 호환' 이 설정 되면 '보존' 이 재설정됩니다 . 'copyindent'
도 참조하십시오 . : retab을 사용하여 공백을 정리하십시오.
다음은 내 일부입니다 .vimrc
.
set autoindent
set expandtab
set softtabstop=4
set shiftwidth=4
내 소스 코드에 탭을 절대 원하지 않기 때문에 이것은 나를 위해 잘 작동합니다. 귀하의 질문에 따르면 다음 줄에 두 개의 탭과 일곱 개의 공백을 유지하고 싶은 것 같습니다. 그 스타일을 수용하도록 vim을 가르치는 방법이 있는지 모르겠습니다.
Standard vi는 탭 키를 문자 그대로 해석하지만 vim과 같이 더 똑똑한 인기있는 vi 파생 대안이 있습니다. vim이 탭을 insert-a-tab 명령 대신``indent ''명령으로 해석하도록하려면 다음과 같이하십시오.
set softtabstop=2
'ts'설정에 따라 모든 탭을 공백으로 바꾸려면 : retab을 사용할 수 있습니다. 반대로 할 수도 있습니다.
참고 URL : https://stackoverflow.com/questions/69998/tabs-and-spaces-in-vim
'ProgramingTip' 카테고리의 다른 글
목록을 알파벳순으로 정렬 (0) | 2020.10.28 |
---|---|
Xcode9 iOS11 앱 릴리스에서 CFBundleIconName 누락 (0) | 2020.10.28 |
jquery fade 요소가 'visibility : hidden'스타일의 요소를 표시하지 않습니다. (0) | 2020.10.28 |
FPDF utf-8 인코딩 (하우투) (0) | 2020.10.28 |
핵심 데이터에 이미지를 저장하는 방법 (0) | 2020.10.28 |