2010-08-19 16 views
14

He comenzado a hacer algo de programación usando VIM.
Tengo muy sentimientos encontrados hasta el momento. Por un lado, me encanta la idea, por el otro, es difícil recordar todo.¿Cómo no renunciar a VIM?

Así que tomé el enfoque de aprendiendo mientras realmente hacía algunas cosas (para el desarrollo de Ruby on rails).
Desafortunadamente, no hay posibilidad en el infierno para mí ser más productivos como en otros " convencional" editor de texto por ahora. Y parece que tomará bastante tiempo acostumbrarse a VIM.

me di cuenta, que menudo no uso navegación VIM/búsqueda & reemplazar habilidades, sino que simplemente muevo como lo haría en otros editores.

Estoy tratando duro empujando a mí mismo no abrir nada en otros editores, excepto VIM para que pueda aprenderlo .

Pero, sinceramente, ayer abandoné e hice mis últimos 20 minutos de codificación en GEdit.

ACTUALIZACIÓN: Quiero decir por qué di, solo porque terminaría lo que necesito más rápido (era muy tarde y no era el mejor momento para aprender VIM). Y de hecho, disfruté usando VIM. Pero siempre tuve la sensación de "there must a better way of doing this" y pasé mucho tiempo buscando ese camino.

Así que mi pregunta será: ¿cómo puedo aprender y comenzar a usar VIM de forma más productiva día a día, siempre que quiera hacer una codificación real al aprender?

Gracias,
Dmitriy.

+2

Acepta Vim o déjalo ir. –

+23

Y vaya fácil en ** audaz ** mientras lo hace. :-) –

+3

Vea también http://stackoverflow.com/questions/74625/what-is-the-best-way-to-force-yourself-to-master-vi –

Respuesta

23

Tenga en cuenta lo siguiente. Si bien existen límites físicos a la velocidad de tus dedos, parece que hay pocos límites en el procesamiento que tu cerebro puede realizar. Por lo tanto, el tiempo que inviertas en aprender los comandos y atajos de edición de teclado de vi (m) se pagará generosamente con el tiempo ya que la velocidad con la que editas mejora rompiendo los límites de velocidad física con los que te enfrentas al usar un editor tradicional. Por ejemplo, para eliminar las siguientes cinco palabras en vi (m), escriba 5dw y para insertar 50 * caracteres escriba 50i* ESC.

Puede comenzar a usar vi (m) después de aprender muy pocos comandos: movimiento básico, insertar, cambiar, eliminar, abrir una nueva línea y guardar un documento. Al unir estos comandos, se producen combinaciones potentes. A medida que los domines, estarás buscando más.

Imprima una hoja de referencia vi (como this o this o this more extensive list), y manténgala cerca de usted en todo momento.

+1

Gracias. Siempre debo tener en cuenta que "el tiempo que inviertas en aprender vi (m) ... se pagará generosamente con el tiempo". ¡Y gracias por los enlaces! –

5

¿Por qué? Usa el editor que más te convenga y te haga más productivo. Utilizo vi para editar archivos de configuración, porque suele ser la forma más rápida de editar algunas líneas y luego salir. Para una programación seria, es TextMate (ruby), Emacs (python o ruby ​​en plataformas sin TextMate) o Xcode (objetivo-c).

+3

No vayas allí. Por favor. Vim vs. Emacs es demasiado provocativo. –

+7

Él tiene un punto sin embargo. Si no te acostumbras a algo después de luchar por un tiempo, ¿por qué paralizar tu productividad? Usa las herramientas con las que te sientas cómodo. No creo que esta respuesta haya sido creada como el comienzo de una guerra de llama de Vim/Emacs. – musiKk

+2

@the_drow No iré allí, estoy diciendo usar cualquiera o ambos, para el propósito que les parezca mejor. Usted mencionó la controversia. –

2

He oído muy buenas cosas sobre SwaroopCH's Byte Of Vim book. Todavía no he podido leerlo, pero su libro Byte Of Python es definitivamente excelente.

+0

Utilizo el libro de editores Learning Viny Vim, que es bastante bueno. Pero el mejor impulso que obtuve es de PeepCode Smash Into vim. –

6

empezar a utilizarlo cuando tiene sentido: ediciones rápidas en los ficheros de configuración, los mensajes de confirmación, actualizaciones README, etc ...

La velocidad de arranque puede ser vencido difícil.

Cuando se familiarice con los conceptos básicos, explore el archivo de ayuda si cree que "debe haber algo allí para la tarea que tengo que hacer ahora". ...

construir el conocimiento poco a poco, paso a paso .... ...

Hasta que llegase el momento en que hace un montón de introducir las modificaciones en VIM o encuentra que su cadena de herramientas está bien integrado con Vim.

utilizo personalmente lo que funciona mejor, IntelliJ para Java, Emacs para clojure, Vim para Perl y scripts de rubí, ...

+0

y luego úselo para todo. Y luego se da cuenta de que acaba de poner una serie de 'j' en su documento de Microsoft Word porque está tratando de ir por una línea;) – espais

