Cuando escribe vi
en el terminal, se muestra la siguiente salida
~ VIM - Vi IMproved
~
~ version 7.3.547
~ by Bram Moolenaar et al.
~ Modified by [email protected]
~ Vim is open source and freely distributable
~
~ Help poor children in Uganda!
Entonces de acuerdo con esto, vi
debe estar lanzando VIm
.
Pero cuando escribes vim
da
aditya@aditya-desktop:~$ vim
The program 'vim' can be found in the following packages:
* vim
* vim-gnome
* vim-tiny
* vim-athena
* vim-gtk
* vim-nox
Try: sudo apt-get install <selected package>
Esto muestra que vim
no está instalado.
Notablemente man vi
y man vim
lanzar las mismas páginas man.
Entonces, ¿qué vi
lanza realmente el comando?
dpkg -S $(which vi)
dpkg -S
no funcionará para enlaces simbólicos.Si lo haces
type vi
:Sabrás dónde está el binario, ahora si lo haces:
Es proporcionado por la alternativa
vi
, que puede ser conocida por:Entonces, en mi caso,
vi
es un enlace simbólico a la alternativavi
que proporcionavim.basic
.Puede cambiar qué paquete proporcionó vi si lo hace
sudo update-alternatives --config vi
fuente
Es similar a @ignis answer, pero reduje los pasos. Solo funciona si el archivo es un enlace simbólico a otro. Puede obtener la ruta del archivo original fácilmente, si tiene miles de enlaces simbólicos en su ruta.
symlnk -> symlnk -> symlnk -> symlnk -> symlnk -> symlnk -> symlnk -> symlnk -> symlnk -> symlnk -> symlnk -> symlnk -> symlnk- -> symlnk -> symlnk -> symlnk -> symlnk -> .................--> archivo original
Entonces
vi
pertenece al paquetevim-tiny
.readlink -f
le proporciona la ruta canónica del archivo (ruta del archivo original ).fuente