A tecla 'Delete' não funciona no modo vim insert para apagar o conteúdo digitado anteriormente

5

Eu abri o vim no meu iterm2. Em primeiro lugar, eu digitei algo no modo de inserção, como

Hello

Neste estágio, se eu não sair do modo de inserção, a tecla delete funcionará e poderá excluir a palavra inteira, se desejar.

Se eu sair do modo de inserção e abrir o modo de inserção novamente, esse Hello não poderá ser removido pela chave delete . Mas o conteúdo recém-digitado pode ser removido.

Eu renomeiei meu .vimrc, o problema ainda existe.

Na linha de comando do shell, minha chave delete funciona bem.

E fiz alguns testes no servidor remoto através de iterm , não encontrei o mesmo problema.

Qual poderia ser a causa desse problema? Como consertar isso?

PS: Como estou usando o macbook, a tecla delete é correspondente para backspace no PC.

    
por Zen 22.02.2015 / 04:00

3 respostas

7

Basta colocar isso no seu .vimrc:

set backspace=indent,eol,start
    
por 05.09.2016 / 15:34
3

Isso não tem nada a ver com o shell ou com a versão de vim . É uma coisa de configuração simples, já que a operação de backspace no modo de inserção é um comportamento configurável vim comum. Especificamente, é a configuração vim backspace . Em uma máquina, você (muito provavelmente) tem esse conjunto na sequência vazia e, em outra, você o define para incluir o valor start . E isso provavelmente está em um arquivo de configuração global.

Observe que o padrão, se você ativar vim no modo vi -compatible, é que a variável backspace seja a string vazia. O comportamento que você está reclamando é, na verdade, o comportamento do original vi . Os sistemas operacionais Linux tendem a preencher o arquivo de configuração global com todos os tipos de vim opções que ativam comportamentos "mais amigáveis" que se desviam do original vi . Os BSDs não costumam.

Leitura adicional

  • Arnold Robbins, Elbert Hannah e Linda Lamb (2008). "Edição Simples". Aprendendo o vi e o Vim Editors . O'Reilly Media, Inc .. ISBN 9781449313258. p. 14.
  • :help backspace . documentação do vim.
  • Bug # 19903 . 1998. Debian BTS.
por 22.02.2015 / 14:40
1

Acredito que isso possa ocorrer devido à versão do vim instalada no OSX por padrão. Você sempre pode instalar o vim via homebrew e ver se essa substituição ajuda. Eu encontrei esta página que ajuda a sobrecarregar a experiência do terminal OSX. link

Tome nota desta linha 'brew install vim - override-system-vi'

    
por 22.02.2015 / 05:33

Tags