+0

Me ve: 'debe haber algo allí para la tarea que necesito hacer ahora' . Así es exactamente como me siento. Mientras codificaba, lo pensé la mayor parte del tiempo y, de hecho, el libro de navegación y la búsqueda en Internet me proporcionaron buenas respuestas. Por lo tanto, el momento para la edición real en este momento es enorme porque a menudo intento descubrir cómo hacer algo mejor. Espero aprender más y más con el tiempo. –

+0

Creo que el complemento VimClojure es bastante dulce, pero entonces no conozco emacs. – intuited

4

Estoy tratando duro empujando a mí mismo de no abrir nada en otros editores, excepto VIM para que yo pueda aprenderlo Pero, sinceramente, ayer renuncié e hice mis últimos 20 minutos de codificación en GEdit.

El desarrollador debe sentirse cómodo con el entorno con el que trabaja. Es por eso que hay muchos editores desarrollados por los desarrolladores para los desarrolladores.

Mientras el editor haga lo que quiera, como quiera, todo está bien: el editor es solo un medio para hacer el trabajo.

Así que mi pregunta será: ¿cómo puedo aprender y comenzar a usar VIM de forma más productiva día a día, siempre que quiera hacer una codificación real al aprender?

Para el VIM, desafortunadamente, mi recomendación sería pasar varios días sin hacer ningún trabajo real, sino simplemente aprender. Me llevó aproximadamente dos días conocer las funciones básicas requeridas para la edición eficiente. Sabía que el editor desempeñaría un papel importante en mi trabajo diario y es por eso que he invertido cerca de la semana de mi tiempo libre para aprender tanto VIM como Emacs.

Mi excompañero también guardó a VIM cheat sheet como fondo de escritorio. Ayudó al principio.

+0

PeepCode's Smash Into VIM me ayudó a comenzar bastante rápido. Ahora sigo el libro Learning VI y VIM cerca de mí. Pero no estoy seguro si puedo aprender VIM correctamente sin hacer una codificación real. –

+0

