No entiendo cómo permitir el resaltado de sintaxis en los archivos que estoy editando a través de vi cuando uso sudo. Cuando sudo vi <filename>el terminal es solo blanco y negro de mis configuraciones de terminal. En vi si entro :syntax onnada cambia.
Cuando vi <filename>toda la sintaxis está coloreada correctamente. Usando RHEL 5.4, env relevante:
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;
33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;
32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;
32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;
31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;
31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;
35:*.png=01;35:*.tif=01;35:
SHELL=/bin/bash
TERM=xterm-color

vino admite color, por lo que todo lo que muestra color se está ejecutandovimo es similar.Respuestas:
La respuesta de Larks es probablemente la más probable. Es posible que no desee cambiar sus cuentas raíz vi a vim de forma permanente, ya que si sus recursos son bajos vi, casi siempre garantiza que funcione, no estoy tan seguro de vim.
Probablemente estés usando (color)
bajo su usuario normal y
bajo sudo o root. Puede verificar usando:
una vez debajo de su usuario normal y la otra a través de sudo
Hacer un
si necesitas mas detalles
fuente
En un sistema RHEL,
/bin/vies típicamente una versión mínima devim, sin ningún soporte de resaltado de sintaxis./usr/bin/vimes el editor con todas las funciones. Es muy probable que en su entorno de usuario,visea un alias paravim. Prueba esto:¿Obtiene resaltado de sintaxis ahora?
fuente
Su
vies probablemente/bin/vide paquetevim-minimalque no soporta resaltado de sintaxis.sudo vilanza/bin/vipara ti.Bash solo hace expansión de alias en la primera palabra en su línea de comando, así que en:
vino se sustituyevimincluso si tiene ese alias definido.La solución es definir otro alias (para el usuario que invoca
sudo):Tenga en cuenta el espacio después del segundo
sudo.Usando esto
sudo, bash hará una expansión de alias paraviinsudo vi. En laaliassección de Bash doc dice:Después de introducir el comando, puede pulsar Ctrl+ Alt+ Een
bashver el resultado de expansión.Créditos
https://bbs.archlinux.org/viewtopic.php?id=36796
http://www.shellperson.net/using-sudo-with-an-alias
Simplemente aliasing
vien/root/.bashrcno funcionará.También puede notarse que
vino tiene alias para root en algunas distribuciones en /etc/profile.d/vim.sh:Cambiar esto tampoco resolverá el problema.
fuente
Por defecto en 5.4 vi es por defecto. Olvidé en qué versión comenzó. Esto agregará el alias necesario para ti:
fuente
descubrí que en mi versión de vim (instalar con
sudo apt-get install vimdebian 7) elsyntax oncomando se define por usuario en~/.vimrc. sin embargo, de manera predeterminada, la instalación no creó un/root/.vimrcarchivo parasudo vicargar. así que simplemente copié~/.vimrcen el/root/directorio y esto hizo el truco:sudo cp ~/.vimrc /root/fuente
Esto se debe a que su usuario root no tiene el archivo de configuración vim. así que simplemente copie su archivo de configuración vim de usuario estándar en el directorio raíz.
sudo cp -r ~/.vi* /root/algo como eso.nb: compruebe si el archivo no corresponde al
~/vi*que no es para vim.fuente
1) Verifique si realmente está usando vim y no vi (que desafortunadamente es el predeterminado por lo general en sistemas instalados recientemente)
2) Verifique que
/etc/vim/vimrctenga la líneasyntax on3) No todos los tipos de archivos tienen información de resaltado de sintaxis disponible de forma predeterminada ...
fuente
Para aquellos que todavía buscan ayuda, pruebe estos comandos.
sudovi = which sudo viusrvi = which viDe otra manera...
mv $sudovi $sudovi.saveln -s $usrvi $sudovi(enlace simbólico)fuente