EDICIóN GENERAL
347 meneos
7802 clics
Stack Overflow: Ayudando a un millón de desarrolladores a salir de Vim

Stack Overflow: Ayudando a un millón de desarrolladores a salir de Vim

Esta mañana, una pregunta popular en Stack Overflow ha alcanzado un gran hito: La pregunta "¿Cómo salir del editor Vim?" ha superado el millón de visualizaciones. En honor a este hito, hemos decidido echar un vistazo a los datos que rodean a la pregunta. Nos fijaremos particularmente en calcular quiénes son los que probablemente se pueden quedar atascados en Vim en lugar de usarlo de forma intencional y examinar cómo varía este balance por país y por lenguaje de programación.

| etiquetas: stack overflow , salir de vim
156 191 9 K 366 linux
156 191 9 K 366 linux
Comentarios destacados:                                  
#167 #1 para mí vim es la quintaesencia de la usabilidad!

No necesito ratón, no hacen falta menús y siempre obedece. De hecho está pensado para no mover los dedos de la homing row del teclado.

Un saludo!

:wq!
El VIM nació cuando la usabilidad y el diseño de interfaces aún no se habían inventado. xD
#1 Lo grave es que después de que se inventó la usabilidad, todavía hay muchos desarrolladores que ni se enteran. Sus programas son una cochinada y una aberración, tanto en la interfaz, como en el propio código, ambos reflejando su desorden mental.
#4 Para que quiero un martillo? Con el martillo solo puedes clavar cosas. Pero con piedras puedes hacer de todo. Por lo tanto la piedra es superior. Ademas funciona en servidores.
#47 Todo parece un clavo cuando tenemos un martillo en nuestra mano :-D
#1 Vi (que no Vim, que es una segunda versión más amigable) nació cuando solo había terminales de texto sobre líneas serie o modems telefónicos. Cuando solo tienes eso las combinaciones de teclado son un gran avance pero claro, hay que conocerlas o la más mínima cosa se convierte en un infierno.
#7 vi tambien es amigable, al menos nvi(1)

echo set showmode >> ~/.exrc

Así vi (el puro) tendrá la linea de status visible siempre.
#8 Depende del vi, me parece que algunos sistemas operativos siguen llevando uno que por defecto no usa las teclas de dirección (cosas de los teclados de los primeros ordenadores) y hay que mover el cursor con teclas como h para ir a la izq. y l para la derecha, nada intuitivo.

"since vi was designed with the Qwerty keyboard (containing no arrow keys) in mind, the arrow keys sometimes produce strange effects in vi and should be avoided."

www.cs.colostate.edu/helpdocs/vi.html
#7 su utilidad la veo para conexiones ssh que hacemos a diario, ciertos cambios y demás.

Desarrollar con eso es un horror, y noble veo mayor utilidad.
#67 El problema para estos usuarios de VI o VIM involuntarios es que su variable EDITOR apunta a dicho editor y cuando hacen por ejemplo un git commit y git le pide que introduzcan un mensaje para el commit les abre su editor por defecto.

¡Sorpresa!, un Vi salvaje apareció.
#1 y se creía en el infierno.
#1 para mí vim es la quintaesencia de la usabilidad!

No necesito ratón, no hacen falta menús y siempre obedece. De hecho está pensado para no mover los dedos de la homing row del teclado.

Un saludo!

:wq!
#1 Pero sí el clorex verde :troll:  media
#2 Si fuera así de fácil. Las veces que me he pasado buscado el ! y los : en un teclado mal configurado.
#5 #11 #20 #27
: x (sin espacio entre ":" y la "x", que me sale un smiley)
Es lo mismo y ahorras buscar el signo de admiración en un teclado configurado de forma extraña (o poner una "a" en lugar de una "q" en un teclado francés - AZERTY)
#34 Cuidao que eso es como hacer un :wq! y créeme que la puedes liar muy parda.

cc #12
#5 Para salir sin guardar también puedes hacer Ctrl + Alt + Backspace, que funciona con todas las disposiciones de teclado :troll:

