에 사용자 정의 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.conf
sudo -e /etc/rc.conf
답변
-u
vim에게로드 할 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'