
별칭이 정의되어 있지만
alias svi='sudo /usr/bin/vim -i /home/jeff/.viminfo -u /home/jeff/.vimrc'
입력하면 svi myfile
다음과 같은 메시지가 표시됩니다.
/home/jeff/.vimrc 처리 중 오류가 감지되었습니다:
1행:
E117: 알 수 없는 함수: 병원체#infect
vim을 실행하기 전에 vim이 내 .vim 디렉터리를 검색하도록 강제해야 하는 것 같습니다. call pathogen#infect()
어떻게 해야 하며 일반적으로 실행할 때 sudo vim
단지 실행했을 때와 동일한 환경을 얻을 수 있는지 어떻게 확인할 수 있습니까 vim
?
답변1
sudo vim을 실행할 때 어떻게 정상적인 vim 초기화를 얻을 수 있나요?
$ sudo -e filename
대신 사용하여 $ sudo vim filename
.
해당 명령은 다음과 같습니다.
- 비밀번호를 물어보세요(sudoers 보안 정책에서 요구하는 경우).
filename
의 사본을 만드십시오/tmp/
.- 열어 봐너처럼
$SUDO_EDITOR
,$VISUAL
,$EDITOR
, 그리고 마지막으로 /etc/sudoers에 지정된 편집기 목록을 순서대로 확인하여 첫 번째 편집기를 찾았습니다 . - 쓰기 시 원래 파일 이름으로 다시 복사합니다.
자세한 내용은 man sudo
및 을 참조하세요 .man sudoers
답변2
@romainl의 답변을 선호하는 솔루션으로 받아들이려고 하는 동안(그가 약간 수정한 후) 컴퓨터가 나보다 좋아지는 것을 싫어하기 때문에 발생한 오류에 대한 솔루션을 연구하는 데 또 다른 균열이 생겼습니다.
오류는 루트로 실행할 때 vim 옵션이 해결되는 방식과 관련이 있는 것으로 나타났습니다 runtimepath
. 그래서 오류를 수정하기 위해 별칭을 약간 변경하고 alias svi='sudo /usr/bin/vim -i /home/jeff/.viminfo -u /home/jeff/.svimrc'
다음 세 줄을 /home/jeff/.svimrc에 넣었습니다.
set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after,/home/jeff/.vim
source /etc/vimrc
source /home/jeff/.vimrc
더 이상 오류가 발생하지 않으며 내 사용자 정의 항목이 (지금까지는) 작동하는 것 같습니다. 하지만 다른 결함이 발생하면 :help initialization
.svimrc 파일에 추가해야 할 다른 내용을 알아보기 위해 좀 더 자세히 살펴보겠습니다....