cc/ #2
#2 #11 Sí, es así. (la w para guardar si eso) Y me lo sé de memoria para si por error o como parte de un script llego a él, inmediatamente después utilizar cualquier otro editor para continuar. Enfatizo el cualquier porque aunque la verdad es que hay muchos y mejores que el Vi(m), incluso en línea de comandos.
#12 #14 de todas formas lo mio tenía truco, del 99 al 2004 mi web la hacía con vim, así que no hace tantísimo que no me paraba a recordarlo, pero tenía mis dudas.
De hecho no se que hice una vez para que al final de un post se quedara el :wq en el html, y ya me gustó y lo dejé de firma el tiempo que lo utilice.
#20 yo Vim lo veo bien para ciertas tareas, pero para desarrollar una página web... me parece flagelarse. :-D
#21 para html te vale cualquier cosa y yo a finales de los 90 dije "todo Linux y lo más difícil posible", la tontería me duró 6 años, eso si, aprendí un huevo (lo cierto es que todo lo que aprendi solo me ha valido para terminar configurando una mísera raspberry :-/ )
#71 ¿usabas Slackware? :-D
#21 Si la quieres editar al vuelo o hacer un cambio en el CSS en el servidor está muy bien.
#2 ten cuidado, que el que no haya guardado los cambios se va a acordar de tu familia. xD
#11 correcto. Así guardas los cambios, no como el cabroncete de #2. :-P
#14 yo siempre hacia :wq
#66 salvo cuando abrías un fichero donde no tenías permiso de escritura, ¿no? :-)
#70 Sí, ciertamente.

