I'm trying to fix vim's Backspace behavior on one of the platforms I use. I got the name of this platform (call it
bad_platform) from the system's
get_platform command. Following the advice in
:help fixdelete, and combining it with knowledge of how to execute system commands, I added the following to my .vimrc:
let platform_name = system("get_platform") if platform_name == "bad_platform" set t_kb=^? fixdel endif
This didn't work. To find out why, I opened a Vim session and did
:echom platform_name. That gave the result
^@ is I guess the NULL character, not literally the two characters you get from typing "shift-6 shift-2".
Unfortunately, this presents a problem. I can't change it to
== "bad_platform^@", because when the .vimrc is sourced it seems that
^@ is interpreted as an end-of-line character. This means that adding
let platform_name = substitute(platform_name,"\^@","","") before the
if doesn't work either.
How can I deal with this? Thanks in advance.