Mejor GUI para vim?

15

Disfruto usando vim, sus funciones infinitas y la forma en que hace las cosas (en su mayor parte). Lo he estado usando de vez en cuando (no como mi editor principal) durante al menos 7 años, así que aunque estoy lejos de ser un experto, generalmente conozco mi camino.

Ahora, aunque me encanta en la línea de comandos, realmente me gustaría que fuera mi editor principal en las GUI de Windows y Linux. Pero ... gvim ... es horrible . Rompe tantas "reglas" de usabilidad en Windows que ni siquiera vale la pena luchar con él. Ni siquiera Cream , con sus cambios y su elegante .vimrc, salva el día.

Entonces, mi pregunta es: ¿existe una GUI vim moderna para Windows y Linux que la haga parecer y comportarse como la mayoría de los editores de GUI? Tener Sublime Text, Kate, TextMate o la GUI de Editra con las características de vim sería increíble. Soy consciente de los cuatro (así como muchos otros editores) tienen plugins que tipo de marcas que se comportan como vim, pero es en ninguna parte cerca (al menos para Editra y sublime texto, no seguro para los demás) el verdadero vim.

Vim siendo de código abierto, realmente no estoy seguro de por qué todavía no ha habido una revisión completa de la GUI. ¿La gente no usa gvim?

imiric
fuente
15
Personalmente, uso gVim en Windows precisamente porque se comporta de la misma manera que la consola / terminal vimen Unixes.
user1686
1
Sería útil conocer algunos detalles de las reglas de usabilidad con las que encuentra que gVim es particularmente culpable.
RedGrittyBrick
2
OK, aquí hay uno: seleccionar texto en modo visual y desplazarse en realidad modifica la selección. Entiendo que esto sucede porque el cursor siempre debe permanecer visible, y ayuda a usar el comando 'o' mientras está en modo visual, pero esto es muy contrario a las aplicaciones GUI estándar. Veo que muchas personas usan gVim solo porque se comporta como Vim, pero ¿por qué no usar la consola Vim? Configurar un entorno Linux en Windows y / o usar una buena terminal como mintty es muy fácil de hacer.
Imiric
2
En lugar de "configurar un entorno Linux en Windows", ¿por qué no usar gVim? No se necesita configuración.
user1686
Aquí hay otra discusión interesante acerca de tener una GUI moderna para Vim: groups.google.com/group/vim_use/browse_thread/thread/…
imiric

Respuestas:

12

vim está diseñado para usar el teclado de manera eficiente, no para usar el mouse. por lo tanto, su queja sobre una mala "gui" me parece un poco incómoda. si no te gusta vim o si no quieres aprender cómo se hacen las cosas en vim, está bien. pero luego debe usar otro editor porque vim simplemente no cumple con sus requisitos.

por lo tanto, dudo que haya una versión gui de vim que coincida con sus expectativas de cómo debería ser o debería comportarse un editor "gráfico" decente.

akira
fuente
3
o simplemente aprender 100% vim y hacerse con el editor de problemas hasta el final del tiempo :)
Akira
3
Hay / hay / razones para usar gVim en lugar de Vim en solo una consola. Dos ejemplos: 1) Hay meta combinaciones que Vim no puede ver, excepto en la GUI, debido a limitaciones en emuladores de terminal y bibliotecas de manejo de terminal. 2) Soporte de color significativamente más extenso. Aparte de eso, creo que es sumamente injusto esperar que Vim se comporte de repente como cualquier otra aplicación GUI solo porque tiene una GUI. Vim probablemente siempre tendrá que violar las "reglas" de usabilidad, o ya no sería Vim. Si eso no es lo que quieres, debo reiterar a los demás: busca un editor diferente.
Heptita
55
@imric: Cuando digo que "ya no sería Vim", en realidad quiero decir que ya no puede ser Vim y "conformarse" en modo GUI. Vim es un clon vi mejorado, y vi existió literalmente antes de que existieran las GUI. Tiene una interfaz de usuario muy única, y sí, eso entra en conflicto con las pautas actuales de usabilidad de la GUI. Para obtener (todo) lo que desea, está solicitando un editor que realmente, realmente, no se comporte de la manera en que vi / Vim está destinado a funcionar. Una regla que Bram Moolenar (el creador y propietario de los derechos de autor de Vim) tiene para Vim es, en la medida de lo posible, la consola y la GUI Vim deberían comportarse de manera similar.
Heptita
3
@imric: ¿por qué quieres usar vim si no es por su interfaz de usuario "arrogante e injusta"? Quiero decir, es vim ... lo usas porque hace el trabajo como lo hace, lo mismo para emacs. como ya dije: si la herramienta entra en conflicto con lo que quieres: usa una herramienta diferente.
akira
2
Personalmente, mi GVim está configurado para parecerse exactamente a mi Vim, por lo que no tengo menús, barras de desplazamiento, las mismas fuentes / colores ... La única razón por la que a veces uso GVim en lugar de Vim es cuando estoy usando el mouse y la rueda para ir libremente a través de algunos archivos (cuando estoy tomando un café o una cerveza, por ejemplo). No sucede mucho, pero aún así, a veces. No puedo imaginar por qué uno querría un Vim que no se comportara como Vim. Es mejor usar otro editor que haya sido diseñado con GUI en mente.
cedbeu
7

