Script AHK para reemplazar automáticamente el contenido del portapapeles

Script AHK para reemplazar automáticamente el contenido del portapapeles

Cuando escribo un script AHK como este:

::abc::alphabet

Funciona a las mil maravillas. Lo único es que, cuando quiero una parte copiada del texto (algo que incluye cosas que quiero que se reemplacen automáticamente), no quiere reemplazarla.

Por ejemplo:

!INS::{Ctrl Down}c{Ctrl Up}{Tab 2}{Enter}{Ctrl Down}v{Ctrl Up}

Me deja copiar abcpero cuando lo pego no lo consigo alphabet(como se definió anteriormente).

¿Hay alguna manera de reemplazar las palabras copiadas y pegadas? ¿Como cuando uso el sendcomando para enviar una línea o algunas palabras que incluyen una palabra que me gustaría reemplazar automáticamente?

Respuesta1

cuerdas calientessólo afecta lo que escribes físicamente. Para realizar búsqueda y reemplazo en elPortapapelespuedes usar elRegExReemplazardominio.

A continuación se muestra un script que copia el texto seleccionado y luego pega el contenido modificado (después de buscar y reemplazar). Creo que esto es lo que quisiste decir:

#x:: ;[Win]+[X]

;Empty the Clipboard.
    Clipboard =
;Copy the select text to the Clipboard.
    SendInput, ^c
;Wait for the Clipboard to fill.
    ClipWait

;Perform the RegEx find and replace operation,
;where "ABC" is the whole-word we want to replace.
    haystack := Clipboard
    needle := "\b" . "ABC" . "\b"
    replacement := "XYZ"
    result := RegExReplace(haystack, needle, replacement)

;Empty the Clipboard
    Clipboard =
;Copy the result to the Clipboard.
    Clipboard := result
;Wait for the Clipboard to fill.
    ClipWait

;-- Optional: --
;Send (paste) the contents of the new Clipboard.
    SendInput, %Clipboard%

;Done!
    return

información relacionada