Edición de varias líneas de Sublime Text 2


147

Quiero editar varias líneas y cada "palabra" dentro de esa línea. Por ejemplo:

45 28 42 65
24 87 47 95
01 25 87 98

Quiero seleccionar cada número entero en todas las líneas y poner un "0x" antes para que se vea así:

0x45 0x28 0x42 0x65
0x24 0x87 0x47 0x95
0x01 0x25 0x87 0x98

Sé el Ctrl+ shift+ Lpara obtener cursores en cada línea, pero ¿cómo puedo obtener los cursores delante de cada número para editarlos en masa de una vez?


Probablemente sea tarde para responder esta pregunta, pero aquí hay un enlace donde puede encontrar una respuesta a la pregunta. sublimetext.com/docs/3/…
Alexander

Respuestas:


282

Resalte las líneas y use:

  • Windows: Ctrl+ Shift+L
  • Mac: Cmd ⌘+ Shift+L

Luego puede mover el cursor al contenido de su corazón y editar todas las líneas a la vez.

También se llama "Dividir en líneas" en el menú "Selección".


Sí, pero ¿cómo puedo editar cada número en las líneas a la vez también? Entonces, como si tuviera que hacer solo la primera línea, ¿podría editar cada número en la primera línea a la vez? Si eso tiene sentido
Syperus

no puede, solo puede tener el cursor en un lugar en una línea determinada. Pero puede moverlo al comienzo de la línea, agregar 0x, usar alt> para moverse a lo largo de una palabra y agregar 0x nuevamente.
Owen

28
Eso no es cierto: puede tener tantos cursores como desee en una línea. Todo lo que necesitas hacer es Ctrl-click(en Windows) para colocarlos.
MattDMo

3
@MattDMo ¡SÍ! Eso es exactamente lo que estaba buscando. ¿Conoce por casualidad el atajo de teclado para seleccionarlos de esa manera? Miraré alrededor y veré si puedo encontrarlo.
Syperus

cuando usé Ctrl+ Shift+ L, selecciona todas las líneas, pero el cursor en cada línea está al principio o al final de la línea. Si luego presiono la flecha izquierda, en un intento de que todos los cursores vuelvan al comienzo de cada línea, los mueve hacia atrás en relación con su ubicación, por lo que todavía no están uniformemente en la misma posición en la línea. ¿Cómo obtengo todos los cursores al comienzo de la línea? (para el contexto, solo estoy tratando de agregar [space]*[space]al comienzo de cada línea).
user1063287

84

Use múltiples cursores y selección de columna.

En su caso, solo necesita colocar los cursores al comienzo de cada columna que contenga las "palabras".

Linux y Windows

  • Haga clic y arrastre para seleccionar las columnas: Shift+RightMouseBtn
  • Agregue otras columnas a la selección haciendo clic y arrastrando: Ctrl+ Shift+RightMouseBtn
  • Reste las columnas de la selección: Alt+ Shift+RightMouseBtn
  • Añadir cursores individuales: Ctrl+LeftMouseBtn
  • Eliminar cursores individuales: Alt+LeftMouseBtn

Mac

  • Haga clic y arrastre para seleccionar las columnas: Option⌥+LeftMouseBtn
  • Agregue otras columnas a la selección haciendo clic y arrastrando: Option⌥+LeftMouseBtn
  • Reste las columnas de la selección: Cmd⌘+ Option⌥+ shift+LeftMouseBtn
  • Añadir cursores individuales: Cmd⌘+LeftMouseBtn
  • Eliminar cursores individuales: Cmd⌘+ Option⌥+ shift+LeftMouseBtn

Luego edite según sea necesario. En su caso, el tipo 0, x.

También puede navegar según sea necesario hasta el final o el comienzo de las palabras, seleccionar las palabras y rodearlas con comillas o paréntesis, y así sucesivamente.


Referencias


10

Me funcionó en OS X + Sublime build 3083:

OPTION (ALT) + select lines

3

No estoy seguro de que sea posible "fuera de la caja". Y, desafortunadamente, tampoco conozco un complemento apropiado. Para resolver el problema que sugirió, podría usar expresiones regulares.

  1. Cmd + F (Buscar)
  2. Regexp: [^ ]+(o \d+, o lo que prefieras)
  3. Opción + F (Buscar todo)
  4. Editarlo

Las teclas de acceso rápido pueden variar según su sistema operativo y sus preferencias personales (las mías son para OS X).


No se requiere complemento. Use Alt + Enter al final para Linux.
elomage

2

Estaba enfrentando el mismo problema en Linux, lo que hice fue seleccionar todo el contenido (ctrl-A) y luego presionar ctrl + shift + L, le da un cursor en cada línea y luego puede agregar contenido similar a cada columna .

También puede realizar otras operaciones como cortar, copiar y pegar en columna.

PD: - Si desea seleccionar un conjunto rectangular de datos del texto, también puede presionar Mayús y mantener presionado el botón derecho del mouse y luego seleccionar los datos de forma rectangular. Luego presione CTRL + MAYÚS + L para obtener el cursor en cada línea.


2

Windows: prefiero Alt + F3 para buscar una cadena y cambiar todas las instancias de la cadena de búsqueda a la vez.

http://www.sublimetext.com/docs/selection


Alt + F3 también funciona en Linux y con Sublime Text 3. Esta es la forma más rápida y fácil de editar la misma cadena en un archivo.
kiamlaluno

2

En Windows, prefiero Ctrl+ Alt+ Down.

Selecciona las líneas una por una e inicia automáticamente el modo editor de varias líneas. Es un poco más rápido de esta manera. Si tiene muchas líneas para editar, entonces seleccionar el texto y Ctrl+ Shift+ Les una mejor opción.


0

Ctrl + Mayús + clic derecho funciona mejor de esa manera


-1

Está bien seleccionar manualmente cada número para un pequeño conjunto de números como en su ejemplo, pero para colecciones más grandes puede hacer una búsqueda de expresiones regulares que hará el trabajo por usted.

Ctrl+ Fabrirá la barra de búsqueda.

Las búsquedas de expresiones regulares se habilitan haciendo clic en el botón ". *" En el extremo izquierdo.

Escriba "\ d +" para buscar todas las ocurrencias de 1 o más dígitos. Al hacer clic en el botón "Buscar todo", se seleccionará cada uno de estos números por separado.

Luego puede usar Ctrl+ Shift+ Lpara convertir la selección en múltiples cursores. Desde aquí puedes hacer lo que quieras.

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.