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

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

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 파일에는 파일을 저장하는 동안 뒤따르는 공백을 자동으로 삭제하는 명령이 포함되어 있습니다. 하지만 특정 파일에 대해서는 이 기능이 활성화되는 것을 원하지 않습니다.

일부 알려진 파일 형식에 대해 특별한 처리가 필요한 경우 다른 솔루션이 있습니다. autocmdvimrc에서 명령을 사용하십시오 . 예를 들어, 다음은 파일 유형에 따른 구성입니다.

" 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 아래에 저장하면(그렇기를 바랍니다) 다양한 분기를 사용하고 그 사이에서 체크아웃할 수 있습니다.

관련 정보