temas - ¿Cuál es el punto del complemento viEmu para Visual Studio?
visual studio code español (11)
Básicamente, con Vi (o ViM) se vuelve más rápido porque no necesita tocar el mouse y el mapa clave se mejora (esto representa un costo de la curva de aprendizaje pero vale la pena) para realizar cualquier manipulación de texto de una manera muy fácil una vez que Los fundamentos se aprenden.
Esto puede parecer un poco provocativo, pero en realidad es una pregunta real. Siéntete libre de editar si no te gusta el tono.
Ahora, por lo que entiendo vi por mi corta experiencia con él hace 10 años, es un editor de texto primitivo con una línea editable en la parte inferior de la pantalla creada antes de que se inventaran las barras de desplazamiento, con algunos atajos locos para superar esta limitación.
¿Puede alguien explicarme cómo se puede ser más productivo con eso que con el editor normal de VS.NET? Además, ¿por qué alguien querría usar viEmu que supuestamente convierte a tu VS.NET en una antigua vi?
Estoy dispuesto a intentarlo, pero necesito algo de motivación para superar la curva de aprendizaje.
Creo que realmente deberías darle una oportunidad a Vim.
Si probaste rápidamente Vi hace diez años, puedo entender que no lo apreciaste. No es realmente fácil de usar a primera vista. En realidad, su verdadero poder se revela cuando empiezas a sentirte cómodo con los movimientos y empiezas a personalizarlo. Una vez que Vim te sea familiar, puedes comprender por qué merece ser aprendido.
Creo que tienen una respuesta larga y aceptable para su pregunta en la página de viEmu:
Otro ejemplo aún más poderoso: tomemos el comando ''ce'', que se compone de ''c'' y ''e''. El comando ''c''hange elimina el rango especificado por el siguiente comando de movimiento y también ingresa al modo de inserción. Es lo mismo que ''d'', pero con la distinción de que entra en el modo de inserción, en lugar de permanecer en el modo normal. La ventaja es que el texto que escribe en la siguiente sesión de entrada (corta) también forma parte del comando. Así que si haces ''ceHello>'', lo que haces es reemplazar desde el cursor hasta el final de la palabra por ''Hola'', y el ''.'' el comando luego funcionará exactamente de la misma manera: reemplaza hasta el final de la palabra con ''Hola''.
Desde: http://www.viemu.com/a-why-vi-vim.html
Tengo viEmu instalado ~ hace medio año. Pero tengo que decir (quizás sin fuertes experiencias con Linux) nunca lo he usado. Demasiado extraño, demasiado lejos, demasiado complejo.
Así que, en mi opinión , viEmu es un gran desafío técnico e histórico, pero no más para el 95% de los desarrolladores.
En realidad uso VS solo para la depuración en estos días. Codificar con vim (vim real, no viemu) es solo una experiencia mejor.
Ahora, no voy a afirmar que usar uno sobre otro marca una diferencia en la productividad; después de todo, paso la mayor parte del tiempo tratando de resolver cómo resolver un problema. Ingresar el código es la parte fácil.
Honestamente, suena como si nunca hubieras visto a alguien usar Vi que sea realmente competente en eso. Cuando normalmente utilizas Visual Studio, con frecuencia moverás tu mano al mouse, harás clic en las opciones, diálogos, clases, etc.
Con ViEmu tu mano nunca abandona el teclado. Está compilando, cambiando archivos, resaltando grupos de texto, arreglando la sangría, realizando movimientos complejos en su código y ejecutando búsquedas de expresiones regulares en segundos. Para las personas que son mecanógrafas rápidas, le permite alcanzar una velocidad para tareas que de otra manera no podría realizar.
Mucha gente contrarrestará esto diciendo cosas como: "La mayor parte de mi tiempo de desarrollo lo dedico a pensar. La velocidad adicional que obtengo al usar herramientas como estas es insignificante".
Eso es un no-argumento en mi opinión. Es cierto que, para la mayoría de las tareas de programación grandes, dedica mucho más tiempo a planificar y pensar que a la hora de lanzar el código. Pero eso no significa que ser capaz de expresarse a través de su IDE 2 veces más rápido no tenga un impacto en su productividad como programador.
La página viEmu en sí tiene un artículo bastante bueno que podría ayudar a responder tu pregunta: ¿Por qué, oh POR QUÉ, hacen esos #? @! tuercas usan vi?
He pasado los últimos dos meses tratando de aprender a usar vim "correctamente" y ahora casi no puedo usar a otros editores porque parecen poco potentes y torpes. Para un ejemplo aleatorio, imagina que tienes una línea de código que se ve así:
$welcomeMessage = "Welcome to SiteName!"; // shows at the top of homepage
En un editor normal, ¿cómo cambiarías la cadena? Probablemente tendría que acercarse y agarrar el mouse y seleccionarlo con cuidado, o movería el cursor dentro de la primera comilla, y mantenga presionada la tecla Mayús y la flecha derecha hasta llegar a la comilla de cierre.
En vim, con mi cursor en cualquier lugar entre las comillas, ci"
y borra todo lo que está entre comillas y me pone en modo insertar para que pueda escribir el nuevo valor que quiero. Mis manos ni siquiera tenían que moverse desde mi posición normal de escritura.
Hay tantas cosas como esta, creo que realmente tienes que pasar un rato usando el editor para comprender lo poderoso que es. Es muy lento y difícil de usar al principio, es por eso que muchas personas lo intentan por poco tiempo y piensan "esto es tonto, todo es mucho más difícil", pero después de un tiempo empiezas a pensar en términos de movimientos, todo comienza a ser automático y es mucho, mucho más rápido que usar un editor "normal". Como dije, no puedo volver ahora.
No tengo experiencia con VS.Net pero supongo que tiene las mismas características que cualquier otro IDE.
Descubrí que aprender todos los comandos clave del editor en mi IDE era un reemplazo suficiente para Vi. Cosas como cambiar el nombre, sangrar, formatear, mover líneas y ese tipo de cosas.
Así que supongo que la gran victoria sería para alguien que ya sabe que Vi sería productivo sin tener que aprender VS.Net.
Pero, de nuevo, Vi tiene algunas características verdaderamente esotéricas pero poderosas que probablemente no pueden ser igualadas por su editor IDE estándar.
Otra respuesta me hizo pensar que ver una edición experta usando vim sería bastante revelador, así que desenterré este video mostrando movimientos básicos y más avanzados mientras programaba. Esta persona puede ser incluso un poco eficiente usando algunas marcas, etc. pero da una idea.
Si necesitas inspiración o quieres ver a alguien que realmente sepa lo que están haciendo con Vim, consulta la Calculadora de cuerdas de Kata en Python de Gary Bernhardt. ¡Míralo! http://vimeo.com/8569257
También me ha costado entender por qué las personas eligen vim como su editor, a pesar de que lo estaba usando de vez en cuando, hasta que finalmente lo "entendí". Creo que la mayoría de las explicaciones de "¿por qué?" Falla, porque fallan en mostrar puntos cruciales. Para explicar esos puntos, primero debe comprender que en vim está manipulando el texto principalmente en el modo de comando. Es decir, de forma predeterminada, al presionar las teclas son comandos, y generalmente no se inserta ningún texto, a menos que esos comandos (como un ppend, i nsert, c hange) cambien al modo de inserción. Esto le permite navegar y editar su texto fácilmente sin tocar nunca el mouse o alejar sus manos de la "posición de edición".
Ahora los puntos cruciales son:
- Los comandos de Vim se dividen en sustantivos, verbos y modificadores.
- La edición se realiza combinándolos.
Y esto es lo que da vim el poder. Para ilustrar el punto, aquí hay algunos de los comandos más utilizados:
- Nouns: w ord, s entence, b lock, comillas y llaves.
- Verbos: c cambio, i nsert, v isual, d elete
- Modificadores: i nside, a round, t ill
Y para ilustrar cómo se pueden mezclar:
- ¿Quieres cambiar una palabra? c w
- ¿Lo mismo, pero el cursor en medio de la palabra? c a w
- ¿Cambiar texto dentro de las comillas? c i " , también cambiar comillas? c a "
- ¿Eliminar cuerpo de función? d i {
- Eliminar hasta la primera coma? d t
- Eliminar hasta la segunda coma? d 2 t ,
- ¿Saltar a la primera coma? t
- Seleccionar palabra? v i w
Observe también cómo todos los comandos se traducen bien en lenguaje natural:
- d elete w ord
- c hange i nside {
En vim, si aprendes un nuevo verbo, sustantivo o modificador, puedes mezclar y combinar fácilmente con lo que ya sabes. Así que básicamente aprendiendo solo una cosa, aprendes a hacer muchas cosas diferentes.
Otra gran cosa es que vim recuerda los comandos que has usado, y puedes repetir la secuencia con solo presionar . . Para esta publicación he tenido que rodear muchas letras con la etiqueta <kbd>. Pero lo hice solo una vez, y luego repasé cada letra y presioné . .
Y eso es básicamente lo que "necesita obtener" para comprender el poder de vim y convertirse en usuario avanzado de la noche a la mañana.
PD: si no te gusta vim porque está basado en la consola y quieres un editor de texto moderno, entonces sugiero que busques en Sublime Text Editor, que es un gran editor y que también admite el modo vim.
PS2. También recomiendo asignar la tecla Esc a j j y k k , lo que facilita mucho las cosas.
Te equivocas con "una línea editable en la parte inferior de la pantalla". Todo el texto en la ventana es editable. Y se desplaza (todas las versiones) y en el caso de gvim, tiene barras de desplazamiento.
Tal vez inadvertidamente lo pones en "modo ex". Esto se hace fácilmente y puede ser confuso.