edición general
75 meneos
2033 clics
Este envío tiene varios votos negativos. Asegúrate antes de menear

Historia y uso efectivo de Vim [ENG]  

Este artículo se basa en investigaciones históricas y en simplemente la lectura del manual del usuario de Vim de principio a fin. Esperemos que estas notas le ayuden a (re)descubrir la funcionalidad principal de este editor y así poder abandonar los archivos vimrc preempaquetados y usar los complementos de manera más reflexiva.

| etiquetas: vim , historia , uso efectivo , editor de texto , vi , bram moolenaar
Cómo crear 4 GB de datos aleatorios?

Abre VIM a un novato y dile que lo cierre el solo
#21 mientras un humano siga teniendo un cable del que tirar o una batería que sacar seguimos a salvo del orden mundial de las máquinas. Positivo por recordarme la liada de atajos de teclado que me llevé el primer día que se me ocurrió intentar arreglar con eso una interfaz gráfica hecha trizas con el xorg.conf y sin acceso a internet. Por lo demás dejo el flame ya que estamos xD ¡VIM, mis gónadas! ¡lo bueno es el NANO!
Vim cristal, escribe normal. Vim naranja, escribe fino :shit: Matadme.
#8 Vimmmmmvimmmmmvimvimvim
#8: VIM: Vuilding information modelling. :palm: xD #Chistes_malos
El mejor Vim que he usado es este :troll:  media
#10 Un detalle extra interesante es que most soporta compresión. Si tienes que leer un log ya comprimido con gunzip puedes abrirlo directamente sin nada más. Yo suelo usarlo para leer los changelog de Debian, que suelen instalarse comprimidos en gz.
#11 #24 less también abre comprimidos. Y con F mayúscula hace las funciones de 'tail -f'
Hola, vim es una mierda y solo lo pueden usar personas con autismo leve.
#4 xD
como toca los cojones abrir un archivo con vim las primeras veces y no saber cerrarlo ni que estas haciendo xD

Yo la verdad es que lo uso para leer logs y en sistemas donde no hay otra cosa
#7 Para leer logs lo más adecuado es usar un paginador, que estará instalado por defecto en cualquier *nix. Poder, se puede, pero usar Vim para leer logs kilométricos es bastante incómodo. La mayoría de distros Linux traerán al menos less como paginador. Si tienes suerte o puedes instalarlo, most es un paginador excelente con soporte de scrolling con ratón, resaltado de sintaxis y todo.
#9 es que por ssh para las cosas que tengo que mirar me es bastante cómodo, rápido, y eficaz.
Aunque le echaré un ojo
#10 Lo del ssh es completamente irrelevante en el contexto, tanto da si estás en ssh como si no. Lo normal para ver logs es usar less, most o more.
#26 #23
Si lo del SSH es irrelevante pero bueno es como accedo yo a los servidores.

#22 soy programador pero hago cosillas de sysadmin. Nunca he aprendido a usar bien vim, pero para revisar unas cosas muy concretas viene muy bien mucho mejor que lo que comentáis. Porque yo ando moviéndome como un loco por el log no es que lo use para leer las ultimas líneas o algo así.
Y obviamente hay mil alternativas las habrá mejores las habrá peores.
#28 Yo también accedo a mi servidor dedicado con ssh, pero fíjate en la ayuda de less, (pulsando la tecla h en un documento abierto) que podrás navegar por los logs como quieras, ya que tiene porrón de opciones para ello.
#9
En las distribuciones de GNU, además de less viene zless.

Para conseguir resaltado de sintaxis puedes utilizar pygments. Pygments te servirá para muchas otras cosas, no solo para el less. Otra opción es GNU source-highlight.
Ambos requieren modificar la variable LESSOPEN para usarlos en conjunción con less.
#7 Es para lo único que le veo sentido, para sistemas donde no hay otra cosa, aunque personalmente uso nano, no veo en que me puede ayudar vim para mejorar mi trabajo.
#4 Será por eso que me encanta.
Lo mejor de vim es ver la frustración de alguien que no sabe usarlo liándola parda al meter comandos cuando intenta escribir, o la confusión absoluta al intentar desplazarse por el texto y hacer cosas tan usualmente simples como copiar y pegar.

El diseño es tremendamente eficiente a la par que increiblemente malvado.

10/10.
#19 Su comando más útil:
:q!
#41 Ese es para vi, para vim es :qa!
#53 mmm, yo .q! lo he usado mil veces en vim :-S Es más, yo ahora recuerdo solo los comandos básicos después de años sin usarlo, y el :qa! no me suena de nada :-S

