检测VimL中的退格

检测VimL中的退格,vim,Vim,我试图在Vim中键入特定场景时检测何时出现退格。我使用getchar()从用户输入中获取一般字符。理想情况下,我希望以这种方式检测退格击键。我想用stty,但我还不确定。有什么建议吗?如果使用getchar,可以使用 let char=getchar() if char is# "\<BS>" … endif let char=getchar() 如果char是#“\” … 恩迪夫 。这假设vim配置正确(只有端子vim、gvim没有此问题)。大多数情况下是这样,但有时用

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

如果使用getchar,可以使用

let char=getchar()
if char is# "\<BS>"
    …
endif
let char=getchar()
如果char是#“\”
…
恩迪夫

。这假设vim配置正确(只有端子vim、gvim没有此问题)。大多数情况下是这样,但有时用户只是映射按
时生成的字符,而不是固定terminfo,或者更可能是使用
set={}
。这是无可奈何的。

你想做什么?(如按什么顺序)。也许有更好的方法来做你想做的事情。另外,发布您拥有的代码也是一个好主意。非常好,这个代码片段和您的解释帮助纠正了这个问题。