How can I fix my delete key in VIM over ssh? (Mac OS X)

Aeonaut picture Aeonaut · Nov 11, 2010 · Viewed 14.7k times · Source

When I use VIM in the terminal on my local machine (Mac OS X Snow Leopard), the delete key is really backspace (i.e., destructive backspace).

When I SSH into a particular server, for some reason it's regular delete (i.e., delete the character under the cursor).

How can I change it to be consistent? I've tried a dozen solutions, but nothing seems to work.

Checking the "Delete sends Ctrl-H" box in Terminal Preferences->Advanced doesn't work -- this is non-destructive backspace.

I've tried about a hundred different key mappings in VIM, to no avail.

Interestingly, the key works as expected when I'm typing commands in VIM (e.g., : <something>) -- it's only screwed up when I'm editing the actual text. Any ideas?

Answer

Nathan Buesgens picture Nathan Buesgens · Mar 13, 2014

This worked for me:

:set backspace=indent,eol,start

I'm not sure exactly what it does but it is listed as a possible solution here and here. I found this line in a vimrc file distributed with Ubuntu where the behavior of the mac "delete" key (otherwise known as the "backspace" key) works as expected without any other configuration.

The behavior I was experiencing was a bell sound (no characters deleted) when pressing the mac "delete" key (otherwise known as the "backspace" key) in insert mode. I am using a compiled version of vim 7.3 on "amazon linux" over ssh from a mac. Pressing <ctrl-v><delete> when in insert mode resulted in ^?.