sudo vim을 실행할 때 어떻게 정상적인 vim 초기화를 얻을 수 있나요?

sudo vim을 실행할 때 어떻게 정상적인 vim 초기화를 얻을 수 있나요?

별칭이 정의되어 있지만 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.

해당 명령은 다음과 같습니다.

  1. 비밀번호를 물어보세요(sudoers 보안 정책에서 요구하는 경우).
  2. filename의 사본을 만드십시오 /tmp/.
  3. 열어 봐너처럼$SUDO_EDITOR, $VISUAL, $EDITOR, 그리고 마지막으로 /etc/sudoers에 지정된 편집기 목록을 순서대로 확인하여 첫 번째 편집기를 찾았습니다 .
  4. 쓰기 시 원래 파일 이름으로 다시 복사합니다.

자세한 내용은 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 파일에 추가해야 할 다른 내용을 알아보기 위해 좀 더 자세히 살펴보겠습니다....

관련 정보