vim/vi에서 다른 vimrc 파일을 제공할 수 있는 방법이 있는지 궁금합니다. 저는 2개의 서로 다른 vimrc 파일을 관리하려고 합니다. .vimrc
파일의 일반 명령 대신 버전 제어에서 체크아웃/체크인하는 데 다른 명령 세트를 사용하고 싶습니다.
예를 들어.
내 .vimrc
파일에는 파일을 저장할 때 후행 공백을 자동으로 제거하는 명령이 포함되어 있습니다. 그러나 특정 파일에 대해서는 이 기능을 활성화하고 싶지 않습니다.
그렇다면 다른 vimrc 파일을 제공할 수 있는 방법이 있습니까(아마도 명령줄에서 vim --vimrc=somefile file-매번 열 수 있도록 인수로 전달)?
답변1
맨페이지를 참조하세요:
-u {vimrc} {vimrc} 파일의 명령을 사용하여 초기화합니다. 다른 모든 초기화는 건너뜁니다. 특별한 유형의 파일을 편집하는 데 사용합니다. "NONE"이라는 이름을 지정하여 모든 초기화를 건너뛰는 데에도 사용할 수 있습니다. 자세한 내용은 vim의 ":help 초기화"를 참조하세요.
답변2
그렇다면 다른 vimrc 파일을 제공할 수 있는 방법이 있습니까(아마도 명령줄에서 vim --vimrc=somefile file-매번 열 수 있도록 인수로 전달)?
예, -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
vim이 기본 .vimrc의 현재 디렉터리에서 .vimrc를 자동으로 로드하도록 할 수도 있습니다 .
답변4
Vim 구성 디렉터리를 Git 아래에 저장하면(그렇기를 바랍니다) 서로 다른 분기를 사용하고 그 사이에서 체크아웃할 수 있습니다.