これでspell_suggest()
関数を見るのspell.c
は不可能ですz=。すべての可能な提案を取得して表示した後、次のことを行います。
/* Ask for choice. */
selected = prompt_for_number(&mouse_used);
prompt_for_number()
に住んでいてmisc1.c
、あなたが期待することとまったく同じことをします:数字の入力を促しget_number()
ます(同じファイルも参照してください)。マッピングまたはその他の入力は許可されていません。
2番目のオプションは、挿入モードでCtrl x+ sまたはCtrl x+ Ctrl s1を介してVimのスペル「完了」を使用することです。これは大体あなたが望むことをします。Ctrl nおよびCtrl pまたは矢印キーを使用して完了から選択するか、独自の改善を入力できます。
キーを使用してこれを行うには、supertabプラグインを使用できTabます。これに適応できる機能:help ins-completion
もCleverTab()
あります。
詳細については、以下を参照してください
:help ins-completion
、
:help i_CTRL-X_s
最後に、Vimには、spellsuggest()
スペルの候補のリストを返す関数があります。
: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']
この関数を使用して、独自のスペル提案画面を構築できます。
脚注
1:Ctrl sドキュメントで言及されているように、使用が機能しない場合があることに注意してください。
注:CTRL-Sは、多くのUnix端末で表示を一時停止します。代わりに「s」を使用してください。表示を再開するには、CTRL-Qを入力します。
gVimを使用している場合は、使用してCtrl sください。または、ターミナルでこれを無効にすることができますstty -ixon
。