Edite diferentes palabras simultáneamente, una en la misma línea que en Sublime Text con múltiples selecciones


14

¿Es posible editar más de una palabra simultáneamente, que están en la misma línea?

Por ejemplo, digamos que tengo esto:

Spam and Eggs is all you need for a healthy breakfast

y me gustaría cambiar la línea a:

organic_Spam and organic_Eggs is all you need for a healthy breakfast

Me gustaría resaltar "Spam" y "Eggs" y anteponer "organic_" simultáneamente a "Spam" y "Eggs". Un poco como usar el bloque visual para escribir simultáneamente en diferentes líneas, pero aquí escribe cosas en la misma línea. Vi a un colega haciendo esto con Sublime Text e intenté buscar en Google, pero fue en vano.



Siempre creo que en vim la función de selección múltiple / cursores es simplemente llamativa ...
Kent

Respuestas:


18

Estoy de acuerdo con Alexander aquí. En la edición diaria, probablemente también usaría el .comando, pero si desea ejecutar solo un comando, usaría el comando sustituto:

:s/S\|E/organic_&/g

mientras que el &es el patrón coincidente de /S\|E/.


21

En Vim no hay múltiples cursores como en Sublime Text (pero recuerdo algunos complementos). Pero parece que no es algo tan importante para VIM porque hay otra forma de lograrlo. Por ejemplo tienes esta línea

Spam and Eggs is all you need for a healthy breakfast

Haría algo como esto: coloque el cursor en modo normal en la primera letra del Spame ingrese iorganic_Esc, luego dos veces wpara saltar Eggsy presione .(punto) para repetir la última acción. Entonces, para mí, esto es mucho más productivo que en Sumlime Text, pero tal vez no sea tan elegante e intuitivo.

De todos modos, hay algo de preprocesamiento para esta acción en ambos editores, en Sublime Text hay una selección de lugares para la nueva posición del cursor múltiple con algunas teclas de acceso rápido, y después de todo esto puede editar palabras simultáneamente. En Vim, este tipo de "preprocesamiento" ocurre en el momento de la edición de la línea, quiero decir todo esto ww..


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.