Глядя на spell_suggest()
функцию в spell.c
этом не представляется возможным с z=. После получения и отображения всех возможных предложений, он делает:
/* Ask for choice. */
selected = prompt_for_number(&mouse_used);
prompt_for_number()
живет в misc1.c
, и делает именно то, что вы ожидаете, что он делает: он запрашивает номер (также см. get_number()
в том же файле). Отображения или другие входные данные не допускаются.
Второй вариант - использовать заклинание Vim «завершение» через Ctrl x+ sили Ctrl x+ Ctrl s1 в режиме вставки. Это примерно так, как вы хотите. Вы можете выбрать один из пополнений с 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
.