editor de texto que permite la selección del bloque de texto y luego agrega un carácter al principio de la línea? [cerrado]

2

Hola, ¿hay un editor de texto que me permita seleccionar un bloque de texto e insertar un carácter en todas las líneas en el lugar que quiero? Por ejemplo, inicio de línea, final de línea, enésima posición

Sabor de la vida
fuente

Respuestas:

2

Sí, debería haber muchos que apoyen esto.

En vimusted podría hacer eso de múltiples maneras:

  • seleccione un bloque visual con CTRLVe inserte conI
  • usa una expresión regular: :1,$s/^/your text here/

lo que me recuerda que podría usar directamente la expresión regular con sed(es decir, en el shell).

$ sed -i 's/^/your text here/' $YOUR_FILE_HERE

Creo en emacsesto se llama M-x string-insert-rectangle.

Benjamin Bannier
fuente
Bien, descargué Vim, pero este método de selección con CTRL V no está funcionando ... Nunca he usado Vim antes.
FlavorOfLife
¿O usar expresiones regulares ...?
FlavorOfLife
3
deberías seguir el tutorial de vim. está en la carpeta vim en el menú de sus programas. Vim y Emacs son formas completamente nuevas de pensar sobre la edición de texto. Y regex ... no es para los débiles de corazón.
robertpateii
¿Qué sistema operativo estás usando? Vim en Windows está configurado de manera predeterminada para usar Ctrl-V para pegar y Ctrl-Q para el propósito indicado anteriormente.
garyjohn
En vim, 1,$se puede sustituir con %. En ed, todo el archivo es,
Grawity
2

¿hay un editor de texto por ahí que me permita

Si, Emacs.

seleccione un bloque de texto e inserte un carácter en todas las líneas en donde quiero? Por ejemplo, inicio de línea, final de línea, enésima posición

Para insertar texto en la enésima columna: seleccione el bloque de texto desde la enésima columna de la primera línea de destino hasta la enésima columna de la última línea de destino, luego presione C-x r t( string-rectangle) e ingrese el texto adicional para insertar en cada línea.

Para insertar texto al final de la línea: seleccione el bloque de texto hasta el final de la última línea, luego ejecute M-x replace-regexp(o presione C-M-%o elija "Reemplazar expresión regular" en el menú "Editar") para reemplazar la expresión regular $(que significa final de línea) con el texto que desea insertar.

( C-xsignifica Ctrl+ X; M-xsignifica ` Alt+ X)

Gilles
fuente
2
"Sí, Emacs" Hehehehehehe ....
dmckee
0

Si no le importa pagar por un editor, UltraEdit llama a esa función "Modo de columna". UltraEdit es para Windows y Linux.

Si está en Windows, creo que hay algunos editores de texto gratuitos con esa función, pero no puedo recordar sus nombres en este momento. Si los encuentro, actualizaré mi respuesta.

Scott McClenning
fuente
Bien, también he estado buscando algo como el modo de columna. ¿Puedes explicar más? Digamos que creo algún tipo de 'tabla' en texto plano, ¿podría editar una columna?
FlavorOfLife
Aquí hay un enlace ultraedit.com/support/tutorials_power_tips/ultraedit/… Espero que esto ayude.
Scott McClenning
0

Puede lograr esto con jEdit .

Para seleccionar un bloque de texto, use la herramienta Selección rectangular (es decir, mantenga presionado Control mientras selecciona)

La herramienta Buscar / Reemplazar le permite buscar usando expresiones regulares para encontrar el comienzo de cada línea, el criterio de búsqueda sería simplemente " ^"

Adrian
fuente
Otra excelente sugerencia, pero esta parece más para la raza programadora. ¡Ah, hay tantos editores de texto por ahí!
FlavorOfLife