Estoy buscando un editor de texto GUI que sea capaz de hacer una búsqueda de patrones múltiples y reemplazarlo todo a la vez. Si la fuente sería un archivo de texto, se puede hacer en modo de línea de comando sed
, pero el texto proviene del portapapeles (no es posible de otra manera).
Necesito: pegar el texto del portapapeles (5-50 palabras como máximo) en el editor de texto, presionar el botón 'reemplazar' con un conjunto de 10 patrones de reemplazo predefinidos y copiar el resultado al portapapeles. Esta secuencia se realizará unas 3000 veces ...
software-recommendation
text-editor
pregunta siempre
fuente
fuente
Respuestas:
... ¿por qué no usar un script? Comprobar
xclip
(sudo apt-get install xclip
)enviará el portapapeles a la salida estándar, y con
-i
usted puede reemplazar el portapapeles. Entoncesaplicará el cambio a la selección, y ahora puede pegarlo.
Si quieres algo gráfico, puedes incrustar el script con yad :
Eso te mostrará un diálogo como este:
Tenga en cuenta que el script modificará el búfer del portapapeles (pegar) y lo imprimirá. Para incrustar esto en un editor, por ejemplo
vim
, puede hacer lo siguiente:Añadir a tu
.vimrc
:ejecutar por ejemplo gvim.
Ahora copia el texto, ve al editor, presiona F4. Elija el cambio que desea aplicar.
El texto aparecerá en el editor. Si está bien como está, puede pegarlo. De otra manera
Edite el texto y cópielo nuevamente. (En
gvim
, puede seleccionar el texto con el mouse y simplemente elegir pegar --- o aprender losvim
comandos, lo que sea).Podría optimizarse con seguridad (probablemente pueda definir fácilmente otra tecla para seleccionar y pegar el texto modificado de modo que tenga aún menos pulsación de tecla para usar)
fuente
Puede hacer todo esto en la línea de comandos usando algo como
xsel
oxclip
para recuperar el portapapeles actual y luego guardar el resultado en él. Aquí hay un pequeño ejemplo que muestra quesed
se usa para hacer reemplazos múltiples.Devoluciones
123
fuente
¡Te presento el editor de Vim! (o Gvim para la implementación gráfica)
Con este editor de texto puedes hacer casi todo. Se basa en métodos abreviados de teclado, como
i
ingresar texto ydd
eliminar líneas de texto,dw
eliminar palabras,d2w
eliminar dos palabras.En su caso: para pegar su texto desde el portapapeles use
"*p
Y para reemplazar el texto, use
:s/foo/bar/g
reemplazar foo con barra aquí.fuente
|
, por ejemplo::%s/foo/bar/g | %s/brown/fox/g | %s/lorum/ipsun/g
. O coloque los comandos línea por línea en un archivo y úselos:source commandfile.vim
para ejecutar los comandos. O cree una macro ...