¿Cómo insertar una columna de números crecientes en Sublime Text 2?


84
text
text
text
text

después de la edición, ese texto se convierte en

1 text
2 text
3 text
4 text

Es fácil en Notepad ++ con el Editor de columnas, pero no sé cómo hacer lo mismo en Sublime Text 2.


6
Quizás esta pregunta pueda ser útil: stackoverflow.com/questions/14574941/…
Riccardo Marotti

Es muy útil, gracias.
yulanggong

Este es un duplicado de la pregunta a la que se vinculó @RiccardoMarotti.
dbn

1
Recomiendo el complemento Text Pastry.
Publiqué

2
Buen complemento! Escribí un complemento basado en la respuesta de @Riccardo Marotti, github.com/yulanggong/IncrementSelection
yulanggong

Respuestas:


86

El complemento Text Pastry hace su trabajo muy bien. Ofrece la sintaxis de inserción de números .

Seleccione varias líneas con CMD+ SHIFT+ L(sublime predeterminado):

   text|
   text|
   text|
   text|

Mueva el cursor donde lo desee:

 | text
 | text
 | text
 | text

E inserte números con Text Pastry presionando CMD+ ALT+ Ne ingresando 1 1 0:

 1| text
 2| text
 3| text
 4| text

Donde 1 1 0significa:

  • Entero para empezar 1
  • Incremento por 1
  • Padd ceros iniciales 0

Reemplazar CMDcon CTRLen máquinas Windows o Linux.


11
Para mí, la entrada Text Pastry es un cuadro de texto. Cuando vi [1] [1] [0] arriba, pensé que significaba escribir 110lo que no le dará lo que desea. Debes ingresar es 1 1 0con espacios. ¿Al usar etiquetas kbd, incluye espacios? Me pregunto cuál es la diferencia visual entre 110y 1 1 0si se usan etiquetas kbd.
AnnanFay

Lo siento, no sé cómo hacer espacios kbd. ¿Pero entiendes la idea ahora? :)
Afr

31

Para este caso particular, puede utilizar el paquete Increment Selection . Simplemente presione Ctrl+ Alt+ I( Command+ Control+ I) mientras tiene varios cursores al comienzo de cada línea. Además de la respuesta de melinath , aquí hay un ejemplo de cómo hacerlo:

Primero necesitará Control de paquetes . No debería tomar más de 30 segundos instalar ambas cosas.

Pasos:

  1. Instale Package Control .
  • Abrir paleta de comandos: Ctrl+ Shift+ P(Mac: Command+ Shift+ P).
  • Escriba Install Package Controly haga clic para instalar.
  1. Instale el paquete Increment Selection .
  • Abra Command Palette nuevamente.
  • Escriba Package Control: Install Package, haga clic en él y espere un momento.
  • Escriba Increment Selectiony haga clic en él para instalar.
  1. Agregue números de línea al principio de cada línea.
  • Seleccione todas las líneas con Ctrl+ A(Mac: Command+ A)
  • Cambie la selección a varias líneas con Ctrl+ Shift+ L(Mac: Command+ Shift+ L)
  • Vaya al inicio de cada línea presionando Home(Mac: Command+ )
  • Usar selección de incremento con Ctrl+ Alt+ I(Mac: Command+ Control+ I)

Resultado:

increment-selection.gif


Otros ejemplos de selección de incrementos

Increment Selection también puede reemplazar números, prefijar números con ceros iniciales, incrementar letras, incrementar en un paso y más.

   [1] text    [1] text    [1] ->  1| text  2| text  3|
   [a] text    [a] text    [a] ->  a| text  b| text  c|
  [01] text   [01] text   [01] -> 01| text 02| text 03|
[05,3] text [05,3] text [05,3] -> 05| text 08| text 11|
[5,-1] text [5,-1] text [5,-1] ->  5| text  4| text  3|

Sugerencia: []representa una selección, |representa un signo de intercalación.

Complementos similares destacados

  • Evaluador de selección : evalúe la expresión matemática seleccionada con Ctrl+ Shift+ M(Mac: Command+ Shift+ M).

2
FWIW, esta solución también funciona en sublime text 3.2.2 build 3211. El cambio total del juego no es necesario tener una hoja de cálculo abierta solo para producir una serie de números.
VanBantam

1
me salvaste las horas. pulgar hacia arriba
NomanJaved

22

El complemento IncrementSelection habilita este comportamiento. Si tiene Package Control instalado, puede buscarlo e instalarlo. ¡Pan comido!


Encontré que este complemento es bastante excelente. Estaba generando manualmente un patrón SVG y necesitaba incrementar varias posiciones de trazado. El complemento hizo los cálculos y todo por mí. <path d="M330,0C220,63.7,0,191,0,191"/><path d="M330-2C220,61.7,0,189,0,189"/> <path d="M330-_C220,__.7,0,___,0,___"/>
davidcondrey

2

Utilice el paquete Emmet pruebe esto:

  {$ text${newline}}*4

¡Muy bien! Por cierto, si desea cambiar el valor base del contador a 3 (por ejemplo, 3, 4, 5, 6), reemplace el primero $con $@3. Si desea invertir el contador (por ejemplo, 4, 3, 2, 1), reemplace el primero $con $@-. Si desea invertir el contador de nuevo a 3 (por ejemplo, 6, 5, 4, 3), reemplace el primero $con $@-3. Si desea rellenar ceros (por ejemplo, 001, 002, 003, 004), reemplace el primero $con $$$. Ver docs.emmet.io/abbreviations/syntax/#item-numbering
Rockallite

¡Esto fue útil! {$ => $,${newline}}*12para crear una matriz con claves y valores, meses del año
Craig London

2

Mi solución alternativa (hasta ahora, cuando encontré este hilo) era ir a mi editor de hojas de cálculo, generar la secuencia allí, copiar, volver a subl, expandir el cursor sobre tantas líneas y pegar.

Este enfoque se puede aplicar en cualquier editor de texto que le permita expandir (clonar) el cursor.


2

copia de esta publicación https://stackoverflow.com/a/64083371/5902698

Desea tener un número en cada fila que haya seleccionado, pero no el mismo. Por ejemplo, selecciona 5 cursores y desea escribir 1 2 3 4 5.

seleccione sus 5 cursores
ingrese la descripción de la imagen aquí

ctrl + maj + P y seleccione aritmética ingrese la descripción de la imagen aquí

Como tienes 5 cursores, propone 1 2 3 4 5
ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Si lo desea, puede cambiar su número de iteraciones
ingrese la descripción de la imagen aquí

O comience desde un número diferente al 1
ingrese la descripción de la imagen aquí

Agregar número impar
ingrese la descripción de la imagen aquí


Esta respuesta parece simple. Será mejor mencionar cómo seleccionar varios cursores. CTRL + ALT + ARRIBA / ABAJO para Windows. ¡Gracias!
Tintu Thomas

0

Puede usar el complemento ConyEdit para hacer esto, use su línea de comando cc.abl '#1 'para agregar líneas antes del contenido que desee.

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.