Pregunta Añadir palabra en el cursor al diccionario usando el teclado


Al usar la corrección ortográfica en Sublime Text 3, es posible hacer clic derecho en una palabra mal escrita / subrayada y desde el menú contextual, agregarla al diccionario. ¿Hay alguna manera de hacer esto usando el teclado sin involucrar al mouse?

context menu spelling suggestions

los documentación oficial menciona el add_word comando, pero no hay ninguna combinación de teclas predeterminada que lo use, y requiere que la palabra para agregar se especifique como un argumento, es decir, no agrega la palabra debajo del símbolo de intercalación.


1


origen




Respuestas:


Una respuesta simple sería abrir el menú contextual con el teclado (algunos teclados tienen un botón dedicado para él, por ejemplo, entre el Alt Gr y derecho Ctrl llaves. Alternativamente, puede presionar Cambio+F10 en Windows. Luego, solo es un caso de usar las teclas de flecha para seleccionar la opción de menú Agregar palabra y presionar Entrar.


Obviamente, esto se puede hacer con menos pulsaciones de teclas utilizando un enlace de teclado personalizado, que es donde el add_word comando mencionado en la documentación sería útil.

Sin embargo, como las combinaciones de teclas no pueden usar el texto debajo del cursor o la selección como argumento, se necesitaría crear un pequeño complemento de Python para esto. (Hay excepciones donde el comando que se está ejecutando lo admite, como insert_snippet apoyando una $SELECTION marcador de posición en el contents argumento.)

A continuación se explica cómo crear un script de Python que agregará las palabras en los cursores al diccionario:

  1. Desde el Tools menú -> Developer -> New Plugin
  2. Pega lo siguiente:

    import sublime
    import sublime_plugin
    
    class AddWordsAtCursorsToDictionaryCommand(sublime_plugin.TextCommand):
        def run(self, edit):
            for sel in self.view.sel():
                region = None
                if sel.empty():
                    region = self.view.word(sel.begin())
                else:
                    region = sel
                word = self.view.substr(region)
                self.view.run_command('add_word', { 'word': word })
    
  3. Guárdelo, en la carpeta predeterminada que sugiere, como algo así como add_word.py - la extensión del archivo es muy importante, el nombre base no lo es.

  4. Ir Preferences -> Key Bindings - User o Key Bindings dependiendo de la versión de ST3 que tengas.
  5. Introduzca la siguiente:

    { "keys": ["f8"], "command": "add_words_at_cursors_to_dictionary" }
    
  6. Si el archivo estaba previamente vacío, asegúrese de que el texto de arriba esté rodeado por corchetes. es decir [ y ]. Básicamente, debe ser un archivo JSON válido, que contenga una matriz de combinaciones de teclas.

  7. Guardarlo
  8. prensa F8 para agregar la palabra en el (los) cursor (s) de texto al diccionario. (Obviamente, puede cambiar esto a la clave que desee en el paso correspondiente).

1