1 세션에 대해 별도의 vimrc 파일을 제공하는 방법

1 세션에 대해 별도의 vimrc 파일을 제공하는 방법

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 exrcvim이 기본 .vimrc의 현재 디렉터리에서 .vimrc를 자동으로 로드하도록 할 수도 있습니다 .

답변4

Vim 구성 디렉터리를 Git 아래에 저장하면(그렇기를 바랍니다) 서로 다른 분기를 사용하고 그 사이에서 체크아웃할 수 있습니다.

관련 정보