Vim para reemplazar a Vi

29

Chicos, ¿alguien sabe cómo cambiar el editor de consola de Linux de vi a vim cada vez que ejecutamos vi? Estoy usando Ubuntu y Fedora Core

Funky81
fuente
2
Simplemente curioso: ¿Qué dist de Linux? ¿es eso? No recuerdo haber visto un Vi de la vieja escuela como predeterminado.
Brian Rasmussen
2
De hecho, es extremadamente improbable que sea vi, ya que ese no sería el código FOSS.
De memoria es que alguna distro (creo que fue RHEL), configuraron el comando vial modo clásico en VIM.
Seh Hui Leong
44
¿Por qué ejecutar vi si prefieres vim? export EDITOR = vim?
Tadeusz A. Kadłubowski
Arch también tiene un clon "vi" por defecto, en lugar de vim.
WhyNotHugo

Respuestas:

34

Primero, asegúrese de tener instalados los paquetes Vim adecuados. El valor predeterminado en muchos sistemas es instalar un paquete mínimo de Vim que esté más cerca de Vi en la funcionalidad.

En los sistemas basados ​​en Red Hat (RHEL, CentOS, Fedora), necesita el paquete vim mejorado, por ejemplo, de un sistema CentOS que he instalado:

vim-common-7.0.109-4.el5_2.4z
vim-enhanced-7.0.109-4.el5_2.4z
vim-minimal-7.0.109-4.el5_2.4z

'común' contiene bibliotecas comunes utilizadas por todos los paquetes de Vim. 'minimal' es el ejecutable del editor vi simple como está instalado por defecto.

En sistemas basados ​​en Debian (como Ubuntu), necesita 'vim'. Por ejemplo:

ii  vim                  2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor
ii  vim-common           2:7.2.079-1ubuntu5  Vi IMproved - Common files
ii  vim-runtime          2:7.2.079-1ubuntu5  Vi IMproved - Runtime files
ii  vim-tiny             2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor - compact version

Estos deben instalarse por defecto. En Debian / Ubuntu, puede actualizar el editor de sistema predeterminado para todos los usuarios:

sudo update-alternatives --config vi

Seleccione la versión que desee del menú de selección. Sin embargo, las secuencias de comandos posteriores a la instalación del paquete vim ya deberían haber actualizado esto. Utilícelo --config editorpara cambiar el editor predeterminado para todos los usuarios del sistema (el valor predeterminado original de Ubuntu 9.04 es nano, por ejemplo).

Finalmente, para cada distribución por usuario, configure un alias en el perfil de usuario. Por ejemplo, si el shell es bash, edite ~ username / .bashrc:

alias vi="vim"

Además, puede verificar el sistema vimrc (/ etc / vimrc, generalmente) para ver si el modo de compatibilidad está activado.

set cp
set compatibility

Le dirá a Vim que se comporte más como el Vi de la vieja escuela, sin importar cómo haya manejado el uso de Vim según lo anterior. Cambie a 'nocp' o 'nocompatibility' para que Vim sea más útil.

jtimberman
fuente
2
En versiones recientes de ubuntu, solo vim-tiny está instalado de forma predeterminada. Instale vim para obtener la versión completa.
Hamish Downer
28

En tu .bashrc:

alias vi=vim
Alabama.
fuente
2
Esto no afectará a nada que no esté usando bash, por ejemplo, cuando presiona "v" dentro de less (1), seguirá ejecutando el vi "real".
Kevin Panko
2
Las variables de entorno EDITORy VISUALtendrán prioridad cuando pulse vsobre el vicomando predeterminado . Entonces, en su .bashrcexportación EDITORo VISUALcon vimsu valor; por ejemplo, export EDITOR=vimy export VISUAL=vimen su.bashrc
Nitrodist
10

Si es un sistema Debian o Ubuntu, y desea hacer que este cambio sea amplio en el sistema, debe usarlo update-alternatives(especifique con las --config editoropciones, y debería ser dorado)

mwalling
fuente
9

Si necesita los cambios solo para su identificación, y dentro de una sesión de terminal: alias vi a vim como lo sugiere AI.

Si desea un cambio en todo el sistema en su máquina, enlace suave a vim en / usr / local / bin :

sudo ln -s `which vim` /usr/local/bin/vi

Nota: Los programas pueden ignorar cualquier alias en vi ejecutando command vio en \vilugar de solo vi.

nagul
fuente
3

Algunos discos usan el modo vim: s old school donde se comporta como vi.

compruebe si su .vimrc contiene

set nocompatible

He sido engañado por esto un par de veces ...

Johan
fuente
1

En los sistemas Debian, cuando ejecuta el vim-tiny predeterminado como 'vi', se utiliza un archivo RC diferente: /etc/vim/vimrc.tiny.

Para hacer que 'vi' actúe más como 'vim', edite /etc/vim/vimrc.tiny y cambie la línea:

set compatible

leer:

set nocompatible

fuente
0

Lo hice como que en .profileel usando :

if [ -f "/usr/bin/vim" ];
 alias vi="vim"
else
 alias vim="vi"
fi

export EDITOR=vim

Entonces, siempre está allí correctamente o como .


fuente
0

Si usa pescado , ponga la siguiente línea en ~/.config/fish/config.fish:

alias vi="vim"
Zhang Buzz
fuente