1

Я новичок в настройке ViM. Я почти закончил, чтобы автозаполнение работало так, как мне хотелось бы. Вот линия интереса:

inoremap <expr> i (pumvisible() ? '' : 'i<C-n>') . '<Down>'

Обратите внимание, что он захватывает i, а затем все еще печатает его (а затем отправляет <C-n>). Я хотел бы, чтобы это работало как регулярное выражение. Как я могу заставить это работать с любым символом слова? Я бы предпочел не иметь несколько копий этого для каждого персонажа.

1 ответ1

2

В отображениях нет подстановочных знаков; вам нужно создать все эти отображения с помощью цикла:

for i in split('abcdefg...', '\zs')
    execute printf("inoremap <expr> %s (pumvisible() ? '' : '%s<C-n>') . '<Down>'", i, i)
endfor

Обратите внимание, что есть плагины, которые достигают автозаполнения при вводе (что вы, кажется, пытаетесь здесь); Я использую AutoComplPop - автоматически открывает всплывающее меню для завершения

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .