2010-05-20 2 views
8

Me gustaría insertar un hash al principio de un bloque de texto seleccionado en VIM (ruby comment). Seleccioné las líneas en el Modo Visual, pero ¿cómo realizo la misma operación en todas las líneas?VIM Blockwise Insert

Respuesta

13

Usted tiene dos opciones principales:

  • Seleccione en el modo visual bloque (Ctrl-V), a continuación, utilizar I para insertar el mismo a lo largo del lado izquierdo de todo el bloque. De manera similar, se agrega A; ver blockwise operators.

  • Seleccione las líneas en modo visual (v) o línea visual (V) normal, luego ejecute el mismo comando en todas ellas, por ejemplo s/^/# / o normal I#. Al escribir : mientras tiene una selección visual, se usa automáticamente la selección visual como el rango de línea (denotado por '<,'>).

+0

El modo visual de bloque no funcionó para mí, pero lo hizo normal. En Block Visual, seleccioné el primer carácter de cada línea, y borré todas, sin poner lo que quería. ¡El segundo funcionó, gracias! – tesserakt

+0

@tesmar: Lo uso todo el tiempo; Sé que funciona: debes haber hecho algo malo. 'ctrl-v', obtenga la selección que desee (el primer carácter está bien, como lo hizo),' I # '. – Cascabel

+0

Tienes razón, funcionó una vez que me di cuenta de que tenía que presionar ctrl + v. ¡Gracias por el consejo! – tesserakt

1

Es mejor que use esto. MODO

comando con número de serie para ver líneas

: 10,50s/^/#/g

primer número antes de la coma es la línea de salida y el segundo número después de la coma es el fin línea. Ambos están incluidos.

+0

Esto no es exactamente la forma de lidiar con una selección visual. – Cascabel

+0

@Jefromi, sí, pero es más rápido en la ejecución del resultado deseado. – Dez

+0

Claro, si ya conoce los números de línea. ¿Qué pasa si la forma más rápida de especificar la selección 'nVn', o' V}}} '? ¿Por qué obligarse a buscar números de línea? Solo usa 'nVn: s /.../.../'. – Cascabel

4

Mientras que en modo visual hacer lo

:'<,'>s/^/# 

realidad, '<,'> se insertará automáticamente cuando se pulse :.