Como configurar backspace para excluir 1 char com ts, sw, sts e et configurados no vim

3

Eu tenho o seguinte no meu vimrc:

set tabstop=8
set shiftwidth=4
set softtabstop=4
set expandtab

set backspace=indent,eol,start

set autoindent

Isso faz o que eu quero: inserir apenas espaços, nunca separar caracteres; pressionando a tecla insere 4 espaços; recuos automáticos são 4 espaços.

Se eu estiver recuado n níveis e bater no backspace no modo de inserção, volto 1 nível de recuo (1 sts) para o nível n-1.

Como posso configurar a tecla de retrocesso para me levar de volta em um único espaço?

    
por Lewis 24.02.2011 / 19:15

3 respostas

2

Isso parece funcionar:

imap <BS> <Left><Del>

Atualização: Isso faz com que o backspace se comporte estranhamente na margem esquerda. Isso corrige esse problema:

set whichwrap+=[
    
por 24.02.2011 / 19:57
1

Remover "set softtabstop = 4" também fornecerá o comportamento de retrocesso desejado, embora isso possa afetar outros comportamentos que você está acostumado.

    
por 03.03.2011 / 06:39
0

Você poderia usar

set tabstop=4 shiftwidth=4 expandtab

e elimine

set softtabstop=4

e esqueça as guias.

Na minha experiência, as guias usadas para estruturar o texto mais cedo ou mais tarde se tornam um incômodo.

    
por 01.09.2011 / 14:27