현재 설정은 8칸으로 가정합니다. 어떻게 재정의할 수 있습니까?
질문자 :Ricky
그것은 당신이 의미하는 바에 달려 있습니다. 파일의 실제 탭 문자 가 4칸 너비로 나타나도록 하시겠습니까, 아니면 "탭"이란 실제로 탭 키를 눌러 생성된 들여쓰기를 의미합니까? 입력하는 각 "탭"?
답변에 따라 다음 설정 중 하나가 적합합니다.
4칸 너비로 나타나는 탭 문자의 경우 :
set tabstop=4
소스 코드에서 실제 탭 문자를 사용하는 경우 다음 설정도 원할 것입니다(실제로 기본값이지만 방어적으로 설정할 수 있음).
set softtabstop=0 noexpandtab
마지막으로 들여쓰기가 단일 탭에 해당하도록 하려면 다음도 사용해야 합니다.
set shiftwidth=4
4개의 공백 문자로 구성 되지만 탭 키로 입력되는 들여쓰기의 경우:
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
위의 설정을 영구적으로 만들려면 다음 행을 vimrc 에 추가하십시오.
조정이 필요하거나 이러한 옵션이 모두 의미하는 바를 간단히 이해하려는 경우 각 옵션이 의미하는 바에 대한 분석은 다음과 같습니다.
tabstop
"공백"으로 측정된 하드 탭 스톱의 너비 -- 사실상 실제 탭 문자의 (최대) 너비입니다.
shiftwidth
"들여쓰기"의 크기입니다. 또한 공백으로 측정되므로 코드 기반이 탭 문자로 들여쓰기되면
shiftwidth
가 탭 문자 수에tabstop
을 곱한 것과 같게 하고 싶습니다.=
,>
및<
명령과 같은 것들에서도 사용됩니다.
softtabstop
tabstop
이외의 0이 아닌 값으로 설정하면 탭 키(삽입 모드에서)가 이 너비에서 탭 중지 를 시뮬레이트 하기 위해 공백(및 탭 가능) 조합을 삽입하게 됩니다.
expandtab
이것을 활성화하면 탭 키(삽입 모드에서)가 탭 문자 대신 공백을 삽입합니다.
retab
명령의 동작에도 영향을 줍니다.
smarttab
이것을 활성화하면 커서가 행의 시작 부분에 있을 때 탭 키(삽입 모드에서)가 공백이나 탭을 삽입하여 다음 탭 정지의 다음 들여쓰기로 이동합니다(즉, 선행 문자만 공백임).
이들 중 하나에 대한 자세한 내용은 vim의 :help ' optionname '
:help 'tabstop'
)을 참조하십시오.
Laurence Gonsalves
현재 사용자에 대해 이를 영구적으로 정의하려면 .vimrc
파일을 생성(또는 편집)하십시오:
$ vim ~/.vimrc
그런 다음 아래 구성을 파일에 붙여넣습니다. vim이 다시 시작되면 탭 설정이 적용됩니다.
set tabstop=4 " The width of a TAB is set to 4. " Still it is a \t. It is just that " Vim will interpret it to be having " a width of 4. set shiftwidth=4 " Indents will have a width of 4 set softtabstop=4 " Sets the number of columns for a TAB set expandtab " Expand TABs to spaces
Alan Haggai Alavi
또는 vim modeline의 약어:
vim :set ts=4 sw=4 sts=4 et :
zen
공백 또는 탭을 사용할지 여부를 정의하는 설정은 거의 없습니다.
~/.vimrc
파일에 정의할 수 있는 편리한 기능입니다.
function! UseTabs() set tabstop=4 " Size of a hard tabstop (ts). set shiftwidth=4 " Size of an indentation (sw). set noexpandtab " Always uses tabs instead of space characters (noet). set autoindent " Copy indent from current line when starting a new line (ai). endfunction function! UseSpaces() set tabstop=2 " Size of a hard tabstop (ts). set shiftwidth=2 " Size of an indentation (sw). set expandtab " Always uses spaces instead of tab characters (et). set softtabstop=0 " Number of spaces a <Tab> counts for. When 0, featuer is off (sts). set autoindent " Copy indent from current line when starting a new line. set smarttab " Inserts blanks on a <Tab> key (as per sw, ts and sts). endfunction
용법:
:call UseTabs() :call UseSpaces()
파일 확장자별로 사용하려면 다음 구문을 사용할 수 있습니다( .vimrc
추가됨).
au! BufWrite,FileWritePre *.module,*.install call UseSpaces()
참조: 탭을 공백으로 변환 .
다음은 탭과 공백 사이 를 전환하는 데 사용할 수 있는 Wikia의 또 다른 스니펫입니다.
" virtual tabstops using spaces set shiftwidth=4 set softtabstop=4 set expandtab " allow toggling between local and default mode function TabToggle() if &expandtab set shiftwidth=8 set softtabstop=0 set noexpandtab else set shiftwidth=4 set softtabstop=4 set expandtab endif endfunction nmap <F9> mz:execute TabToggle()<CR>'z
모든 탭에 4개의 공백을 사용하고 설정을 토글 하기 위해 F9에 매핑할 수 있습니다.
kenorb
이것을 복사하여 .vimrc 파일에 붙여넣었습니다.
" size of a hard tabstop set tabstop=4 " always uses spaces instead of tab characters set expandtab " size of an "indent" set shiftwidth=4
처음 2개의 설정은 Tab 키를 누를 때 4개의 공백이 있음을 의미합니다. 세 번째 설정은 V>
(즉, 시각적 및 들여쓰기)를 수행할 때 4개의 공백도 얻는다는 것을 의미합니다.
허용되는 답변만큼 포괄적이지는 않지만 복사하여 붙여넣기를 원하는 사람들에게 도움이 될 수 있습니다.
Snowcrash
~/.vimrc 파일에 원하는 설정을 넣으십시오 -- 몇 가지 지침과 모범 사례는 아래를 참조하십시오.
Vim에서 탭을 사용하는 네 가지 주요 방법이 있습니다.
항상 'tabstop'을 8로 유지하고 'softtabstop'과 'shiftwidth'를 4(또는 3 또는 원하는 대로)로 설정하고 'noexpandtab'을 사용하십시오. 그러면 Vim은 탭과 공백을 혼합하여 사용하지만 를 입력하면 4자(또는 3자)마다 탭이 표시되는 것처럼 작동합니다.
참고: 'tabstop'을 8이 아닌 다른 값으로 설정하면 파일이 여러 위치에서 잘못 표시될 수 있습니다(예: 인쇄할 때).
'tabstop'과 'shiftwidth'를 원하는 대로 설정하고 'expandtab'을 사용하세요. 이렇게 하면 항상 공백이 삽입됩니다. 'tabstop'이 변경되면 형식이 엉망이 되지 않습니다.
'tabstop'과 'shiftwidth'를 원하는 대로 설정하고 |modeline|을 사용하세요. 파일을 다시 편집할 때 이 값을 설정합니다. Vim을 사용하여 파일을 편집할 때만 작동합니다.
항상 'tabstop'과 'shiftwidth'를 같은 값으로 설정하고 'noexpandtab'을 설정하십시오. 그러면 사람들이 사용하는 모든 탭 스톱 설정에 대해 작동해야 합니다(초기 들여쓰기에만 해당). 그래도 이렇게 하면 공백이 아닌 첫 번째 탭 뒤에 공백이 삽입되는 것이 좋을 수 있습니다. 그렇지 않으면 'tabstop'이 변경될 때 정렬된 주석이 잘못됩니다.
원천:
- vimdoc.sourceforge.net/htmldoc/options.html#'탭스톱'
-
:help tabstop
ElasticThoughts
한 가지 더, 사용
:retab
기존 탭 을 공백 으로 변환하려면 http://vim.wikia.com/wiki/Converting_tabs_to_spaces
DawnSong
라인 추가
set ts=4
~에
사용자별 ~/.vimrc
또는
시스템 전체에 대한 /etc/vimrc
Alok Singh Mahor
:set sw=4
VI 편집기 마스터하기 참조
Amarghosh
내 기본 ~/.vimrc와 주석:
set number " show line number set tabstop=2 " set display width of tab; 1 tab = x space with set expandtab " transform tab to x space (x is tabstop) set autoindent " auto indent; new line with number of space at the beginning same as previous set shiftwidth=2 " number of space append to lines when type >>
o0omycomputero0o
모든 사용자에게 영구적입니다(서버에 혼자 있는 경우):
# echo "set tabstop=4" >> /etc/vim/vimrc
구성 파일에 설정을 추가합니다. 일반적으로 새 서버에서는 apt-get purge nano mc
및 기타 모든 것을 사용합니다. git
, crontab
등에서 편집기를 재정의하게 됩니다.
Vasilii Suricov
vartabstop
이 설정되지 않았는지 확인하십시오.
set vartabstop=
tabstop
을 4로 설정
set tabstop=4
Vivian De Smedt
출처 : http:www.stackoverflow.com/questions/1878974/redefine-tab-as-4-spaces
'etc. > StackOverFlow' 카테고리의 다른 글
C#의 여러 줄 문자열 리터럴 (0) | 2023.05.02 |
---|---|
TypeScript에서 문자열을 숫자로 변환하는 방법은 무엇입니까? (1) | 2023.05.02 |
Windows 개발 시스템을 사용하여 iPhone용으로 개발하려면 어떻게 해야 합니까? (0) | 2023.04.30 |
C에서 배열의 크기를 어떻게 결정합니까? (0) | 2023.04.30 |
줄 바꿈(줄 연속)은 어떻게 합니까? (0) | 2023.04.30 |