Я пытаюсь обнаружить, когда обратное пространство попадает при вводе конкретного сценария в Vim. Я использую getchar() для захвата общих символов из пользовательского ввода. В идеале я хотел бы обнаружить обратное нажатие клавиши таким образом. Я как-то думал о том, чтобы использовать stty, но пока не уверен. Какие-либо предложения?Обнаружение Backspace в VimL
0
A
ответ
1
Если вы используете GetChar вы можете проверить напечатал ли пользователь забой с помощью
let char=getchar()
if char is# "\<BS>"
…
endif
. Это предполагает, что vim настроен правильно (только терминал vim, gvim не имеет этой проблемы). В большинстве случаев, но иногда вместо фиксации terminfo или, более вероятно, с использованием set <BS>={<C-v><BS>}
, пользователи просто отображают символы, созданные при нажатии <BS>
. Это не поможет.
+0
Отлично, этот фрагмент и ваше объяснение помогли исправить проблему. –
Что вы пытаетесь сделать? (как в какой последовательности). Может быть, лучший способ сделать то, что вы пытаетесь сделать. Также может быть хорошей идеей опубликовать код, который у вас есть. – FDinoff