Pero ahora hace mucho que no uso GNU/Linux (traicionando mis principios). Pero estoy demasiado viciado a los videojuegos... :-(
#83 pues usa Steam, ¡por Dios! :-P
#83 humbleblunde.
#120 #83 Uso GOG y Steam xD y algun humblebundle.
#2 Para los que nunca se acuerdan, otra forma:
CTRL+z
kill -9 $( pgrep vim )
:troll:
#45 ke cabrón xD ahí ahí, dejando archivos SWP por tol disco...

PD: és Más rápido kill -9 %1
#45 #46 #69 shutdown -h now
Y te vas a tomar una cerveza
#98 shutdown -h 0
es que soy muy vago
#45 pkill vim

Mucho Mas eficiente.
#69 eso mata todos los vims, no sólo el actual, y le falta el -9, porqué estando "stopped" del CTRL-Z, no responderá a kill a secas :-)
#2 Pero antes ESC por si está en modo Insert
Decidido, me paso a emacs.
#3 sí, trae un psychoterapist de serie. Para esos momentos de frustración... :roll:
#6 La droga es muy mala. Una vez que has probado el Vim, ya no hay vuelta atras. Ahora, un millón de desarrolladores se han liberado del Infierno. :shit:
Pudiendo usar KDevelop y Eclipse no sé para qué usar Vim. Su aprendizaje es lento y no basta sólo con saber usar el Vim, luego tienes que memorizar y saber usar unos cuantos plugins adicionales.
Es un retraso. Sólo lo uso como editor de texto pero no como pseudo IDE.
#9 Cualquier razón para huir de Eclipse es buena.
#10 #17 ¿Qué tiene de malo eclipse?

#9 A ver cómo usas eclipse si tienes que programar remotamente a través de ssh.
#96 rsync es tu amigo.
#96 Que él es guay, progre y moderno. Por eso utiliza vim
#9 Eclipse? En serio?? Eclipse???
#17 ¿Conoces algo open source mejor para Java? Y no me digas Netbeans...

En general uso nano más que vim, me parece más intuitivo, pero lo uso para modificar configuraciones del sistema (trabajo con Ubuntu) y ya: Eclipse para Java y VSCode para Javascript/HTML/CSS. Cada día me gusta más VSCode, por cierto: ligero, con muchos plugins y funciona en cualquier sistema.
#9 Yo eclipse lo dejo solo para java. Si toco cualquier otro lenguaje me busco uno mejor. De java no me muevo de ahí por la cantidad de plugins que hay, pero por nada más. Es un maldito comedero de recursos. Por ejemplo para el front de las webs (no j2ee) con un editor que pinte como gedit voy sobrado. Si quiero hacer alguna chorradilla en c con geany voy mas que sobrado. No te atasques en eclipse si no es por necesidades de entorno en java.
#29 Mirate IntelliJ. No se si tendrás algún plugin MUY específico y necesario que solo este en eclipse, porque de lo contrario no merece la pena.
#65 Ya lo he probado y está muy bien. Normalmente si tengo algun problema suele ser por algun producto de ibm. Por ejemplo, hasta hace relativamente poco no había un integrador oficial para rtc (que asco) y jazz server.

EDIT: No elijo yo las tecnologías, que conste xD
#9 Prueba a entrar por ssh en un servidor y abrir eclipse...

vim a día de hoy sigue teniendo MUCHO sentido para multitud de tareas. Vale, como IDE no... pero hay maś cosas.
#35 LOL

ssh -X ......
eclipse

Hecho. Asi abria yo el eclipse desde mi portatil de mierda con 2 GB en mi servidor para hacer cosas xD
#35 Eso si tienes vim instalado. En caso de los servidores del cliente solo tiene vi del plesitoceno y su gran alternativa, ed.
#9 Comentario troll del día. No hay nadie en el mundo que use eclipse si no es porque no tiene alternativa.
#63 o igual tiene 32GB de RAM y un i7 pata negra.
#86 Da igual, si Eclipse no es malo por el consumo de recursos, es malo porque es anti-intuitivo e innecesariamente complicado, además que falla más que una escopeta de feria.
#92 Pero ademas de eso, es un agujero negro de recursos.
#86 64gb. No insultes a la nobleza, campesino.
#9 a ver, si eres de sistemas y tienes que controlar diversos servidores usas un editor que está en todo, y por consola.
#9 Si estas en Linux y tienes que crear un shell o modificar un script de 20 lineas, no vas a ponerte a usar Eclipse o cualquier otra IDE. Vim y Vi tienen su funcion en el mundillo.
#9 Sólo lo uso como editor de texto

Bien hecho, como limpiasuelos la verdad es que deja mucho que desear.

Pudiendo usar KDevelop y Eclipse no sé para qué usar Vim.

Como toda esa gente que tiene una navaja suiza (china) en casa y aún sigue tirando de cuchillos de cocina y un juego de destornilladores... :shit:
#9 Visual Studio Code 8-D
#9 IntelliJ >>>
#9 qué valiente afirmación. Yo uso eclipse con el plugin de vim. El poder de edición que te da vim no te lo da ningún IDE.
:wq!
No? ( lo pongo absolutamente de memoria, era así ¿no?0
#11 Si quieres salir guardando cambios, si ;)
Yo uso Vim solo cuando hay que editar ficheros grandes, pero cuando es un fichero de un par de líneas me parece más cómodo Nano. En mi trabajo los frikis me echan en cara que utilice Nano. Está como mal visto en el mundillo de la administración de sistemas, al menos en la vieja guardia. :-D
#15 El editor valenciano por referencia: sudo nano
#28 La discusión solía ser entre Vim y Emacs... y ya que hablamos de Nano...

CC #15 #25

xD  media
#57 xD

Emacs me parece una ida de pelota de programa. :shit: Quizá el software más friki que he visto.
#62 Yo creo que representa muy bien como funciona el cerebro de su creador RMS. :-D
#62 Es que Emacs es un sistema operativo cojonudo... con una mierda de editor por defecto :troll:
#15 Si, yo diría que la discusión en torno a ese tema es similar a la que hay entre vinilos vs mp3 ... muy subjetivo todo, pero innegable que se ha evolucionado muchísimo en GUIs desde Vi(m)
#28 Pero nadie le ha visto la necesidad a tener otro editor de texto ubicuo que funcione en terminal y portarlo a todos los sabores unix del mundo mundial O igual si.

Se podría tener un editor moderno en los servidores. No debería ocupar más que el propio vi y no tener más dependencias que las libc, pero ¿para qué? No me pegaría la panzada de instalarlo en los cuatro centenares de servidores, casi todos ellos obsoletos pero en tareas de misión crítica que gestionamos desde el departamento sólo para tener un editor de texto moderno y a la vez bonito instalado en todo el entorno cuando ya tengo uno que está en todas partes.
#15 Pero cuando te encuentras con un teclado mal configurado y no recuerdas donde coño están los ":", nano o mcedit te sacaban del embrollo. :-D
#15 A mí también me gusta. Soy de los que vienen del pico y uno de mis primeros comandos tras instalar un linux es alias pico nano.
#15 para tus compañeros tú eres el friki xD
#15 Perdona por el negativo, que estoy idiota, quería darle a responder y me he rallado. Por favor, procede a darle al rojo en este mensaje.

Y ahora lo que quería decir: Lo triste es que no haya nada a medio camino ("de serie en Linux") entre nano y VIM, en pleno 2017, o al menos nada que yo conozca.
Yo uso nano porque es fácil de usar, aunque en realidad es una castaña por cosas como que en líneas largas, cuando añades caracteres al principio, te baja la parte final de esa línea debajo, a una nueva línea (WTF?).
Si hay mucho que editar, lo edito en otro equipo con un editor de texto adecuado.

Saludos y disculpa.
Cuando has aprendido a salir de vi te crees que en la vida volverás a pasar por nada igual.

Hasta que un día utilizas joe.
#16 Ya me estaba sintiendo muy mal que nadie nombraba el fantástico joe. Eso sí, solo para editar ficheros de configuración y poco más. Por cierto para salir es CTRL-k x. Lo veo super intuitivo :troll:
si algun dia os toca meter mano a un unix antiguo agradecereis saber manejar el vi
#18 Poca piedra han picado en Solaris esta gente.... vi es un editor cojonudo, lo uso a diario (no vim), aquí a los nuevos le hacemos la novatada de ponernos detrás mientras editan en vi :-D
Yo supe en su día pero luego me pasé a otro sistema operativo (profesionalmente hablando). Agradecí dejar de usarlo.
Llevo usando Vim como entorno de desarrollo 10 años... No hay vuelta atrás :-)
#22 Efectivamente las enfermedades mentales no suelen tener vuelta atrás :troll:
#32 y eso va por vi/vim o por el uso del resto de opciones disponibles? porque depende del punto de visto claramente... :-)
#22 Dios! Alguien sensato, es que el vim es como la droja, me pasa igual,hasta si he tenido que usar el
visualstudio lo he usago con el plugin de vim.
Flipo con la gente. A ver se cosa puede hacer un IDE que no pueda hacer vim.
Autocompletion,ir a la implementación de la función de turno, Marcos, borrado de líneas con sólo hacer dd (y la super edición en general), división de la pantalla...
Qué atrevida es la ignorancia.
Can your editor do that?
youtu.be/pCiVCiku3cM
Ya hemos caído en el eterno pecado cuando se habla de Linux: alguien pregunta como se hace tal cosa en el programa X, y le caen volquetes de críticas por usar X en lugar de Y.
#23 Y? Usa Z, es mejor.
- ¿Cómo saber si un desarrollador utiliza vim?
- Te lo dirá él en los primeros 10 segundos de conversación. Y además te intentará convencer de lo bueno que es. {0x1f61c} xD

Que conste que para administrar cosas por SSH yo sí lo uso ¿eh? Y en el fondo, me parece cohonúo que cada cual utilice con lo que más contento esté. Lo que pasa es que yo estoy mayor para pasarme un mes configurando plugins y aprendiendo combinaciones de teclado que ya vienen por defecto en PyCharm o IntelliJ... Si necesito un entorno rápido, uso Sublime o Atom (mi opinión náh más: que uno es uno y dos, una piragua)
#26 Yo personalmente lo digo cuando preguntan qué plugin de Eclipse más raro es el que uso.
Vi , como todos los programas del unix ancestral , ES amigable, pero selectivo.
Escoge muy bien quien es su amigo.
por cierto , es [ESC] :wq!
#27 ¿Por qué 'w' y '!' a la vez?
#30 w = write
q = quit
! = Forzar (sólo necesario si p.e. el archivo es sólo lectura)

wq = x
Mejor sal con dos Z mayúsculas. Escribes menos y lo puedes hacer sólo con la mano izquierda xD
#41 Es que soy un romantico tradicionalista xD
Pero es importante aclarar a la peña que tienen que estar en modo comando , no edicion , por eso dejar claro que tienen que darle al esc primero ;)
#50 en cualquier caso, con ZZ te ahorras 1 pulsación con respecto al : x y dos con el :wq
#41 Normalmente yo utilizaba el '!' para forzar cuando había realizado cambios y no quería guardar, es decir ":q!", y cuando quería guardarlos pues bastaba con ":wq".

