Wie kann ich im Fenster zur Auswahl der Rechtschreibprüfung meine eigene Korrektur eingeben?


14

Bei der Rechtschreibprüfung wird bei der Eingabe z=eine Auswahlliste angezeigt (siehe Abbildung unten).

richtig auswählen

Wie Sie die korrekte Schreibweise sehen können; "ie" wird in keiner der Optionen angezeigt. Ich möchte dieses Menü erweitern, sodass ich stattdessen einfach "ie" eingeben und die Eingabetaste drücken und es ersetzen lassen kann.

Es wäre auch schön, wenn ich als Teil desselben Schritts anfangen könnte, den Namen einer der vorgestellten Optionen einzugeben, und dann mit der Tabulatortaste mithalten könnte. Mein Verstand funktioniert besser beim Ersetzen von Wörtern durch die Eingabe von Wörtern als durch die Eingabe von Zahlen.

Ich vermute, dass dies mit einem Plug-In erledigt werden muss, bin mir aber nicht sicher, ob es sich nicht nur um eine Konfigurationsoption handelt.

Antworten:


5

Ein Blick auf die spell_suggest()Funktion in spell.cdieser scheint mit nicht möglich zu sein z=. Nachdem Sie alle möglichen Vorschläge erhalten und angezeigt haben, geschieht Folgendes:

/* Ask for choice. */
selected = prompt_for_number(&mouse_used);

prompt_for_number()lebt in misc1.cund tut genau das, was Sie erwarten: Es fordert zur Eingabe einer Nummer auf (siehe auch get_number()in derselben Datei). Zuordnungen oder andere Eingaben sind nicht zulässig.


Eine zweite Option ist die Verwendung von Vims Zauber "Vervollständigung" durch Ctrl x+ soder Ctrl x+ Ctrl s1 im Einfügemodus. Das macht ungefähr das, was Sie wollen. Sie können aus den Vervollständigungen mit Ctrl nund Ctrl poder den Pfeiltasten wählen oder Ihre eigene Verbesserung eingeben.

Sie können das Supertab- Plugin verwenden, um dies mit Ihrem TabSchlüssel zu tun . :help ins-completionhat auch eine CleverTab()funktion die du dafür anpassen könntest.

Weitere Informationen finden Sie unter : :help ins-completion, :help i_CTRL-X_s


Schließlich hat Vim die spellsuggest()Funktion, die eine Liste von Rechtschreibvorschlägen zurückgibt:

:echo spellsuggest('hellz')
['hells', 'hello', 'hell', 'help', 'halls', 'heals', 'heels', 'hills', 'hulls', 'hell''s',
 'hellos', 'hell’s', 'held', 'helm', 'tell', 'well', 'bells', 'cells', 'dells', 'fells',
 'helot', 'helve', 'hertz', 'hilly', 'holly']

Mit dieser Funktion können Sie Ihren eigenen Bildschirm mit Rechtschreibvorschlägen erstellen.


Fußnote

1 : Beachten Sie, dass die Verwendung Ctrl smöglicherweise nicht funktioniert, wie in den Dokumenten erwähnt:

HINWEIS: STRG-S unterbricht die Anzeige in vielen Unix-Terminals. Verwenden Sie stattdessen 's'. Geben Sie STRG-Q ein, um die Anzeige fortzusetzen.

Wenn Sie gVim verwenden, Ctrl ssollte using funktionieren. Oder Sie können dies in Ihrem Terminal mit deaktivieren stty -ixon.


3

Ich werde erweitern / konsolidieren @ Quincy-Bowers Antwort:

  1. Sie können keine eigenen Vorschläge auf dem Bildschirm für Zaubervorschläge eingeben.
  2. Es macht (in VIM) wenig Sinn, eigene Vorschläge in den Bildschirm mit den Rechtschreibvorschlägen einzutragen.

VIM ist ein Texteditor. Da dies das Beste ist, überlässt es die Bearbeitung sich selbst. Mit anderen Worten: Um ein falsch geschriebenes Wort in einen benutzerdefinierten Vorschlag zu ändern, drücken Sie enter, um die Vorschlagsliste zu schließen, und ändern Sie das Wort manuell in die richtige Schreibweise. (Funktioniert ciwperfekt dafür).

Dann (wie in @ quincy-bowers vorgeschlagen), wenn Sie möchten, dass die benutzerdefinierte korrekte Schreibweise in nachfolgenden Vorschlagslisten angezeigt wird, geben Sie ein, zgwenn sich der Cursor auf dem Wort befindet und es Ihrem Rechtschreibwörterbuch hinzugefügt wird (siehe :help zgfür Details).

Nach all dem hat es die cleveren Leute, die VIM nutzen, jedoch nicht daran gehindert, Alternativen zu finden (unbegrenzte Möglichkeiten, eine Katze zu häuten, die sie sagen), und Sie könnten ein alternatives Plugin ausprobieren, zum Beispiel Unite-Spell-Suggest .


Das Beschreiben des aktuellen Workflows ist eher ein Kommentar als eine Antwort. Obwohl du es gut erklärst.
Lyndon White

1
@Oxinabox vielleicht suchst du etwas mehr in den Zeilen von: vim.org/scripts/script.php?script_id=4929 vielleicht?
Sukima,

Ja, das ist viel eher das, wonach ich suche.
Lyndon Weiß

2

Ohne irgendwelche Plugins hinzuzufügen, können Sie Ihrer Zauberdatei ein bekanntes gutes Wort hinzufügen. Anstatt z=die Rechtschreibvorschläge aufzurufen, wählen Sie visuell den Text aus, den Sie zur Rechtschreibdatei hinzufügen möchten, und drücken Sie zg.

Ich sollte auch beachten, dass Sie im Fenster mit den Rechtschreibvorschlägen die gewünschte Maus auswählen können, solange Sie die Maus für den NORMAL-Modus aktiviert haben. Ich habe set mouse=azum Beispiel in meinem .vimrc festgelegt, dass die Maus in allen Modi aktiviert wird, unabhängig davon, ob ich mich in Vim oder in gVim befinde.

Ich denke nicht, dass die anderen Dinge, die Sie wollen, ohne ein Plugin oder eine Änderung von Vim selbst erreicht werden können.


1
Dies sind alles nützliche Tipps, aber ich verstehe nicht, wie sie die Frage beantworten?
Martin Tournoij

@Carpetsmoker Ich könnte dasselbe über deine eigene Antwort sagen. Ich sagte ihm, dass dies nicht möglich sei und bot eine Änderung des Workflows als mögliche Abhilfe an. Genau wie du.
Quincy Bowers

1
@MartinTournoij Diese Antwort gibt tatsächlich eine Lösung für das Problem: Muss ein neues Wort enthalten > zg führt eine solche Einbeziehung aus .
Nilon
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.