Y siempre he usado vim. Si en la distro venía instalado por defecto vi, el primer paso que hacia era instalar vim.
#57 eso es que no has usado la edición de varios archivos a la vez. Con el Split horizontal o vertical.
#57 yo uso mucho :q! xD y te confirmo que esta en vim
#15 Es mejor el psicoanalista... m-x doctor 8-D
He intentado forzarme muchas veces a usar solo Vim para programar pero ufff.... Visual Studio Code. Vim esta bien pero si quiero anyadirle todas las cosas que necesito, ni es liviano en memoria ni es muy 2019 friendly. Eso si, en el terminal es king.
#3. Es que VIm no es para verdaderos programadores, usa Emacs y déjate de tonterías... yo ya tengo seis dedos en cada mano :-P
#5: ¿Seis dedos? ¡Como los pandas {0x1f43c} ! ¿Ya dominas el comando para usar mariposas?
#5
No sé a qué te refieres. Con Elisp puedes hacer lo que te dé la gana.
#5 La mejor implementación de vim es evil para emacs. Y si le pones Spacemacs ya no hay editor que le llegue a la suela de los zapatos. Lastima que en Windows no funcione tan bien.
#3 ni es para todos, ni es para todo. Yo reconozco que me gusta mucho, pero también se que si se pretende tener las funcionalidades de un IDE, acaba siendo igual de engorroso que un IDE.

Mi consejo es que lo uses con cuatro o cinco plugins como mucho, y que uses la carencia como una virtud, aprendiendo a no necesitar tanto azúcar visual, y confiar más en tu destreza.

Si sólo quieres que el trabajo salga adelante, VSC es tu mejor amigo.

Yo uso vim como editor de texto polivalente, editor de Python y bash y C, si necesito algo más completo, me voy a VSC (latex), y si tengo que hacer un proyecto un poco más complicado, Eclipse.
#3 Vim está bien para scripts y algún apaño desde consola. Para desarrollo serio uso geany, kate o atom, según surja.
#3 el visual studio code tiene plugins muy buenos para que la edición sea como el vim.
#44 si, eso es lo que uso... los comandos de movimiento que es lo que mas me da productividad.
#3 Para ruby o lo disfruto mucho y eso de que es mas pesado y engorroso, los cojones! github.com/barrerajl/vim-dot-files
Yo uso Vim todos los días y cuando tengo que usar un editor de texto normal acabo con todo lleno de jkkkkkjjjkkii.

Gracias a Vim y tmux ya apenas quito las manos del teclado, lo cuál me hace feliz. Detesto tener que desplazarlas, incluso para simplemente tocar las flechas (en tmux las he sustituido, me parecen un error de diseño).

De hecho, no hace falta saber muchos comandos para que Vim sea útil. Yo sólo uso unos pocos y, aún así, me va muy bien. El comienzo es un poco tortuoso, pero si decides cambiarte, no se tarda más de una tarde en adaptarte lo suficiente como para poder usarlo y no más de dos días en usarlo de forma bastante decente.
#58 Aquí lo tienes: insights.stackoverflow.com/survey/2019#technology-_-most-popular-devel

Visual Studio Code 50.7%
Visual Studio 31.5%
Notepad++ 30.5%
IntelliJ 25.4%
Vim 25.4%
Sublime Text 23.4%
Android Studio 16.9%
Eclipse 14.4%
PyCharm 13.4%
Atom 13.3%
IPython / Jupyter 9.5%
Xcode 9.4%
PHPStorm 7.6%
NetBeans 5.9%
Emacs 4.5%

Hay que tener en cuenta que IntelliJ, Android Studio, PyCharm y PHPStorm son realmente el mismo editor con diferentes plugins incluidos para adaptarse a distintos lenguajes o entornos
#67 Vale, sí que me sonaba el 25%, pero en el comentario no me quería arriesgar a dar un número por si la cagaba mucho. Veo que mi memoria no ha fallado. Gracias por tomarte las molestías de poner el enlace a la encuesta.
#34 A ver, no siempre puedes usar otras alternativas. Estás en un cliente que tiene los paquetes basicos de tal distribución o tal unix o bsd y a veces estás forzado a usar el vi, no te puedes poner a instalar paquetes entre los cuales lo mismo ni siquiera está el joe.
#36 Ahí te doy toda la razón, vi siempre está.
#54 Yo creo que si vim lo usa hoy en día poca gente, emacs no lo usa ni Blas.

es.wikipedia.org/wiki/Guerra_de_editores
¿"vim clorex verde"?
#65 Usé eclipse y rubymine mucho tiempo, cambié a vim un día y en nada, dos o tres días (hasta que me cambiaron un poco los esquemas mentales) estaba ya trabajando perfectamente. Lo mas difícil suele ser encontrar los plugins dependiendo del lenguaje de programación, pero hay mucha gente que ya te cuenta esas cosas en blogs.
Lo de los menús, en realidad también es diferente, pero a la vez sencillo en vim pones : y le das al tabulador y te sale ahí toda la ristra de menús que quieres.
El vim tiene cosas muy chulas, como si en vez de abrir un archivo, abres un directorio ya te sale un árbol para moverte por el, luego abres con split un buffer y a jugar...
Vim es esa herramienta que la amas o la odias. Yo estuve un tiempo programando en Vim. Si soy de los que le encantan esta herramienta.
Es mejor emacs (abro paraguas) :troll:
#45 Yo creo que si vim lo usa hoy en día poca gente, emacs no lo usa ni Blas.
#54 Vim no creo que lo use poca gente. Por ejemplo en mi empresa, todos los trabajadores que trabajan con terminales linux el editor que usan es vim, y en algunos casos nano. Por lo tanto, entre los usuarios técnicos el vim tiene bastante uso, diría. Basta ver los comentarios de esta noticia donde hay un buen porcentaje de personas que lo usan habitualmente o puntualmente para algunas acciones.