Los libros IMO no ayudan a comenzar con vi/VIM. Uno tiene que aprender lo básico: moverse, seleccionar/copiar/pegar, buscar/reemplazar. Hasta que se cubrieron los conceptos básicos, he usado [nano] (http://www.nano-editor.org/). En mi caso, la adopción de VIM también fue ayudado por mi conocimiento de shell y el hecho de que soy mecanógrafo táctil. El sistema de ayuda (': h') también es excelente y [Vim Wiki] (http://vim.wikia.com/wiki/Vim_Tips_Wiki) es muy útil. Pero si no le gusta VIM después de algunas semanas de intentarlo, no se fuerce y use lo que quiera más. – Dummy00001

0

vim toma mucho tiempo para acostumbrarse y ser realmente productivo con así es como yo lo veo: supongamos que su índice de productividad es en cualquier lugar entre el 1 y el 10 cuando empiece a usar otro editor, su productividad index es como 6, y puede ir hasta 8. cuando empiezas a usar vim, tu productividad es como 2, pero puedes llegar hasta 10, simplemente lleva tiempo.

7

Uso Gvim (el modo GUI). Si olvidó la secuencia de teclas para alguna acción, puede invocarla a través de la GUI. Para la mayoría de las acciones también puede ver las claves necesarias, de modo que Gvim también puede servir como referencia rápida para Vim.

Por supuesto, un editor de texto diferente no lo hará mágicamente más productivo. Pero si te gusta usar atajos de teclado en los editores convencionales, te gustará Vim porque puedes activar acciones bastante potentes con unas pocas teclas.

Personalmente no me gusta Vim, prefiero los editores convencionales. Pero Vim tiene colorante de sintaxis REST, y lo encontré perfectamente utilizable después de aproximadamente una semana.

+2

+1 para GVim. Uso GVim con bastante frecuencia cuando trabajo con archivos locales y me permite realizar muchas acciones similares a las de otros editores (por ejemplo, cortar/copiar y pegar), lo que ayuda al principio. – dbemerlin

+0

+1 para menús que proporcionan descubrimiento/recordatorio para atajos de teclado. –

5

estoy más estática chico lenguajes de tipos y aquí está mi historia:

Para mí fue todo sobre VIM hjkl movimiento en modo normal + Modo intert. Lo encontré tan eficiente que quería tenerlo todo el tiempo, en todas partes.

Entonces empecé a leer Cheatsheets de vez en cuando y recogiendo los mejores gestos para recordar (de alguna manera ordenada desde lo más comúnmente útil para los menos útiles): b, w, x, gj, gk, gg, G, número g, *, #, %, f/t/F/T, /, >>, <<, =, v entonces Mark con j/k, <</=/>>.

Luego comencé a escribir Makefiles en todo y configuré Vim para impretet. Entonces hago :mak y estoy justo en la línea donde se encontró el error.

Luego se produjo el autocompletado (enlazado al TAB).

Luego verificación de idioma natural z=.

Luego he escrito una envoltura para cambiar buffers. Abriéndolos con :e filename.c y luego haciendo Ctrl + l, Ctrl + h.

tengo mi config a disposición del público en el archivo git aquí: http://github.com/dpc/vim-config

2

aprender a su ritmo. Creo que debería empezar a dominar los fundamentos:

  • modos: comando, normales y visuales
  • los comandos: pasta, tirón, borrar.

A continuación, puede mejorar estos conocimientos:

  • aprender algunos comandos útiles en modo de comando (amortiguadores de lista, de sustitución)
  • aprender a moverse más rápido (inicio/final de la/línea/archivo de Word)
  • buscar/sustituir un patrón
  • Mira config vim de las personas y personalizar el suyo

Al hacer esto, siempre mantenga una chequera vim cerca de usted. Los comandos básicos son fáciles de recordar (d para eliminar, p para pegar, y para yank, i para insertar, a para anexar, ...).

Aprende progresivamente y sigue siendo simple.

+0

Tengo el PeepCode's Smash en la serie Vim y el uso de su configuración (ligeramente modificado). Aprender a mi ritmo es una buena sugerencia. Gracias. –

1

¿Qué tal libros?

Estos seres son excelentes:

  1. Learning the vi and Vim Editors

  2. VI Editor Pocket Reference

Y después de todo, así que lo que - por lo que no trabajo con vim. ¿Cuál es el gran valor agregado para vim, que vale la pena la dificultad de aprenderlo?

+0

Estoy trabajando con el primero. Para mí no se trata del gran valor agregado (aunque es muy importante), sino de saber algo diferente de lo que convencionalmente se acepta. De manera similar, estoy aprendiendo Ruby (lenguaje dinámico) después de C#. –

1

Aquí hay algunos consejos nuevos de Yehuda Katz, un miembro central del equipo Ruby on Rails que recientemente se cambió a Vim: intente usarlo exactamente igual que haría con cualquier otro editor al principio para que pueda seguir siendo productivo. Quizás esto signifique continuar usando las teclas de flecha o el mouse * gasp * al principio. No trates de aprender todas las formas de Vim a la vez. Más bien, déjalos venir lenta y naturalmente.

El artículo completo es una gran lectura:

Everyone Who Tried to Convince Me to use Vim was Wrong

Además, trate de usar combinaciones de teclas vi en otras aplicaciones. Si su shell admite el movimiento vi, úselo. Para la navegación web, pruebe el fenomenal Vimperator Firefox plugin.

+0

Cómo diablos podría perder su artículo ... Gracias por el buen consejo. Actualmente uso mucho Visual Studio, así que supongo que también puedo probar VIM. Cuando navego en el VIM "lo convencional" siempre me parece sucio. Probablemente por ahora solo tengo que repasarlo. Con suerte, más adelante no se convertirá en un habito. –

+0

http://stackoverflow.com/questions/7579213/is-there-an-interactive-way-to-learn-vim – SergioAraujo

0

Así es como aprendí cuando me cambié de Windows a Linux:

1) Imprimí el vim quick reference card (pdf) y se mantuvo al lado de mi teclado en todo momento.

2) Empecé con gvim y usé el modo fácil (gvim -y o evim). Esto hace que vim se comporte como un editor normal: siempre está en modo de inserción, y las teclas están mapeadas para funcionar como un editor normal CUA (por ejemplo, CTRL-X/C/V para cortar/copiar/pegar). Todavía puede acceder a toda la funcionalidad vim con CTRL-o para ingresar un solo comando Vim, luego volverá al modo insertar.

Después de un tiempo me cansé de usar CTRL-o o los menús todo el tiempo, y cambié al modo Vim apropiado. No he mirado hacia atrás desde entonces y ahora uso Vim para todo, incluso en Windows. Incluso uso Vimperator en FireFox.

También vale la pena echar un vistazo a Cream - esto es como el modo fácil de vim en esteroides.

Si te sientes cómodo usando evim o crema, entonces no hay ninguna razón por la que tengas que cambiar completamente al modo vim normal, lo que digan los puristas. Deberías tratar de convertirte en un maestro de tus herramientas, no un esclavo de ellas.

1

Quizás algunos Huevos de Pascua te ayuden a empezar con el pie derecho. Intenta lo siguiente y disfrutar del maravilloso mundo de la tradición de código abierto y el legado de la estupidez contenida :)

  • : ayudar a 42
  • : ayudar a santo grial
  • : ayudar!
  • : Ayuda Mapa-modos (ver comentario abajo sobre la mesa: nunmap)
  • : ayudar a UserGettingBored
  • : ayudar a la cuchara
  • : ayuda Showmatch (lea la nota)
  • : Ni!

(saber más: visite vim.org)

3

una persona que quiere aprender Vim deben consultar el sitio web Open Vim. Es un recurso fantástico para cualquier recién llegado a Vim. Tiene un tutorial interactivo y varios modos de espacio aislado para jugar con el editor. ¡Que te diviertas!

Cuestiones relacionadas