使用しているプラットフォームの1つでvimのBackspaceの動作を修正しようとしています。bad_platformシステムのget_platformコマンドからこのプラットフォームの名前を取得します(それを呼び出します)。のアドバイスに従って、:help fixdeleteシステムコマンドの実行方法に関する知識と組み合わせて、次を.vimrcに追加しました。
let platform_name = system("get_platform")
if platform_name == "bad_platform"
set t_kb=^?
fixdel
endif
これはうまくいきませんでした。理由を調べるために、Vimセッションを開いて、を実行しました:echom platform_name。それは結果を与えましたbad_platform^@、ここで^@、文字通り「shift-6 shift-2」を入力して得られる2文字ではなく、NULL文字を推測します。
残念ながら、これには問題があります。== "bad_platform^@".vimrcがソースされている場合、^@行末文字として解釈されるように見えるため、これをに変更することはできません。これは、let platform_name = substitute(platform_name,"\^@","","")前に追加することもif機能しないことを意味します。
どうすれば対処できますか?前もって感謝します。