2009-06-19 14 views
31

A pesar de ser un usuario de Vim, estoy interesado en comenzar a aprender Emacs. Sin embargo, cada vez que empiezo a seguir el tutorial de Emacs, termino golpeando comandos Vim por accidente y me frustré con él.¿La mejor manera de cambiar de Vim a Emacs?

¿Hay alguna forma mejor de hacer el cambio?

+59

acaba de poner: alias emacs = 'vim' en su .bashrc;) – claf

+5

@claferri: De hecho, puse alias vim = emacs en la mía por un tiempo, para alentarme a hacer el cambio. :) – lindes

Respuesta

35

Recomendaría simplemente sobrevivir a los accidentes hasta que disminuya su frecuencia. Sospecho que agregar una capa para tratar de "ayudar", como una que intente inferir comandos vi accidentales y realizarlos, simplemente haría la transición más lenta.

Hago lo mismo al hacer la transición entre, por ejemplo, los sistemas de control de versiones. En lugar de crear un contenedor de shell-script que me permita seguir utilizando los sub-comandos incorrectos al traducirlos a los nuevos modismos del VCS, realmente me vería forzado a "hablar el nuevo lenguaje del sistema".

Recuerda: eres humano; estás construido, adáptate a situaciones nuevas. Solo mantén tu ingenio sobre ti, deja que los errores sean errores, y lo harás bien.

6

La duración y la intensidad del debate entre Vim y Emacs sugiere con bastante fuerza que ambos editores son aproximadamente iguales en su utilidad. Si ya sabes vi, también puedes seguir con eso.

+6

Si está considerando el cambio, no lo sabe lo suficientemente bien :-) Verdaderos vimmers nunca cambian, ... lo mismo para maccers. – Rook

+0

@ldigas si usa una Mac, la mayoría de los comandos de emacs están integrados en cuadros de texto (es decir, C-k, C-y, C-a, C-e, saltos de palabras con opción, etc.). Esta es una buena razón para cambiar ... ¡ya sabes la mayoría de las cosas! Eso, o escribe en Lisp (baba) o usa R (ESS). – Vince

11

¿Has probado el viper-mode de Emacs?

+2

Uso, [** Evil **] (http://www.emacswiki.org/emacs/Evil) el sucesor de vimpulse y víbora, y es casi perfecto. [Ver aquí para una breve comparación] (http://stackoverflow.com/questions/14291260/difference-between-viper-vimpulse-and-evil-for-emacs) –

3

No tengo ninguna experiencia con esto (yo uso Vim) pero Vimpulse es una secuencia de comandos de Emacs para emular Vim (como se apuntó a Viper-mode que emula vi). Eso probablemente haría la transición más fácil.

3

Creo que depende de su motivación para aprender Emacs.

Si solo tiene un interés casual en aprender Emacs, viper-mode es probablemente el camino a seguir, ya que puede no valer la pena y la frustración de tener que volver a entrenar su memoria muscular. Aún puede tener acceso a todas las excelentes funciones de Emacs, pero personalice su experiencia según el nivel de víbora que elija.

Si desea aprender porque quiere tener un editor completamente personalizable, entonces elegiría una tarea que crea que podría ser divertida y usaría para motivar el uso de Emacs. Este tipo de experiencia sería completamente única para ti. En ese caso, recomendaría ir a Turquía y esperar un par de días de dolor y frustración.

24

Práctica de práctica. Como probablemente sabrá al aprender Vim, la fluidez de Vim y Emacs viene solo con toneladas de práctica hasta que los comandos se conviertan en una segunda naturaleza. Soy un Vimmer desde hace mucho tiempo y aprender Emacs fue extremadamente doloroso y demoró meses, pero hoy en día me sale bien en ambos. Vale la pena aprender ambos porque Emacs es mejor que Vim para editar ciertos lenguajes y realizar ciertas tareas, y viceversa; es bueno tener la opción de usar cualquiera. Después de un tiempo, empiezas a compartimentar mentalmente a los dos y es probable que no tengas mucha dificultad (aunque todavía ocasionalmente :wq Emacs y C-/ Vim, esto no suele ser un problema).

  • Lea atentamente la documentación de Emacs. Gran parte de la terminología y la funcionalidad de Vim y Emacs son similares, pero lo suficientemente diferentes como para que todo sea confuso. El tutorial es un buen comienzo, pero el Emacs manual es un tesoro de mejores prácticas y consejos de configuración.

  • El Emacs wiki es tu amigo. Cuando se encuentra con una característica de Emacs que no puede aceptar, generalmente hay una forma de resolver el problema.

  • C-h a es también tu amigo. Al igual que :h es indispensable en Vim, el sistema de ayuda de Emacs es una gran ayuda para navegar por el enorme conjunto de comandos integrados de Emacs. Hay muchas maneras de buscar en la documentación para encontrar lo que desea; this page tiene un buen resumen.

  • No use viper o vimpulse, al menos no al principio. Emacs nunca será tan bueno como Vim como Vim. Sumérgete en Emacs hasta que te acostumbres. La forma de hacer las cosas de Emacs es muy diferente, pero tiene fortalezas (y debilidades) propias en comparación con el conjunto de combinaciones de teclas de Vim. Aprenda ambos para que pueda ver esas fortalezas y debilidades y tomar una decisión informada. Hoy en día he tomado prestados varios atajos de Emacs y los he mapeado en Vim, y viceversa.

  • Tómelo lentamente. Cuando (no si) Emacs comienza a hacerte espuma en la boca de rabia, tómate un descanso, súbete a Vim y vuelve más tarde. Va a tomar un tiempo.

Tenga en cuenta que no necesita "cambiar". No vas a olvidar a Vim y reemplazarlo en tu cerebro con Emacs. Si conoce a Vim y aprende Emacs, entonces sabrá ambos. Ésto es una cosa buena.

3

Como compañero converso, y antiguo usuario de vim, recomiendo víper-modo. No es perfecto, pero le dará la mayoría de las combinaciones de teclas vi/vim. Aprenderá los pocos comandos a los que está acostumbrado en vim (IME, principalmente los que comienzan con 'g') sin demasiada dificultad.

En general, realmente creo que esta es la mejor manera de usar Emacs. Las combinaciones de teclas vi son realmente eficientes, y creo que para muchas de las cosas que hago en un editor de texto (comandos de movimiento simples, comandos simples que implican mover, eliminar, cambiar, buscar, etc.) el modelo vi es mucho más racionalizado y eficiente en comparación con Emacs. Puedo entender totalmente por qué alguien que no está familiarizado con Emacs no quiere usar el modo víbora, pero como alguien que viene de vim, realmente tiene la oportunidad de obtener lo mejor de ambos mundos.

En general: acostúmbrese al hecho de que el modo víbora no es perfecto, aprenda cómo hacer las cosas que le faltan al estilo Emacs, y asegúrese de explorar las fantásticas funciones que tiene Emacs. está disponible en vim.

En cuanto a usar vimpulse, lo probé cuando lo cambié por primera vez, y realmente no lo recomendaría. Como es un modo importante, te perderás un montón (¿la mayoría?) De las partes buenas de Emacs; y todavía no es 100% fiel a vim de todos modos. Es mucho mejor tomar el modo Viper por lo que es, y seguir adelante.

Cuestiones relacionadas