Estoy de acuerdo con las respuestas y comentarios de Akira.

La única GUI amigable de convenciones para Vim es MacVim que, obviamente, es una aplicación solo para Mac.

No estoy seguro de que sea "lo mejor de ambos mundos", pero la última versión beta de Sublime Text 2 tiene un modo "vintage" muy impresionante que cubre muchas características útiles de Vim (movimientos, objetos de texto) y asigna otras cosas ( /o ?por ejemplo) a sus características nativas. Encuentro su diseño general un poco irritante, así que no me veo cambiando pronto, pero, una vez más, el modo vintage es impresionante.

romainl
fuente
1
Correcto, MacVim parece tener una GUI de Vim mucho mejor. Pero por lo que entiendo, requirió bastante trabajo para que se viera sin problemas en OS X, y gVim es una monstruosidad de décadas que prácticamente no recibe actualizaciones. He intentado el modo Vim de Sublime Text, y aunque implementa muchos de los comandos de movimiento e inserción, todavía se queda corto.
Imiric
En MacOS X, las interfaces de usuario buenas y coherentes son de suma importancia, mientras que a nadie le importa eso en Linux y Windows. Es por eso que le importaba a las personas detrás de MacVim y que pasaron por el trabajo duro que requería. Pero la tarea probablemente no fue tan complicada debido a las pautas establecidas / tradiciones / usos y cómo se aplican a través de las herramientas de desarrollo oficiales. En esta escritorio de Linux, mis aplicaciones tienen al menos 2 maneras de nombrar el menú principal ( "Archivo" o alguna palabra relacionada con la función de la aplicación) y al menos 4 atajos para "Salir" / "Cerrar ventana" ( <C-q>, <S-C-q>, <C-w>, :q...) . Lo sé ...
romainl
... de primera mano es muy similar en Windows. Creo que es difícil encontrar una experiencia pulida Y bien integrada en un entorno tan desordenado sin algún tipo de incentivo monetario o liderazgo autoritario. OK, perdón por la diatriba, de vuelta al horario regular.
romainl
2

Puede obtener un complemento para un IDE que le da combinaciones de teclas VIM. P.EJ

Aquí hay un IDE web muy bueno para desarrolladores web, que incluye git, que tiene incorporado el modo de combinación de teclas VIM:

De lo contrario, hago mi desarrollo en una Mac, y soy un gran fanático de MacVim, y estoy de acuerdo en que gVim es súper feo en * nix, y me avergüenzo cada vez que tengo que ejecutar vim en un shell ssh en el servidor.

En cuanto a VIM, como editores que no son un IDE separado, otra aplicación GUI (solo Mac, lo siento) es:

Thomas Hunter
fuente
Gracias por sus sugerencias, pero decidí seguir con la consola de Vim para todas mis necesidades de desarrollo, en lugar de luchar con gVim. Ya tengo mi shell abierto todo el tiempo, solo tengo otra ventana tmux que ejecuta Vim, y hace que el cambio entre editor a shell y viceversa sea muy rápido y conveniente. Además, no hay reglas de usabilidad que se rompan en la consola. :-) Estoy pensando en cambiarme a Mac pronto, y lo probaré en MacVim.
imiric
2

Puede usar VisualStudio Code y tiene varios complementos que agregan muchas de las funcionalidades de Vim junto con muchas ventajas. Es un editor muy bueno, además de ser abierto y gratuito, y tiene sabores de Windows, MacOs y Linux.

Marco Santana
fuente
1
Si eres un fanático de Vim de núcleo duro, es probable que no encuentres ninguno de los complementos de VS Code Vim satisfactorios.
1

Si usa la tecnología de acceso como un lector de pantalla y desea poder de vim, puede probar mi proyecto: https://code.google.com/p/phonim/ usa la secuencia de comandos JAWS y la interfaz gVim OLE. Aunque funciona, deja mucho que desear, pero incluso este acceso limitado al poder de vim vale la pena.

Para mejorar la situación de gVim, todo lo que se requiere es que alguien con los conocimientos adecuados dote el backend vim con una interfaz de usuario de interfaz de usuario moderna con un componente de editor que tenga la compatibilidad UIAutomation y MSAA adecuada.

Kerneels Roos
fuente
No hay problema, he editado. Sí, un poco alocado, pero ya ves, me encanta vim y realmente me gustaría que más personas se beneficien de ello :-).
Kerneels Roos
1

Vim está destinado a ser utilizado sin GUI. Pero si le preocupa la barra de menú y la barra de herramientas en gvim, eso parece fuera de lugar. Puedes deshabilitarlo solo inserta

"Remove Menubar and Toolbar
set guioptions -=m 
set guioptions -=T

en tu vimrc entonces se habrá ido. en la bonificación si usa ventanas inferiores a 10, su gvim cambió de tamaño mejor (que el cmd predeterminado de Windows) y tiene un mejor soporte de esquema de color y se ve bien.

usuario93
fuente
1

Quizás algo como Oni es lo que estás buscando. No lo he usado personalmente, pero está basado en neovim , por lo que no deberías obtener un conjunto de características a medio cocer.

vimist
fuente