Подтвердить что ты не робот

Клавиша Backspace не работает в Vim/vi

Я только что внесли некоторые изменения в файл .vimrc и .bash_aliases, и с этого времени я не могу удалить слова с помощью клавиши backspace.

В моем файле .vimrc есть:

set nocompatible

set number
set incsearch
set autoindent
set ruler
set autowrite
set smarttab
set linebreak
set spell
set et
set title

set mouse=v
set history=50
set tabstop=4
set matchtime=2
set matchpairs+=<:>

syntax enable
filetype plugin indent on
filetype indent on
set sw=4

map <f2> :w\|!python %

hi SpellBad ctermfg=000 guifg=#000

И мой файл .bash_aliases имеет две строки для Vim:

alias vim="vim -c 'startinsert' -u ~/.vim/.vimrc"
alias vi="vi -c 'startinsert' -u ~/.vim/.vimrc"

В моем каталоге ~/.vim нет единого плагина или script, поэтому нет никакого шанса, что этот плагин вызовет это.

~/.vim/.vimrc является символической ссылкой. Фактический .vimrc файл находится в директории ~/vimrc/, которая представляет собой репозиторий git.

4b9b3361

Ответ 1

Чтобы разрешить обратное перемещение по всему в режиме вставки (включая автоматически вставленные отступы, разрывы строк и начало вставки), установите следующую опцию:

:set backspace=indent,eol,start

или

:set backspace=2  "compatible with version 5.4 and earlier

По умолчанию этот параметр пуст, не позволяя вам отступать над вышеупомянутыми вещами. Это стандартное поведение Vi.

См. :help 'backspace'.

Ответ 2

Для меня (сервер Debian, связанный с "Konsole" из другого Linux), проблемы с ключом backspace и клавишами со стрелками были решены после удаления пакета vim-small и установки пакета vim.

Ответ 3

У меня была та же проблема на Debian 7.8 над SSH в urxvt + tmux. У меня был vim и vim-tiny.

Удаление vim-tiny устраняет проблему.

Ответ 4

Много раз это также функция выбранного типа getty, если вы используете SSH-клиент, такой как Putty или некоторые из них. Наиболее предпочтительным было бы использовать vt100 +, поскольку это самая стандартная эмуляция.

У меня уже был :fixdel, который не работал. Я должен был удалить его и заменить его первым предложением, чтобы заставить его работать.

Ответ 5

Для меня у меня была настройка ниже, однако backspace все еще не работает.

set backspace=indent,eol,start

Наконец, я нашел, что следующая строка привела к этой проблеме.

inoremap <expr><C-h> neocomplete#smart_close_popup()

Когда этот параметр удаляется, клавиша backspace работает хорошо в режиме вставки.

Reason: Это потому, что Vim видит CTRL-H в качестве backspace, и эта строка делает переопределенную функцию neocomplete # smart_close_popup() в режиме вставки.