Supongamos que tengo varios cursores en varias líneas, como esta:
foo|
barr|
foobar|
baz|
¿Cómo puedo empujar automáticamente el espacio en blanco al final de cada línea a un borde plano, como este ?:
foo |
barr |
foobar |
baz |
(En estos ejemplos, |
se supone que es mi cursor).
Cuando solo Tabo Spacedesde el arreglo inicial, obtienes esto:
foo |
barr |
foobar |
baz |
Eso es útil, pero no es lo que estoy buscando. Estoy buscando algún tipo de método abreviado de teclado que me permita sangrar desde una inserción irregular de varios cursores hasta una columna recta.
text-editing
sublime-text
GladstoneMantener
fuente
fuente
Tab
al final de cada línea se sangra la inserción irregular del cursor múltiple en una columna recta, pero no es posible lograr el mismo efecto usando la expresión regular. Busqué espacios finales:\s*$
y los reemplacé con el carácter de tabulación:\t
- pero\t
no logra el mismo efecto que presionarTab
manualmente.Respuestas:
Podrías usar la alineación sublime de wbond
Puede requerir que agregue esto a su archivo de configuración (Preferencias> Configuración del paquete> Alineación> Configuración-Usuario:
Reemplace "|" con cualquier personaje que quieras alinear.
Editar: como ha descubierto mtoast, agregar
"\n"
a "alinear_caracteres" da el efecto deseado.Probablemente no sea necesario agregar el nuevo carácter de línea a "ignment_space_chars "y puede eliminar el texto. Sin embargo, con mis pruebas limitadas no vi una diferencia.Mantenga controlpresionado y haga clic al final de cada línea. Luego presione las teclas de acceso rápido de alineación (para Linux, el valor predeterminado es ctrl+ alt+ a). Encontrará que los cursores están alineados con la posición más alejada del cursor.
Edit2: al agregar una nueva línea,
"alignment_space_chars"
se eliminará el texto si resalta un bloque de texto y Sublime Alignment no puede encontrar otra cosa para alinear en la línea (como un signo igual).Además, si Sublime Alignment no puede encontrar algo más para alinear, agregar una nueva línea
"alignment_chars"
rellenará el final de las líneas con espacios (o pestañas según su configuración) para que coincida con la línea más larga resaltada.fuente
"\n"
(nueva línea) a mi"alignment_chars"
y obtuve el resultado deseado. (Nota: no lo agregué"alignment_space_chars"
, lo que provocó la eliminación de las líneas). Si agrega esa sugerencia específica ("n"
) a su respuesta, la aceptaré.|
por un soloTambién puede hacerlo sin un paquete externo utilizando un truco menor, con un poco más de esfuerzo. Así es cómo:
|
representa un cursor en estas instrucciones.Cree cursores en todas las líneas deseadas usando Ctrl+ Click o seleccionando un bloque de texto y presionando Ctrl+ Shift+ L. ( documentos de selección )
Agregue espacios adicionales al final de cada palabra, hasta que cada cursor esté en o más allá del punto donde desea su columna (no importa qué tan lejos haya pasado):
( opcional 1 ) Escriba cualquier carácter seguido de un espacio; usemos
c
:Presione Homepara hacer que los cursores vayan al principio de las líneas:
Presione → (right arrow) hasta que los cursores estén donde desea su columna:
Presione Ctrl+ Shift+ →para seleccionar los siguientes espacios en blanco y
c
luego presione Delete:( opcional 1 ) Presione Deletenuevamente para limpiar el carácter de espacio en blanco adicional que agregamos en el paso opcional.
1 Usamos el
c
carácter seguido de un espacio solo si hay contenido adicional en las líneas que queremos mantener. Sin él, Ctrl+ Shift+ →seleccionaría la primera palabra de cualquier contenido adicional en las líneas, haciendo que la eliminación sea difícil.fuente
ctrl+shift+right
no trata a todos los personajes de manera consistente, por lo que puede terminar seleccionando más que solo un espacio en blanco.Shift-End
Delete
y simplemente funcionó. ¿Funciona en algunos casos pero no en otros?c
en una línea está antes del final de la palabra en otra. ¿Cuál es el problema que tengo ahora? Ciertas líneas no contienen suficiente carácter para desplazarse hacia la derecha, por lo que cuando lo hace se ajusta a la siguiente línea, dejando este truco como eso. Este es un truco, no un reemplazo útil para todos.Para aquellos que desean sangrar caracteres que no sean
=
y|
, pude instalar el paquete de Alineación y modificar el archivoSublime Text > Preferences > Package Settings > Alignment > Settings - User
para que se vea así:Luego seleccioné el siguiente código:
y presionó
Command + Ctrl + A
para alinearlo.Todo se movió a la columna más a la izquierda que el
{create
texto podría ocupar sin dejar de estar alineado.fuente