Me suena haber visto en una de las útlimas encuestas de StackOverflow el uso del editor de vim y no estaba muy bajo. Pero quizás recuerde mal, y eso que estaba exclusivamente para desarrolladores. Porque yo creo que entre administradores de sistemas debe ser bastante común su uso.
#46 Eso lo dices tu, si que se gana en eficiencia.
#56 ¿Tras cuantos años aprendiendo atajos de teclado y cuantas horas buscando e instalado plugins? Si estás acostumbrado a Eclipse, Visual Studio, IntelliJ, Sublime Text o NetBeans y sus funcionalidades y atajos de teclado, empezar desde cero de nuevo me parece una completa pérdida de tiempo. Uso vim cuando me conecto a través de SSH para editar la configuración de los servidores o mirar algún log, pero más allá de eso me pierdo y para cualquier edición compleja acabo accediendo con el…   » ver todo el comentario
Ahhhh el VIM

Sin tocarlo desde los tiempos de FIC y resulta que hace dos meses he cambiado de trabajo y me he vuelto a encontrar con él.... ha sido como un déjà vu
Vi y Vim siguen siendo las herramientas básicas de guerra de cualquier sysadmin, solo por el simple hecho de que ya viene instalado y no necesitas internet.
Joder, nadie dice nada de joe.
#25 A lo mejor es porque el meneo es sobre vim... joe fue el primer editor que use en linux, a mediados de los noventa, era la alternativa facil de usar al vim pero ya ha quedado relegado, el que quiere algo facil de usar se va al nano y sino al vim o al emacs.

A mi vi me gusta bastante porque está en practicamente cualquier distribución de linux y en cualquier otro unix/bsd por defecto y aunque tiene una curva de aprendizaje, una vez que controlas lo básico ayuda muchísimo a hacer cosas cuando solo tienes acceso a la consola.
#27 ¿Pero, qué editas con vi que no puedas editar con joe? Yo uso este último para configurar mi servidor dedicado, desde ssh, y tengo desplegado apache y sus amigos, mediawiki, wordpress, awstats, hoteldruid, subsonic y proftpd, y todo lo que ha debido editarse se ha hecho con joe, y algunas veces con jove, y va todo de maravilla.
Una pregunta totalmente en serio de alguien que sólo ha usado Vim de forma muy puntual. Para un proyecto en Angular, Java o cualquier otro idioma donde debes andar editando diferentes archivos ¿también lo usáis? Porque no me vería sin navegar la estructura de directorios/archivos con el ratón y seleccionar ahí.
#40 No te compliques y usa VSC o Eclipse. Yo intenté aprender Vim y desistí, es demasiado diferente a lo que ya estaba acostumbrado y no ganas nada de eficiencia si tienes que aprender desde cero.
#40 NERDTREE es tu amigo, yo no se que piensa la gente que usamos para desarrollar, pero se parece mucho a un ide, sin ser un ide.
#40 Puedes editar múltiples archivos en vim. Puedes dividir la pantalla, puedes crear pestañas, puedes tenerlos en buffers y pasar de uno a otro a conveniencia, pudes hacer diff entre ellos, puedes incluso navegar visualmente por el sistema de ficheros para buscarlos con los cursores... y todo eso sin usar scripts o plugins. Ya con algunos plugins puedes incluso hacer muchas más cosas.
#40 Sí, lo uso para todo. Antes usé Visual Studio (aprox 7 años).
Hace 10 años que uso únicamente Vim.
Para navegar por los ficheros sin salir del programa puedes usar los plugins fzf o nerdtree.
Lo mejor de Vim es el sistema de edición modal. Hay plugins para poder usar éste sistema en otros editores como por ejemplo visual studio
Edit.
Pues a mi me parece una herramienta muy cómoda y ágil :-S
Las macros de vim son la ostia. Yo las uso mucho para tratar archivos de texto o json. Cuando modificar 100.000 lineas de datos es cuestión de un par de comandos, empiezas a cogerle cariño.
Normalmente los que más se quejan del vim son:
1) no saben usarlo (o sólo saben los usos más básicos)
2) nunca lo han entendido (por lo tanto, nunca han sabido usarlo)
3) lo usan donde no deben (toda herramienta tiene sus puntos fuertes y sus puntos débiles; muchas veces también está asociado a no saber explotar los puntos fuertes del vim por 1) o por 2), pero hay casos donde simplemente vim es inadecuado)
comentarios cerrados

menéame