0

Vimで特定のシナリオを入力するときにバックスペースがヒットするたびに検出しようとしています。getchar() を使用して、ユーザー入力から一般的な文字を取得しています。理想的には、この方法でバックスペース キーストロークを検出したいと考えています。どうにかsttyを使おうと思っていたのですが、今のところ定かではありません。助言がありますか?

4

1 に答える 1

1

getchar を使用している場合は、ユーザーがバックスペースを入力したかどうかを確認できます。

let char=getchar()
if char is# "\<BS>"
    …
endif

. これは、vim が適切に構成されていることを前提としています (ターミナル vim のみ、gvim にはこの問題はありません)。ほとんどの場合はそうですが、terminfo を修正する代わりに、またはおそらく を使用する代わりにset <BS>={<C-v><BS>}、ユーザーは を押したときに生成される文字をマップするだけ<BS>です。これは仕方ない。

于 2013-07-07T08:58:02.770 に答える