.vimrc
외부 파일에서 변수 값을 읽도록 my 를 수정하고 싶습니다 . 어떻게 해야 하나요?
특히 친구와 저는 git repo를 파일과 공유 .vim
하지만 구성에서 원하는 내용에는 몇 가지 작은 차이점이 있습니다. 따라서 대부분의 파일은 공통적이지만 if 문을 사용하여 다음과 같이 사용자별 섹션을 로드할지 여부를 결정합니다.
let whoami = "user2"
if whoami == "user1"
...
.vimrc
소스 제어에서 공통을 확인한 후 각자 let whoami
자신의 섹션이 로드되도록 할당을 변경해야 합니다. 그 대신, 우리 각자에게 다를 수 있고 vim이 해당 변수 값을 로드할 별도의 파일을 유지하고 싶습니다.
아마도 이것에 대한 또 다른 각도는 다음과 같습니다:.vim
vim이 내 디렉터리 에 있는 모든 파일을 자동으로 읽나요 ?그렇다면 우리는 각각 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
또는 귀하의 로그인 이름이 무엇이든