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?

Syperus
fuente
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".

Owen
fuente
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

elomage
fuente
10

Me funcionó en OS X + Sublime build 3083:

OPTION (ALT) + select lines
Jose Alban
fuente
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).

FreeNickname
fuente
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.

Atrapado Con La Primavera
fuente
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

gato
fuente
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.

Semih Sezer
fuente
0

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

chris_cx
fuente
-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.

Nolan Luckett
fuente