Это похоже на работу:
imap <BS> <Left><Del>
Обновление: это заставляет backspace вести себя странно на левом поле. Это решает эту проблему:
set whichwrap+=[
У меня есть следующее в моем Vimrc:
set tabstop=8 set shiftwidth=4 set softtabstop=4 set expandtab set backspace=indent,eol,start set autoindent
Это делает то, что я хочу: вставлять только пробелы, а не символы табуляции; нажатие на вкладку вставляет 4 пробела; автоматические отступы - 4 интервала.
Если я отступил на n уровней и нажал клавишу Backspace в режиме вставки, я возвращаюсь на 1 уровень отступа (1 sts) к уровню n-1.
Как я могу настроить клавишу Backspace, чтобы вместо этого вернуть мне один пробел?
Это похоже на работу:
imap <BS> <Left><Del>
Обновление: это заставляет backspace вести себя странно на левом поле. Это решает эту проблему:
set whichwrap+=[
Удаление «set softtabstop = 4» также даст вам желаемое поведение возврата на задний план, хотя оно может нарушить другие привычки, к которым вы привыкли.
Вы могли бы использовать
set tabstop=4 shiftwidth=4 expandtab
и удалить
set softtabstop=4
и забудьте о вкладках.
По моему опыту, вкладки, используемые для структурирования текста, рано или поздно становятся неприятностью.