Lo que no sabía es el caso de sólo lectura. Entiendo por tanto que en ese caso se intenta guardar y se sale a pesar de no haber conseguido guardar.
#60 no, lo guarda forzando escribir :-) si eres root, lo hace a piñon, y si eres usuario, cambia temporalmente los permisos si eres el propietario. Nunca sale descartando cambios si no es con :q!
#64 Pedirá entonces la contraseña para hacer un sudo si se permite para dicho usuario, porque si no, no entiendo cómo podría guardar algo que es de sólo lectura.
#72 no, nada de sudo

touch fichero
chmod 400 !$
vi !$
Escribe algo y sal con :wq!
cat !$
ls -l !$

:-)

Tachaaaaan
#79 No me creo que eso pueda funcionar, pero lo he probado para ver qué pasa y vi dice que:

~
~
~
~
"fichero"
"fichero" E212: Can't open file for writing
Press ENTER or type command to continue
#94 Pues yo acabo de hacerlo con un usuario raso, y pa que lo veas, te he hecho un vídeo :-)

www.atkn.net/classe/vim-demo-ro.ogv
#27 x ! Es más eficiente, y ZZ aún más si no debes forzar la escritura :-)

Uso vim desde hace más de 17 años. Cada cierto tiempo aprendo nuevas funcionalidades, nada de configurar plugins ni ostias, y ves como tu trabajo haciendo scripts o administrando el sistema es jodidamente más productivo que el de los pobrecillos que van con nano o Joe o esos que necesitan tener un desktop en un servidor DNS pa poder administrarlo xD

