[vim] Vim에서 탭 키 == 4 공백 및 중괄호 뒤에 자동 들여 쓰기

어떻게 어떻게해야합니까 VIVim은 탭 (!, 탭에 나쁜 공간 변환)와 같은 중괄호 블록 후 탭 키 == 4 개 공간, 자동 들여 쓰기 코드하게 사용하지 않습니다 이맥스 수행을?

또한이 설정을 저장하여 다시 입력 할 필요가없는 방법은 무엇입니까?

나는 이것과 관련된 다른 질문을 보았지만 항상 내가 원하는 것에서 약간 벗어난 것처럼 보입니다.



답변

아래의 두 가지 답변에서 지적했듯이 이제 선호하는 방법은 smartindent를 사용하는 것이 아니라 대신 .vimrc 에서 다음을 사용하는 것입니다 .

filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" On pressing tab, insert 4 spaces
set expandtab


당신에서 의 .vimrc : 파일 :

set smartindent
set tabstop=4
set shiftwidth=4
set expandtab

도움말 파일은 익숙해지기까지 약간의 시간이 걸리지 만 읽을수록 Vim은 더 잘 읽습니다.

:help smartindent

또한 이식성을 위해 다음 설정을 소스에 포함시킬 수 있습니다.

:help auto-setting

현재 설정을 보려면

:set all

으로 graywh 의견에서 지적 smartindent은 cindent로 대체되어있는 “작품 더 영리하게”,하지만 여전히 주로와 언어 C와 같은 구문 :

:help C-indenting


답변

관련, 탭과 공백을 모두 사용하는 파일을 여는 경우

set expandtab ts=4 sw=4 ai

전체 탭에서 모든 탭을 공백으로 바꿀 수 있습니다.

:%retab


답변

파일 유형별 들여 쓰기를 얻는 가장 좋은 방법은 filetype plugin indent onvimrc에서 사용 하는 것입니다. 그런 다음 같은 것들을 지정할 수 set sw=4 sts=4 et있는 .vim / ftplugin / c.vim, 예를 들어, 모든 파일도 편집중인 및 기타 비 C 형 구문이 제대로 들여 얻을 것이다 위해 사람들은 글로벌 만들 필요없이 (심지어 lisps) .


답변

대부분의 파일에 4 개의 공백 탭, Makefile의 실제 8 와이드 탭 문자 및 C / C ++를 포함한 다양한 파일에서 자동 들여 쓰기를하려면 파일에 다음을 입력 ~/.vimrc하십시오.

" Only do this part when compiled with support for autocommands.
if has("autocmd")
    " Use filetype detection and file-based automatic indenting.
    filetype plugin indent on

    " Use actual tab chars in Makefiles.
    autocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab
endif

" For everything else, use a tab width of 4 space chars.
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.


답변

우분투와 같은 많은 Linux 시스템에는 .vimrc파일이 기본적으로 존재하지 않으므로 먼저 생성하는 것이 좋습니다.

.viminfo홈 디렉토리에 존재 하는 파일을 사용하지 마십시오 . 다른 목적으로 사용됩니다.

1 단계 : 홈 디렉토리로 이동

cd ~

2 단계 : 파일 작성

vim .vimrc

3 단계 : 위에서 언급 한 구성 추가

filetype plugin indent on
set tabstop=4
set shiftwidth=4
set expandtab

3 단계 : Shift+ 를 눌러 파일을 저장합니다 ZZ.


답변

권장되는 방법은 파일 유형 기반 들여 쓰기를 사용하고 충분하지 않은 경우에만 smartindent 및 cindent를 사용하는 것입니다.

.vimrc에 다음을 추가하십시오

set expandtab
set shiftwidth=2
set softtabstop=2
filetype plugin indent on

다른 답변으로 도움이되기를 바랍니다.


답변

~ / .vimrc를 편집하십시오

$ vim ~/.vimrc

다음 줄을 추가하십시오 :

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab