Vim Backspace Not Working in Insert Mode

Fixed in latest version Linux, macOS, Windows Updated October 21, 2026

Quick answer

Older Vim versions default to vi-style backspace that cannot delete past the insert point. Add set backspace=indent,eol,start (default since Vim 9.2).

Most likely fix: Set the backspace option.

Symptoms

Backspace beeps or stops at the point where you entered Insert mode, can't delete auto-indent, or can't join lines.

Why it happens

  • 'backspace' option is empty (vi-compatible) on Vim before 9.2 without defaults.vim
  • Vim running in 'compatible' mode (vim-tiny or a system vimrc that sets it)
  • Terminal sends the wrong key code for Backspace

How to fix it

Try these in order — the most common fix is first.

  1. 1. Set the backspace option

    1. Add set backspace=indent,eol,start to ~/.vimrc
    2. Restart Vim; check with :set backspace?
  2. 2. Turn off compatible mode

    1. Add set nocompatible at the top of ~/.vimrc
    2. On Debian/Ubuntu install the full vim package instead of vim-tiny
  3. 3. Upgrade to Vim 9.2

    1. 9.2 makes backspace=indent,eol,start the built-in default
  4. 4. Fix the terminal key code

    1. Run :fixdel in Vim
    2. Or check your terminal's Backspace setting (^? vs ^H)

This guide also covers

  • vim backspace not working
  • vim can't delete with backspace
  • vim backspace insert mode

Still not working?

If Vim keeps failing, you're not alone. See every Vim problem users report or the alternatives people switch to.

Other Vim errors