Sí mi tarea fuera programar cosas con 500 archivos de librerías, CSS y JavaScript, tengo claro que seguro que otra cosa me iría mejor, pero con scripts (bash/Perl/Python) y sistemas, vim barre a todos los demás.
#38 sed y awk son tus amigos ;)
#52 efectivamente :-)
#38 Pues no veo por qué. En vim hay gestión de pestañas, ventanas y buffers para poder tener muchos archivos abiertos y usarlos a la vez igual que en cualquier otro editor, añadiendo búsquedas, reemplazamientos o la ejecución de macros en parte o todas ellas (y si, también puedes usar el ratón con vim, si te resulta más cómodo para seleccionar, cambiar de ventana o pestaña, etc).

Aparte de macros y scripts, tenemos desplegado de snipplets, un/folding de secciones de código, completado de…   » ver todo el comentario
¿Tan difícil era tener en linux un clon del edit del MS-DOS por defecto? Me niego a aprender dicho engendro cuando he tenido que usarlo la he pasado canutas.  media
#31 no estás hecho pa pensar. Te has planteado un Mac? xD :troll:
#42 No gracias, estoy contento con la usabilidad de mi Windows, estuve contento con Ubuntu unos cuantos años hasta que inventaron una cosa llamada Unity.
#51 eso no le gusta a nadie, por eso finalmente van a matarlo :-) thanks $deity!
#31 la verdad es que funciona genial
#75 Ohhh que maravilla, ahora solo falta que estuviera por defecto en todas las distribuciones, el problema es que muchas veces que te conectas a servidores remotos, lo unico disponible es el vi y con mucha, mucha suerte joe o nano.
#75 Mola, le echaré un vistazo, no lo conocía. Al final como casi todo el mundo tiro de nano
#31 Será por opciones: nano, less, emacs, ...
#31 Tu eres de los que aterrizaste en Linux a través de Ubuntu?? más allá del 2005??

