Retrocesso no modo de inserção no vi não apaga o caractere

60

Eu sou novo no vi, na verdade comecei a aprender vi a partir de hoje e fiquei preso ao comportamento da tecla backspace.

Na verdade, quando ativei o vi no meu Ubuntu 12.04 pela primeira vez, a minha tecla de retrocesso estava funcionando normalmente, mas depois disso ele começou a se comportar de maneira estranha. Sempre que pressiono o backspace no modo de inserção, ele se move apenas um lugar para a esquerda, em vez de apagar o caractere.

Como posso recuperar a funcionalidade de backspace padrão? Por favor note que eu não quero instalar o vim ou definir a nocompatibilidade.

    
por Saprativa Bhattacharjee 16.05.2013 / 20:58

4 respostas

37

Esse é o comportamento correto para o vi, e ele apaga o caractere, ele simplesmente não mostra substituindo-o por um espaço em branco como no vim. Ficará aparente quando você substituir o caractere apagado por outro caractere ou voltar ao modo de comando.

Por exemplo começando com o modo de comando em uma linha vazia, o seguinte resultará na linha contendo fo :

i f o o Retrocesso Esc

Antes de você pressionar a tecla Esc , a linha lerá foo , mas o último o foi marcado como "coluna de apagamento". Consulte o link (principalmente o ponto 4 abaixo desse título e também navegue um pouco mais abaixo até leia sobre < Control > -H)

    
por geirha 16.05.2013 / 21:36
64

Aqui está a solução mais simples.
Abra um terminal, vá para o diretório inicial e digite

vi .vimrc

um novo arquivo aberto agora adiciona essas linhas ao arquivo e sai salvando

$ set nocompatible
$ set backspace=2
    
por Adithya Chakilam 03.11.2013 / 13:44
20

Você precisa mudar para o modo "inserir" movendo o cursor com i . Existem outras maneiras de excluir caracteres diretamente. Você pode fazer o download de um powerpoint que eu uso ao dar aula em um VI aqui .

Parece que você está no modo "Comando". Para mover o cursor:
H = Esquerda, J = Cima, K = Baixo, L = Direita

Depois de posicionar o cursor, você pode excluir o texto da seguinte maneira:
x Exclui o caracter sob o cursor
X Exclui o texto caractere antes do cursor
dw Exclui do cursor para a próxima palavra
dd Exclui a linha do cursor está ligado.

Para inserir texto , você pode usar um dos modos de entrada de texto.
a Adiciona texto ao direito do cursor
A Adiciona texto ao fim da linha atual
i Adiciona texto para a esquerda do cursor
I Adiciona teste ao beginin da linha atual
o Abre uma nova linha abaixo a linha atual e coloca você no modo de entrada de texto
O Abre uma nova linha Acima da linha atual e coloca você no modo de entrada de texto

Para sair do modo de entrada de texto e retornar ao modo de comando, use Esc .

Para Anular alterações: (Um favorito do aluno)
u Anular o último comando introduzido
U Anular todas as alterações para a linha ** atual **

Para salvar / sair: :w Escreve (Salva) o arquivo e permanece aberto
:wq Grava (Salva) o arquivo e sai VI
:q Sai (Sai) se você ' não fez alterações
:q! Desistiu (Saídas) sem salvar alterações de ZZ Grava (Salva) o arquivo e sai VI (mesmo que :wq )

    
por Argusvision 16.05.2013 / 21:31
9

Instale o pacote completo do vim para obter o backspace e a funcionalidade da tecla de seta

sudo apt-get update
sudo apt-get install vim
    
por Ratnala Jagadeesh 01.04.2017 / 07:28

Tags