먼저 X/Y 문제를 방지하기 위해 제가 정말로 원하는 것은 다음과 같습니다.
- 루트 사용자로 vim을 실행하십시오.
- vim에게 내 아름다운 색 구성표와 모든 플러그인을 사용하도록 지시하세요.
- 이 모든 작업은 폴더
/root/.vimrc
나/root/.vim
폴더를 오염시키지 않고 수행됩니다. sudo vim
달리고 싶지 않은 상태에서 이 모든 작업을 수행하세요 .
각 Linux 서버에는 다음 두 파일이 포함된 내 계정이 있습니다.
/home/b/.vim
- 내 플러그인 등이 포함된 내 폴더
/home/b/.vimrc
- 내 도트 vimrc 파일
이것은 사용자 정의 vim 설정으로 실행하려는 첫 번째 시도입니다.
vim -u ~b/.vimrc
Error detected while processing /root/.vimrc:
line 33:
E185: Cannot find color scheme railscasts
line 82:
E117: Unknown function: ...
Press ENTER or type command to continue
그러나 내 .vimrc 파일은 내 /home/b/.vim 폴더에만 존재하는 플러그인을 검색하고 있습니다. 지금까지 저는 항상 /home/b/.vim 폴더를 다음과 같이 루트 사용자 영역에 복사했습니다:
cp -r /home/b/.vim /root
그러나 불행하게도 이는 루트 계정의 홈 폴더를 오염시키므로 가능하다면 이 작업을 중단하고 싶습니다. 환경 변수나 루트를 오염시키지 않고 나만의 완전한 vim 환경(플러그인 등 포함)을 실행할 수 있는 방법을 알려줄 수 있는 사람이 있나요?
어떤 도움이라도 대단히 감사하겠습니다.
info vim
PS - 문서를 읽고 VIMRUNTIME VIMRC 및 기타 환경 변수 설정을 시도했습니다. 그들은 나를 도와주지 않았습니다. 어쩌면 내가 뭔가 잘못한 것일까요...?
답변1
.vim
파일 상단에 런타임 경로를 추가 할 수 있습니다 .vimrc
.
:set runtimepath=/home/b/.vim,$VIMRUNTIME
/home/b/.vim
이렇게 하면 vim은 먼저 표준 위치 (예: /usr/share/vim/vim72/
debian squeeze)에서 플러그인, 색상 등을 검색하게 됩니다 .
별칭과 함께 사용합니다 vim='vim -u /home/b/.vimrc'
.
답변2
오염이 무엇을 의미하는지 잘 모르겠지만 중복 파일이 없다는 뜻이라면 심볼릭 링크를 만들 수 있습니다. 이것이 제가 다른 사용자들 간에 Vim 설정을 동일하게 유지하는 방법입니다.
나는 루트가 소유하지만 다른 모든 사람이 읽을 수 있는 .vimrc
및 .vim
폴더를 가지고 있습니다. /usr/local/etc/vim_settings
그런 다음 각 사용자에 대해 다음을 수행합니다.
ln -s /usr/local/etc/vim_settings/vimrc /home/user/.vimrc ln -s /usr/local/etc/vim_settings/vim /home/user/.vim
기술적으로 디렉토리는 "깨끗하고" 설정이 간단합니다. 저는 실제로 많은 프로필에 대해 이 작업을 수행하므로 새 시스템으로 이동할 때 /usr/local/etc/
폴더를 새 시스템에 복사하고 링크를 설정하기만 하면 됩니다.
답변3
이것이 가끔 구성 파일을 편집하는 것이라면 내 사용자 계정으로 Vim을 시작하고 그 :write !sudo tee %
트릭을 가급적 강력한 형식으로 사용하겠습니다.SudoEdit.vim - sudo, su 또는 기타 도구를 사용하여 파일 편집끼워 넣다.
답변4
귀하의 /home/b/.vimrc 플러그인 경로는 귀하의 홈 디렉터리에 상대적일 것입니다. 루트로 로그인하면 이러한 경로는 상대 경로 대신 상대 경로가 됩니다 /root
. /home/b
수동으로 절대 경로로 수정할 수 있어야 합니다.