.vimrc를 외부 파일에서 읽으려면 어떻게 해야 합니까?

.vimrc를 외부 파일에서 읽으려면 어떻게 해야 합니까?

.vimrc외부 파일에서 변수 값을 읽도록 my 를 수정하고 싶습니다 . 어떻게 해야 하나요?

특히 친구와 저는 git repo를 파일과 공유 .vim하지만 구성에서 원하는 내용에는 몇 가지 작은 차이점이 있습니다. 따라서 대부분의 파일은 공통적이지만 if 문을 사용하여 다음과 같이 사용자별 섹션을 로드할지 여부를 결정합니다.

let whoami = "user2"
if whoami == "user1"
...

.vimrc소스 제어에서 공통을 확인한 후 각자 let whoami자신의 섹션이 로드되도록 할당을 변경해야 합니다. 그 대신, 우리 각자에게 다를 수 있고 vim이 해당 변수 값을 로드할 별도의 파일을 유지하고 싶습니다.

아마도 이것에 대한 또 다른 각도는 다음과 같습니다:.vimvim이 내 디렉터리 에 있는 모든 파일을 자동으로 읽나요 ?그렇다면 우리는 각각 username.vim이라는 심볼릭 링크를 거기에 넣고 이를 각자에게 다른 외부 파일에 연결할 수 있습니다.

답변1

기본 .vimrc 파일에서:

source otherVimScriptFilePath.vim

그런 다음 해당 파일에 변수 명령문을 넣으십시오.

" otherVimScriptFilePath.vim
let whoami = "user1"

답변2

try/catch 사용

이 질문을 한 이후로 외부 파일을 로드하는 또 다른 사용 사례를 생각해 냈습니다. 바로 시스템별 조정입니다.

특정 컴퓨터에서 조정할 필요가 있을 수도 있고 필요하지 않을 수도 있으므로 a를 사용하여 try/catch외부 파일을 로드합니다. 그러한 파일이 없으면 자동으로 실패하도록 둡니다.

" If there are any machine-specific tweaks for Vim, load them from the following file.
try 
  source ~/.vimrc_machine_specific
catch
  " No such file? No problem; just ignore it.
endtry 

답변3

마지막 질문에 답하자면, 에 있는 파일은 ~/.vim자동으로 로드되지 않지만, 에 있는 모든 파일은 자동 ~/.vim/plugin으로 로드됩니다.

답변4

로그인한 사용자의 이름은 $USER 환경 변수에서 확인할 수 있습니다. 해당 변수에 쉽게 액세스할 수 있습니다.

:echo $USER

그러니 그냥 사용하세요

execute "silent! source vimrc." . $USER

vimrc에서 사용자 별 설정을

vimrc.joe

또는 귀하의 로그인 이름이 무엇이든

관련 정보