在VimL中检测Backspace

时间:2013-07-07 04:16:40

标签: vim

在Vim中输入特定场景时,我试图检测何时触发退格。我正在使用getchar()从用户输入中获取常规字符。理想情况下,我想以这种方式检测退格键击。我想某种方式使用stty,但我还不确定。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是getchar,则可以使用

检查用户是否键入了退格键
let char=getchar()
if char is# "\<BS>"
    …
endif

。这假设vim配置正确(只有终端vim,gvim没有这个问题)。大部分时间都是这样,但有时候使用set <BS>={<C-v><BS>}更有可能代替修复terminfo,用户只需映射按<BS>时生成的字符。这无济于事。