En los sistemas basados en Debian el sistema de alternativas maneja tanto el vi
y vim
ejecutable. Entonces, si vim
está instalado y ejecutas vi
, también obtienes vim
, lo que me parece muy agradable, porque odio absolutamente el clásico vi
.
En Fedora 17 "Beefy Miracle", el sistema de alternativas obviamente no maneja ninguno de los dos. Pero hay un archivo de perfil en el /etc/profile.d/vim.sh
que agrega un alias de shell para vi
ejecutar vim
. Por alguna razón, no lo hace para los usuarios del sistema, incluido el root.
Pero incluso si configuro un alias para todos los usuarios manualmente, cuando llamo sudo vi
estoy comenzando clásico en vi
lugar de vim
. Probablemente sea porque sudo no inicia un shell o los archivos de perfil solo se ejecutan en sesiones de shell interactivas.
Lo que estoy buscando ahora es una forma de desinstalar vi
completamente el clásico para crear un enlace simbólico que incluso sobreviva a las actualizaciones del sistema. ¿Cómo puedo eliminar el clásico vi
pero no vim
en Fedora 17? ¿O hay incluso una mejor manera?
Actualización : Con yum provides vi
descubrí que vi
es proporcionado por el paquete vim-minimal
. Pero no puedo simplemente eliminarlo porque elimina automáticamente el paquete sudo
con él. Incluso si lo elimino e intento instalarlo sudo
nuevamente después, vim-minimal
se instala nuevamente como dependencia.
Actualización : según lo solicitado, salida de rpm -qf /usr/bin/vi
:
vim-minimal-7.3.444-1.fc17.x86_64
Y ls -l /usr/bin/vi
:
-rwxr-xr-x. 1 root root 782248 13. Feb 2012 /usr/bin/vi
rm /usr/bin/vi; ln -s /usr/bin/vim /usr/bin/vi
. No es una respuesta porque personalmente encontraría una mejor manera (o escribir vim si quisiera vim).vim-minimal
se actualiza el paquete?/usr/bin/vi
un enlace simbólico (a qué) o un archivo normal en Fedora? Si es un archivo normal, ¿de qué paquete?ls -l /usr/bin/vi
yrpm -qf /usr/bin/vi
.Respuestas:
Tu
vi
es Vim, pero se invoca comovi
, por lo que ingresa al modo de compatibilidad histórica. La acción recomendada es que si desea ejecutar Vim y no vi, ejecutevim
y novi
. Sin embargo, si deseavi
ejecutar siempre Vim en cada cuenta del sistema, anúlelo en/usr/local/bin
:fuente
sudo ln -s /usr/bin/vim /usr/local/bin/vi
. Pero debe agregar/usr/local/bin
al lado izquierdo de laDefaults secure_path="…"
configuraciónvisudo
, de lo contrario no se encontrará el enlace simbólico.cat >/usr/local/bin/vi
(nocat >/usr/local/bin
)? ¿Quiso decirchmod 755 /usr/local/bin/vi
(no.../vim
)?/usr/local/sbin/vi
.# echo 'alias vi="vim"' >> /etc/bashrc'
o# alternatives --install /usr/bin/vi vi /usr/bin/vim 900
fuente
vim-minimal
se actualiza el paquete?.bashrc
es una buena práctica ... para mí @llua dio una buena respuestaPara su información, Fedora reciente (al menos desde 18) instala ese alias globalmente
/etc/profile.d
una vez quevim-enchanced
está instalado.fuente