루트 권한을 가진 사용자로 Vim을 시작하십시오. 루트 권한으로 Vim을 실행하여 사용자

에 사용자 정의 Vim 파일이 ~/.vim있고에 설정이 ~/.vimrc있습니다. 그러나 때로는 일부 파일을 편집해야합니다 /etc.
Vim을 다음과 같이 시작하면 :

$ sudo vim /etc/rc.conf

Vim이 기본 설정을 사용하기 때문에 설정이 손실됩니다. 따라서 루트 권한으로 Vim을 실행하여 사용자 설정 (홈 디렉토리에 있음)을 잃지 않고 파일을 편집하려면 어떻게해야합니까?
나는 시도했다 :

$ su username -c "vim /usr/lib/python2.7/setuptools/dist.py"

그러나 배쉬는 나에게 준다 Permission denied. 그러나 위 명령은 예를 들어 다음과 같이 작동합니다 /etc/acpi/handler.sh. 왜 그런 겁니까?

참고 : username 은 루트가 아닙니다.



답변

또는 대신 sudo vim /etc/rc.conf사용하십시오 . EDITOR 환경 변수를 vim으로 설정해야 할 수도 있습니다. 이 파일은 일반 구성을 사용하여 종료 할 때 다시 복사 할 파일 사본에서 일반 사용자로 vim 자체를 실행합니다.sudoedit /etc/rc.confsudo -e /etc/rc.conf


답변

-uvim에게로드 할 rc 파일을 알려주 는 데 사용할 수 있습니다 . 예 :

sudo vim -u ~user/.vimrc /etc/rc.conf

필요할 때마다 입력하는 것이 지루한 경우 별명을 만드십시오.

alias sudovim='sudo vim -u ~user/.vimrc'

참고 vim -u가 $ HOME에 상대적으로 다른 파일을로드 할 경우 실패 할 플러그인이나라는 RC 파일을 일으킬 수는 – $ 홈 지금 루트의 홈 디렉토리가 아닌 사용자의입니다. 이것은 루트의 홈 디렉토리에있는 심볼릭 링크 나 하드 코딩 된 절대 경로로 해결할 수 있습니다.


답변

sudo vim -S /home/user/.vimrc /etc/rc.conf

이것은 다음과 같습니다.

sudo vim /etc/rc.conf + :source /home/user/.vimrc

별명을 지정할 수도 있습니다.

alias svim='sudo vim -S /home/user/.vimrc'


답변