Vim에서 언어별로 다른 탭 설정을 어떻게 설정합니까?
내 .vimrc 에는 두 개의 공백으로 된 일반 탭 설정이 있으며 언어 별 기본 (즉, Python의 경우 4 개, 그렇지 않으면 기본값 사용)에서이를 재정의하고 싶지만 이것의 좋은 예를 찾는 데 어려움이 있습니다.
설정을 파일 유형 플러그인 파일 ~ / .vim / ftplugin / LANGUAGE.vim에 넣으십시오. 내 ~ / .vim / ftplugin / perl.vim에는 다음 행이 포함되어 있습니다.
"
" ---------- tabulator / shiftwidth --------------------
" Set tabulator and shift width to 4 (Perl Style Guide)
"
setlocal tabstop=4
setlocal shiftwidth=4
"
이러한 설정은 파일 유형이 'perl'(신규 또는 기존) 인 각 파일에 대해 자동으로 적용됩니다.
이 다른 답변은 너무 복잡해 보입니다. ~ / .vim 트리에서 더 많은 디렉토리와 파일을 엉망으로 만드는 대신 ~ / .vimrc에 다음을 추가하십시오.
autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4
(l33t 일 수 있으며 매개 변수를으로 축약 할 수 있습니다 et ts=4 sw=4 sts=4
). 파일 유형별 Vim 공백 환경 설정 에서 이것을 찾았습니다.
내 대답은 VIM Wiki 의이 팁 을 기반으로 합니다 . 이 답변은 "after"디렉토리를 사용하므로 다른 파일 유형에 대해 제공된 플러그인 파일을 사용할 필요가 없습니다.
예를 들어 Python 파일에 대한 사용자 지정 설정을 지정 python.vim
하려면 Python 설정을 저장 하는라는 파일을 만듭니다 .
setlocal expandtab
setlocal shiftwidth=4
setlocal softtabstop=4
이 파일을
~/.vim/after/ftplugin
(리눅스)$HOME/vimfiles/after/ftplugin
(윈도우)
마지막으로 .vimrc
(Linux) 또는 _vimrc
(Windows)에 다음 이 있어야합니다 .
filetype plugin indent on
일반적으로 특정 언어에 대한 설정을 사용하여 특수 vimrc 유형 파일을 설정 한 다음 기본 .vimrc에서 자동 명령을 사용하여 필요할 때 특수 vimrc를 실행합니다. Haskell ( .hs
등) 파일에 대한 구성은 다음과 같습니다 .
autocmd! BufNewFile,BufReadPre,FileReadPre *.hs so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre *.hsc so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre *.lhs so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre *.cabal so ~/.vim/haskell.vim
필자 ~/.vim/haskell.vim
는 탭 대신 공백을 사용하도록 "확장 탭 설정"과 같은 작업을 수행하고, 형식 지정 및 이와 같은 모든 종류의 마법을 사용합니다. http://vim.org 및 기타 사이트 에서 다양한 언어에 대한 좋은 버전을 다운로드 할 수 있습니다 .
Vim 설정을 변경하는 것보다 더 많은 작업을 수행 할 수 있습니다. 예를 들어 편집 전후에 필터를 통해 파일을 실행할 수 있습니다.
" Edit gpg-encrypted ascii-armoured files
autocmd! BufReadPre,FileReadPre *.asc set bin
autocmd BufReadPost,FileReadPost *.asc '[,']!gpg -q -d
autocmd BufReadPost,FileReadPost *.asc set nobin
autocmd! BufWritePre,FileWritePre *.asc set bin
autocmd BufWritePre,FileWritePre *.asc '[,']!gpg -e
autocmd BufWritePost,FileWritePost *.asc undo
autocmd BufWritePost,FileWritePost *.asc set nobin
편집기 구성 플러그인을 사용하고 모든 프로젝트에 .editorconfig 파일을 추가합니다. 동일한 프로그래밍 언어를 사용하여 서로 다른 프로젝트에 대해 서로 다른 들여 쓰기 설정을 정의 할 수 있으므로 동일한 언어의 서로 다른 프로젝트가 서로 다른 코딩 표준을 갖는 경우가 많습니다.
여기에서 설정할 수있는 구성 유형의 예를 볼 수 있습니다. http://editorconfig.org/
'IT Share you' 카테고리의 다른 글
bootstrap-datepicker로 선택한 날짜에 대한 변경 감지 (0) | 2020.11.16 |
---|---|
“지원되는 최소 Gradle 버전은 2.14.1입니다. (0) | 2020.11.16 |
Java Enums : 클래스의 열거 된 값 나열 (0) | 2020.11.16 |
$ (this)와 jquery의 차이점 (0) | 2020.11.16 |
Rails에서 현재 날짜를 "mm / dd / yyyy"형식으로 표시하는 방법 (0) | 2020.11.16 |