2009-07-02 14 views
29

Me he estado sintiendo cada vez más cómodo usando vi a diario, pero una cosa que me molesta es que cuando lo uso en Ubuntu se comporta de manera diferente que cuando lo uso en CentOS (y probablemente en otros lugares). De hecho, prefiero la forma en que funciona en CentOS.¿Por qué vi se comporta de manera diferente en Ubuntu que en CentOS?

Aquí hay tres cosas que son realmente me molesta en Ubuntu:

  1. En el modo de inserción CentOS hay una gran aviso en negrita en la parte inferior que estoy en modalidad INSERT, pero en Ubuntu no hay aviso así que nunca puedo decir en qué modo estoy.

  2. En el modo de inserción CentOS puedo presionar las teclas arriba/abajo y el cursor se moverá hacia arriba y hacia abajo. Pero cuando estoy en Ubuntu presionando arriba y abajo, inserto las letras A y B, respectivamente, en las líneas nuevas.

  3. En el modo de inserción de CentOS puedo usar la tecla de retroceso y eliminará el carácter que está antes del cursor, pero en Ubuntu solo escucho un pitido y no pasa nada. Puedo presionar la tecla Eliminar en el modo de comando, pero prefiero poder presionar la tecla de retroceso.

¿Son estas diferencias algo con lo que tengo que vivir o es una solución fácil?

Respuesta

36

En ubuntu, la instalación predeterminada de vim proviene del paquete vim-tiny, que no es todo.

es probable que desee:

apt-get install vim 

o

apt-get install vim-full 

Algunos de sus otros problemas suena como problemas con la tecla de retroceso y otras cosas. Una vez que obtenga la versión completa de vim, trate de añadir de inmediato a su .vimrc:

set nocompatible 

set t_kb=^H 
fixdel 

(NOTA IMPORTANTE:^H que es un carácter Ctrl-H literal, que obtendrá al hacer Ctrl-V Ctrl -H en modo insertar)

+1

Gracias! ¡Instalé vim-full y eso solucionó los tres problemas! –

0

(1) Compruebe si la configuración de showmode es diferente en ambos.

(2) No sé nada de esto, creo que esto tiene más que ver con el terminal que Vi.

(3) Tal vez intente usar :map <BS> :normal d?

1

Supongo que quiere decir VIM cuando dice VI? Y al menos, el segundo punto parece ser un problema de consola/terminal con el combo VIM/término. La página siguiente sugiere algunos arreglos, pero ninguno que pudiera hacer el trabajo (yo uso vim sobre la masilla a una caja dev Ubuntu)

http://vim.wikia.com/wiki/Fix_broken_arrow_key_navigation_in_insert_mode

tercero punto se puede sobrescribir mediante el uso de lo siguiente en su .vimrc

set backspace = indent, eol, start

0

En CentOS, vi es un alias para un programa diferente, vim, pero en las versiones recientes de Ubuntu, vi significa simplemente vi, no vim.La diferencia se ve si la diferencia entre dos programas diferentes, vi y vim.

Si te gusta vim, solo ejecuta vim, no vi. Esto funciona en Ubuntu también

4

Además de instalar vim-completo, si usted no tiene ya hava un ~/.vimrc:

$ cp /usr/share/vim/vimcurrent/vimrc_example.vim ~/.vimrc 

Este ejemplo .vimrc ya hace los ajustes más importantes y es un buen punto de partida para la personalización.

6

Las respuestas anteriormente ofrecidas no me funcionaron.

Tiendo a preferir dejar las instalaciones de SO como stock como sea posible y mantener los archivos de configuración lo más simple posible. Con el fin de solucionar estos tres temas en Ubuntu 12.04, hice lo siguiente:

en "~/.vimrc", insertar las líneas -
conjunto NOCP
conjunto B = 2

0

Ajuste esto en mi .vimrc trabajó para mí ..

set term=builtin_ansi 
1

personalmente me gusta vim diminuta y sus controles - mucho más cerca de la VI real. En algunas distribuciones SÓLO recibe 'vim' - vim-tiny no disponible. En estas he encontrado soluciones similares - a las básicas son - robar vim-tiny de otra distro o compilar el real vi (código aún disponible).

Algunos de mis problemas con vim son su coloración, la mayoría de los cuales se pueden apagar pero no todos. El gran problema no es reportar el número de línea en Ctrl-G para mí, esto hace que vim completo no se pueda usar. No he encontrado una manera de evitarlo.

Casi todos los problemas de vim/vi podrían resolverse si ambas versiones pueden estar disponibles con una instalación de vim. Si solo vim-tiny está instalado, siempre se puede instalar hasta la versión completa; sin embargo, por algún motivo desconocido si está instalado el vim completo (versiones de Slackware), el vim-tiny no está disponible en absoluto.

El 'vim' completo debe tener un simple interruptor para colocarlo en 'vim-tiny', el interruptor de compatibilidad vi NO lo hace. Esta actitud de los desarrolladores de vim ha persistido durante años, su objetivo es efectivamente un concepto de "cuota de mercado", es decir, tomar el control y dirigir las opciones de los usuarios. No estoy impresionado.

0

Tengo WDMyCLoud con Debian 7 en el interior, im utilizando como:

cp /usr/share/vim/vimcurrent/debian.vim ~/.vimrc

Cuestiones relacionadas