Eclipse와 Java를 사용하여 다소 버릇이 없었습니다. 리눅스 환경에서 C 코딩을하기 위해 vim을 사용하기 시작했는데, vim이 블록에 대해 적절한 간격을 자동으로 수행하도록하는 방법이 있습니까?
따라서 {를 입력 한 후 다음 줄에는 2 개의 공백이 들여 쓰기되고 해당 줄을 리턴하면 동일한 들여 쓰기가 유지되고}는 2 개의 공백을 뒤로 이동합니까?
답변:
다음 두 명령이 수행해야합니다.
:set autoindent
:set cindent
보너스 포인트를 얻으려면 리눅스의 홈 디렉토리에있는 .vimrc라는 파일에 넣으십시오.
나는 vim의 탭에 대한 모든 것을 썼는데 , 당신이 묻지 않은 몇 가지 흥미로운 것들을 제공합니다. 중괄호를 자동으로 들여 쓰려면 다음을 사용하십시오.
:set cindent
두 개의 공백을 들여 쓰려면 (8 개 공백 탭 하나 대신 vim 기본값) :
:set shiftwidth=2
vim이 여덟 개의 공백을 탭으로 변환하지 못하도록하려면 :
:set expandtab
텍스트 블록의 들여 쓰기를 변경하려면 <및>를 사용하십시오. 저는 보통 이것을 블록 선택 모드 (v, 텍스트 블록 선택, <또는>)와 함께 사용합니다.
(나 (그리고 대부분의 다른 사람들)가 읽기가 어렵다고 생각하기 때문에 2 칸 들여 쓰기를 사용하지 말라고 말씀 드리고 싶지만, 이것은 또 다른 논의입니다.)
많은 vim의 기능 ( autoindent
및 등 cindent
)이 기본적으로 꺼져 있습니다. vim이 당신을 위해 무엇을 할 수 있는지 실제로 보려면 괜찮은 ~/.vimrc
.
좋은 스타터는 $VIMRUNTIME/vimrc_example.vim
. 사용해보고 싶다면
:source $VIMRUNTIME/vimrc_example.vim
vim에서.
나는 실제로 ~/.vimrc
잘 설명되어 있으므로 내용을 복사하여 vim 사용 방법을 배우기 시작하는 좋은 장소를 제안합니다 . 당신은 이것을 할 수 있습니다
:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc
이것은 당신의 현재를 덮어 쓸 ~/.vimrc
것이지만, 만약 당신이 가지고있는 모든 것이 Davr이 제안한 들여 쓰기 설정이라면, 나는 그것을 땀을 흘리지 않을 것입니다. vimrc 예제가 당신을 위해 그것을 처리 할 것입니다. 예제에 대한 전체 연습과이 예제가 수행하는 작업은을 참조하십시오 :help vimrc-intro
.
user@host:~ $ echo set autoindent >> .vimrc
가장 좋은 답변은 실제로 vim wikia에 설명되어 있다고 생각합니다.
http://vim.wikia.com/wiki/Indenting_source_code
"set autoindent"를 사용하지 않는 것이 좋습니다. 이 설명에서 내가 찾은 모든 것의 가장 좋은 기능은 파일 별 설정을 설정할 수 있다는 것입니다. 예를 들어, 예를 들어 이전 탭에는 4 개의 공백을 원하고 2 개의 공백을 원하기 때문에 Python 및 C ++로 프로그래밍하는 경우 특히 유용합니다. 후자의 공백.
그리고 항상 Spaces + Tabs에 대한이 훌륭한 설명을 기억하십시오.
시험:
sw = 2로 설정
ts = 2로 설정
smartindent 설정