Existe algo como eso. Es el editor MCedit. Y MC es el Midnight Commander:
es.wikipedia.org/wiki/Midnight_Commander

Los escribió Miguel de Icaza cuando estudiaba matemáticas en la universidad. Fue su primera contribución al proyecto GNU (en 1994).

Miguel de Icaza es un tipo peculiar que durante muchos años tuvo un pie en el software libre y otro en el software propietario (sobre todo en Microsoft).
Ahora dice que usa computadoras de Apple :-)

Pero no se le puede negar su aportación al software libre. Sobre todo el inicio de Gnome.
es.wikipedia.org/wiki/Miguel_de_Icaza
#31 Si. Es difícil. Estos tíos no usaban MSDOS y lo que tenían para editar texto era ed. Un editor que solo te mostraba una línea de texto que funcionaba muy bien con terminales conectadas por módem que solo tenían capacidad para editar la línea inferior de la pantalla.

Vi era como convertir su bicicleta en una moto. Era la ostia, y sin que dejaran de servir algunas cosas del ed.

Aprende lo que quieras, eres libre. pero si te conectas a algún servidor de producción el adminsitrador podría no tener instalada otra cosa que no sea vi, salvo quizás ed. Ni siquiera el el moderno vim.
#31 Instala mc [ www.midnight-commander.org ] , lo que buscas se llama "mcedit" o "mc -e" . F9 para ver el "Menu superior"
#31 se llama(ba) Joe.
Prefiero usar el JOE de toda la vida, el VI(M) siempre me ha parecido un engendro.
En todas las frikadas que he hecho en más de 20 años utilizando linux, aprender Vim no fue una de ellas.

Y antiguamente no eras suficiente friki o hacker si no sabias Vim....
#39 Eso no es cierto. Nunca has sido lo bastante hacker si no te has fabricado un mueble a partir de un trono de árbol utilizando solo un hacha.
En pocos años: ayudando a los programadores a salir de Notepad++ :troll:
Por eso lo usa tanta gente, porque no saben como quitarlo.
Si quieres guardar : x y te ahorras una tecla! De nada.
Ya lo pongo yo, no os preocupéis.  media
Aunque no he usado jamás Vim, os comprendo, porque a mí me ha pasado lo mismo intentando salir de El Corte Inglés.
#53 El meme actual es con Ikea ;)
#74 En los IKEA que he estado, sólo puedes ir para adelante, o para atrás. Son como un pasillo enorme. El corte inglés es más laberíntico. El de Málaga lo componían dos edificios conectados bajo tierra por un pasillo.
100iNo volveré a poner el culo en la fotocopiadora<Intro><Esc>

Si Bart hubiese usado Vim...

Ah, y para salir y guardar los cambios:
:wq  media
#54 si ya tienes la linea escrita yy para copiarla y luego p para pegar xD
#54 Ese comando es salir y guardar.
Para salir es :q!
Creía que era para desengancharse de usarlo...
Pues yo para añadir,quitar,reformatear ficheros texto, mi mejor amigo eran vi.
Recordando clásicos...  media
Una de esas 1000082 visitas es mia.

Ya soy parte de la historia de Stackoverflow!! si hacen quedada, espero que avisen con tiempo.
La Vim compae, como dicen en mi tierra :-D
:q! te ahorro un click
Aprender a salir de vim es uno de esos dolores de muelas por los que todo programador tiene que pasar alguna vez. Pero una vez te sabes los atajos es pretty simple (aunque siempre quedará ese ":" que metes en el texto por no haberle dado a esc xD).
#100 Eso suele pasar cuando vas a otro editor por necesidad. Más de un :wq han ocurrido en word...
«123
comentarios cerrados

menéame