HoldToType

Docs

Dictado en VS Code, el terminal y por SSH

HoldToType escribe donde está el cursor. Eso incluye el editor, el terminal integrado, PowerShell, cmd, Windows Terminal y un shell remoto por SSH, porque para el otro programa no es más que un pegado o una ráfaga de pulsaciones. Nada va a un servidor, así que en una máquina de trabajo no hay problema.

Actualizado · Vitalii Yemets

Cómo llega el texto al programa

Por defecto el texto reconocido pasa por el portapapeles y un Ctrl+V. Windows Terminal, PowerShell, cmd y VS Code lo aceptan. Donde Ctrl+V significa otra cosa, digamos una sesión de vim por SSH, o un campo que se niega a pegar, cambia al modo de tecleo en Control y comportamiento: el programa envía entonces el texto tecla a tecla, y cualquier ventana lo acepta.

  • Editor. El texto va al cursor, en la línea actual. Di las palabras que quieres; el diccionario las convierte en identificadores.
  • Terminal integrado. Un pegado, como en cualquier terminal. Nada se ejecuta hasta que pulsas Intro tú mismo.
  • SSH. El shell remoto recibe pulsaciones, así que el modo de tecleo es la opción segura para editores al otro lado.

Nombres, identificadores y jerga

Los modelos de voz escriben las palabras como se pronuncian. Una entrada del diccionario convierte la forma hablada en la escrita: di kube control, obtén kubectl; di read me, obtén README.md. Las sustituciones hacen lo mismo con frases enteras, y los comandos de voz como nueva línea insertan lo que dicen. La lista es tuya y vive en la carpeta del programa, junto a config.json.

Cómo encajan el diccionario, las sustituciones y los comandos está en la página de reglas.

Texto en vivo en la placa

Con Nemotron 3.5 las palabras aparecen en la placa pequeña mientras aún hablas, así que ves una palabra equivocada antes de que caiga. La placa se queda encima de otras ventanas y nunca toma el foco; el cursor se queda donde estaba en el editor. Parakeet es la opción para la latencia más baja después de soltar, y la página de modelos dice en qué es bueno cada uno.

Limpieza con un modelo en tu disco

El posprocesado corre un modelo de lenguaje pequeño en tu ordenador, o uno más grande en un servidor al que apuntes, con instrucciones que escribes tú. Una instrucción que convierte llama a la función foo con x e y en foo(x, y) son unas pocas líneas. Cada cadena de instrucciones recibe su propio atajo, así que una combinación de teclas da prosa y otra da código. La página de posprocesado muestra las instrucciones integradas.

Dónde corre el programa

En tu procesador: sin tarjeta gráfica, sin cuenta, sin telemetría. El registro de la pestaña Sistema lista cada dictado con un recuento de peticiones de red, y el recuento es cero. Una carpeta portátil funciona desde una memoria USB y desde un portátil bloqueado en el que no puedes instalar nada; la referencia lista cada ajuste de config.json y los puertos locales por los que hablan las partes.

Configurarlo en diez minutos

  1. Instala desde la sección de descarga o descomprime el archivo portátil desde las versiones.
  2. En el asistente elige Nemotron 3.5 para texto en vivo o Parakeet para la latencia más baja.
  3. Abre Control y comportamiento y decide: mantener Ctrl+Win, o un conmutador para que las manos se queden en las teclas. Cambia la combinación en los Atajos.
  4. Añade tus identificadores al diccionario.
  5. Si un terminal rechaza Ctrl+V, cambia al modo de tecleo; la referencia lista el ajuste.

Preguntas

¿Funciona en el terminal de VS Code?

Sí. El terminal integrado acepta un pegado como cualquier otro, y nada se ejecuta hasta que pulsas Intro.

¿Funciona por SSH y en vim?

Sí, con el modo de tecleo: el texto se envía como pulsaciones, así que el lado remoto ve escritura. En vim, entra primero en modo inserción.

¿Envía mi código a alguna parte?

No. El reconocimiento es local, y el posprocesado es local a menos que lo apuntes tú mismo a un servidor. El registro cuenta las peticiones de red por dictado.

Pruébalo en tu editor

Instala, pon el cursor en un archivo, mantén Ctrl+Win y di una línea.

Descargar HoldToType