
vim/vi에 다른 vimrc 파일을 제공하는 방법이 있는지 알고 싶습니다. 2개의 서로 다른 vimrc 파일을 관리하려고 합니다. 버전 관리에서 체크아웃/체크인한 내용에 대해 내 .vimrc
파일 의 일반적인 명령이 아닌 다른 명령 세트를 사용하고 싶습니다.
예를 들어.
내 .vimrc
파일에는 파일을 저장하는 동안 뒤따르는 공백을 자동으로 삭제하는 명령이 포함되어 있습니다. 하지만 특정 파일에 대해서는 이 기능이 활성화되는 것을 원하지 않습니다.
그렇다면 다른 vimrc 파일을 제공하는 방법은 무엇입니까(아마도 명령줄에서 vim --vimrc=somefile file-to-open과 같이 매번 매개변수로 제공)?
답변1
맨페이지를 참조하세요:
-u {vimrc} 초기화를 위해 {vimrc} 파일의 명령을 사용합니다. 다른 모든 초기화는 건너뜁니다. 특별한 종류의 파일을 편집하려면 이 기능을 사용하세요. "NONE"이라는 이름을 지정하여 모든 초기화를 건너뛰는 데 사용할 수도 있습니다. 자세한 내용은 vim의 ":help 초기화"를 참조하세요.
답변2
그렇다면 다른 vimrc 파일을 제공하는 방법은 무엇입니까(아마도 명령줄에서 vim --vimrc=somefile file-to-open과 같이 매번 매개변수로 제공)?
예, 다음 -u
매개변수를 사용하세요.
vim -u ~/.my-custom-vimrc
에서 man vim
:
-u {vimrc} Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped. Use this to
edit a special kind of files. It can also be used to skip
all initializations by giving the name "NONE". See ":help
initialization" within vim for more details.
내 .vimrc 파일에는 파일을 저장하는 동안 뒤따르는 공백을 자동으로 삭제하는 명령이 포함되어 있습니다. 하지만 특정 파일에 대해서는 이 기능이 활성화되는 것을 원하지 않습니다.
일부 알려진 파일 형식에 대해 특별한 처리가 필요한 경우 다른 솔루션이 있습니다. autocmd
vimrc에서 명령을 사용하십시오 . 예를 들어, 다음은 파일 유형에 따른 구성입니다.
" Mapping of filetypes to options
au FileType freerad setl noexpandtab sts=0 sw=8
au FileType make setl noexpandtab sts=0
au FileType php let php_sql_query=1
au FileType php let php_htmlInStrings=1
au FileType python setl shiftwidth=2 expandtab
au FileType sql setl noexpandtab sts=0 sw=8
" global options I do not want any filetype to override
au FileType * setl formatoptions-=ro " don't continue comments
vim이 특정 파일 형식을 자동으로 할당하지 않는 항목에 옵션을 적용해야 하는 경우 고유한 매핑을 추가할 수 있습니다(명령을 사용하기 전에 수행 autocmd
).
" mapping of filenames to filetypes
au FileReadPost,BufReadPost,BufNewFile /etc/freeradius/* setl ft=freerad
au FileReadPost,BufReadPost,BufNewFile *.xt setl ft=xt
답변3
또한 set exrc
기본 .vimrc에서 vim이 현재 디렉터리에서 .vimrc를 자동으로 로드하도록 할 수도 있습니다.
답변4
Vim 구성 디렉터리를 Git 아래에 저장하면(그렇기를 바랍니다) 다양한 분기를 사용하고 그 사이에서 체크아웃할 수 있습니다.