11 votos

¿Cómo puedo desactivar globalmente la "sustitución de texto"?

Llevo tiempo buscando una respuesta a esta pregunta, así que supongo que esto sólo se puede resolver con un comando de consola.

Lo que quiero hacer es desactivar el 'Reemplazo de Texto' en todas partes de mi Mac. El truco es que tengo una biblioteca de reemplazos de texto que uso en mi iPhone (como ill > I'll ), y aparentemente está sincronizado con mi cuenta de iCloud. Como resultado, si hago cambios en un lugar afecta a todos mis dispositivos en todas partes - haciendo que la solución fácil de "eliminar todas las sustituciones de texto de su biblioteca de sustitución" no está disponible.

El reemplazo de texto al que me refiero específicamente es la opción que puedes desactivar haciendo clic con el botón derecho del ratón en cualquier área de entrada de texto y seleccionando "Sustituciones < Reemplazo de texto" (ver imagen).

Disabled 'Text Replacement'

Sé que se puede desactivar un campo a la vez haciendo clic con el botón derecho del ratón en los campos y desmarcando "Reemplazo de texto", pero está activado por defecto para cada entrada individual en cada campo de cada aplicación (incluyendo todo Internet y la barra de búsqueda/dirección de mi navegador), y periódicamente se vuelve a activar en algunas entradas.

Ya he desactivado "Corregir la ortografía automáticamente" en las opciones de texto de mi sistema. (ver imagen)

Disabled 'Correct Spelling Automatically'

Y todavía tengo que desactivar el 'Reemplazo de Texto' en cada campo o intentará corregir mi escritura con las entradas de ese diccionario.

Utilizo las pestañas de iCloud, el traspaso y varias de las otras funciones "Better Together" de Apple (y no quiero perder la capacidad de rastrear mis dispositivos con 'Find my [device]'), así que no quiero desvincular mi cuenta de iCloud de mi ordenador o mis dispositivos, pero me alegraría mucho no tener que volver a desactivar 'Text Replacement' en un campo de entrada.

Cualquier sugerencia o idea será muy apreciada.

EDITAR: He encontrado https://apple.stackexchange.com/a/217387/172938 y https://apple.stackexchange.com/a/121553/172938 , ambos con algunas referencias a la consola:

defaults write -g WebAutomaticTextReplacementEnabled -bool true del primer enlace (para activar el "Reemplazo de texto" en Safari).

defaults delete -g NSUserDictionaryReplacementItems desde el segundo enlace (para borrar el Diccionario del Usuario como se ve en mi segunda imagen ).

Ambas tienen que ver con mi tema tangencialmente, pero cada una con el efecto contrario al que busco.

5voto

Samuel Kortas Puntos 21

Muy tarde, pero

defaults write -g WebAutomaticTextReplacementEnabled -bool false

Desactivará el reemplazo de texto no sólo en Safari, sino en todas las demás aplicaciones que utilizan ese método de entrada (por ejemplo, Evernote).

Es necesario reiniciar (al menos a partir de macOS 10.13.6), y la interfaz de usuario de la marca del menú no cambiará visualmente dentro de cada aplicación. El cambio también afecta sólo a las aplicaciones, y no a Spotlight.

1voto

Kevin McMahon Puntos 2195

De alguna manera he estropeado la base de datos de reemplazo de Teclado - Texto (arrastrar y soltar un imewlconverter plist convertido en la GUI).

Con 100k+ entradas cualquier entrada se vuelve muy lenta (puedo sentir la latencia), también se ha sincronizado con iOS (mismo ID de iCloud) que no quiero ya que tengo iRime .

He intentado eliminar manualmente todas las entradas (seleccionando todas) y haciendo clic en el botón - pero no funcionó, todas las entradas reaparecen como fantasmas después de unos segundos o simplemente no funcionan.

Desactivar la sincronización de iCloud Drive (Preferencias del Sistema) y volver a intentarlo, tampoco funcionó. NO importa (activar o desactivar la sincronización de los prefijos del sistema).

Resultó ser: He abierto Keyboards - Text Replacement en iOS que todavía tenía la enorme lista de entradas en ese momento, la acción desencadenó una sincronización instantánea de vuelta de iOS a MacOS (¡de verdad!).

defaults delete -g NSUserDictionaryReplacementItems no me ha funcionado en MacOS 10.14.

Más tarde descubrí (gracias a find y fd ), es posible eliminar todos los TextReplacements.db* archivos bajo ~/Library/KeyboardServices Abrir de nuevo Teclado - Texto para regenerar los archivos DB de reemplazo de texto, problema resuelto.

Los archivos deben ser eliminados y generados

TextReplacements.db
TextReplacements.db-wal
TextReplacements.db-shm

Funciona tanto en MacOS 10.14 como en 10.15.

NOTA: Por último, pero no menos importante, haga una Reset Keyboard Dictionary en dispositivos iOS con la enorme lista de entradas para evitar la sincronización con macOS.

IMPORTANTE : tenga en cuenta la sincronización de iCloud a través de múltiples dispositivos iOS / MacOS, la sincronización puede ser instantánea por lo que los elementos de reemplazo de texto pueden volver misteriosamente, compruebe cada dispositivo y asegúrese de que no empujan (sincronización) a otros dispositivos.

Misión cumplida.

0voto

Guest Puntos 1

Que yo sepa, todavía no hay una buena solución a este problema (a finales de 2018 y 10.14.1). Fue una de las primeras cosas que comprobé cuando instalé Mojave, y me decepcionó una vez más.

Creo que el problema es que la configuración del reemplazo de texto es muy granular, por ventana/pestaña. No hay un interruptor global o por aplicación que se respete. (El comando de escritura por defecto descrito anteriormente puede ayudar en algunas aplicaciones/contextos, pero definitivamente no en la mayoría). El reemplazo de texto está implacablemente activado en cualquier ventana/pestaña nueva, con algunas excepciones. En las aplicaciones donde toda la acción ocurre en una sola ventana (por ejemplo, Mensajes), puedes desactivarla y olvidarte de ella, pero en las aplicaciones en las que estás constantemente generando nuevas ventanas/pestañas, el reemplazo de texto es efectivamente ineludible - si las tienes, las activarás.

0voto

user236501 Puntos 1741

He encontrado esta solución en la web, la cito: https://attonblog.blogspot.com/2019/11/disable-text-replacement-on-safari-in-mojave.html

En conclusión:

Puede eliminar todas las configuraciones de reemplazo de texto en su Mac ejecutando el siguiente comando:

$ echo 'delete from ZTEXTREPLACEMENTENTRY;' | sqlite3 ~/Library/KeyboardServices/TextReplacements.db

$ defaults delete -g NSUserDictionaryReplacementItems

El reemplazo de texto ya no ocurrirá en MacOS.

Es sólo un borrado, así que si añades un ajuste en el lado de iOS, tendrás que volver a borrar el ajuste sincronizado.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X