Tengo mis archivos Vim personalizados ~/.vimy configuraciones en ~/.vimrc. Sin embargo, a veces tengo que editar algunos archivos /etcy tal.
Si comienzo a Vim así:
$ sudo vim /etc/rc.conf
Pierdo mi configuración ya que Vim usa la predeterminada. Entonces: ¿cómo puedo ejecutar Vim con privilegios de root para editar archivos sin perder la configuración de mi usuario (que está en mi directorio de inicio)?
Yo he tratado:
$ su username -c "vim /usr/lib/python2.7/setuptools/dist.py"
pero Bash me da Permission denied. Sin embargo, el comando anterior funciona, por ejemplo, para: /etc/acpi/handler.sh. ¿Porqué es eso?
Nota: el nombre de usuario no es root.
fuente

sudoedit /etc/rc.confysudo -e /etc/rc.confabre vim, pero mi ~ / .vimrc no se carga. ¿Que estoy haciendo mal?export EDITOR=vimprimero: puede estar intentando ejecutarsevi, lo que no sé si carga vimrc incluso cuando es vim.export EDITOR=vimfuncionó. Pensé que vi no está instalado en mi sistema y es solo un enlace simbólico a vim. GraciasPuede usar
-upara decirle a vim qué archivo rc cargar. p.ejsudo vim -u ~user/.vimrc /etc/rc.confsi escribir eso cada vez que necesita hacerlo es tedioso, haga un alias:
alias sudovim='sudo vim -u ~user/.vimrc'Tenga en cuenta que
vim -upuede hacer que los complementos o los archivos llamados rc fallen si cargan otros archivos relacionados con $ HOME - $ HOME ahora es el directorio de inicio de la raíz, no el del usuario. Esto se puede resolver con, por ejemplo, enlaces simbólicos en el directorio de inicio de la raíz o codificando rutas absolutas.fuente
alias svim="HOME=/home/user && sudo vim -u $HOME/.vimrc".sudo vim -S /home/user/.vimrc /etc/rc.confEsto es equivalente a:
sudo vim /etc/rc.conf+:source /home/user/.vimrcy puede ser alias también:
alias svim='sudo vim -S /home/user/.vimrc'fuente