Backspacing com vim

1

Eu percebo que o "comando" para apagar uma letra é x, mas se você está seriamente apagando apenas 3 ou 5 letras, é realmente benéfico pressionar ESC + hhhhh + xxxxx ?

No vim, existe alguma razão pela qual não podemos usar o backspace?

    
por Brandon 04.03.2012 / 07:14

4 respostas

5

Como sua sequência de digitação começa com <Esc> , presumo que você esteja no modo inserir , certo? Em caso afirmativo, você pode digitar <C-w> para excluir a palavra à esquerda do cursor sem sair do modo inserir .

Atingir <bs> funciona no modo inserir , bem como para caracteres únicos, não é necessário sair dela se precisar de excluir apenas alguns dos caracteres que acabou de escrever.

x é o comando "o" para apagar uma letra no modo normal mas só funciona sozinho ( x ) ou com uma contagem ( 5x ), mesmo para X . Há muitas situações em que você precisa agir em uma palavra inteira ou duas, ou entre um par de parênteses, ou até um padrão específico para a frente, ou até e incluindo uma letra específica para trás ... Em tais situações, você deve usar d em combinação com movimentos.

    
por 04.03.2012 / 08:22
2

No modo de comando, o Backspace é usado para mover o cursor para a esquerda. Se você quiser usá-lo como esperado, use o seguinte comando no modo de comando:

:nnoremap <bs> X  

Adicione no seu arquivo .vimrc se você quiser uma alteração permanente.

    
por 04.03.2012 / 07:32
1

Em vez de ESC hhhhh xxxxx , tente d5h .

    
por 04.03.2012 / 08:49
0

Você pode usar o mapeamento sugerido por Sachin Shekhar ou fazer "o modo Vi", mas, na minha opinião, existe uma maneira melhor:

A configuração backspace controla como a tecla Backspace funciona. Colocar isso no seu .vimrc faz com que a tecla Backspace funcione da maneira que a maioria das pessoas espera:

set backspace=indent,eol,start

Faça :h 'backspace para mais informações.

    
por 05.03.2012 / 09:56

Tags