2012-07-19 23 views
41

Acabo de hacer algunos cambios en el archivo .vimrc y en el archivo .bash_aliases y desde ese momento no puedo eliminar palabras con la tecla de retroceso.La tecla de retroceso no funciona en Vim/vi

Mi archivo .vimrc tiene:

set nocompatible 

set number 
set incsearch 
set autoindent 
set ruler 
set autowrite 
set smarttab 
set linebreak 
set spell 
set et 
set title 

set mouse=v 
set history=50 
set tabstop=4 
set matchtime=2 
set matchpairs+=<:> 

syntax enable 
filetype plugin indent on 
filetype indent on 
set sw=4 

map <f2> :w\|!python % 

hi SpellBad ctermfg=000 guifg=#000 

Y mi archivo .bash_aliases tiene dos líneas de Vim:

alias vim="vim -c 'startinsert' -u ~/.vim/.vimrc" 
alias vi="vi -c 'startinsert' -u ~/.vim/.vimrc" 

Mi directorio ~/.vim no tiene un solo plugin o la escritura, por lo que hay ISN' Hay alguna posibilidad de que el complemento cause esto.

~/.vim/.vimrc es un enlace simbólico. El archivo real .vimrc está en el directorio ~/vimrc/ que es un repositorio de git.

Respuesta

87

Para permitir el retroceso en todo en el modo de inserción (incluyendo sangrado insertada de forma automática, los saltos de línea y el inicio de inserción) estableció la siguiente opción:

:set backspace=indent,eol,start 

o

:set backspace=2 "compatible with version 5.4 and earlier 

La opción por defecto es vacío, no permitiéndole retroceder sobre las cosas mencionadas anteriormente. Este es el comportamiento Vi estándar.

Ver :help 'backspace'.

+0

¿Puede explicar detalladamente qué sucedió realmente? y ¿cómo resolvió tu respuesta este problema? –

+0

¿Ha solucionado este problema? ¿Has leído el artículo de ayuda vinculado? Básicamente establece lo que se permite eliminar con la tecla de retroceso. – Conner

+0

que todavía no funciona para mí =/i tengo 'set de retroceso = 2' 'set retroceso = guión, EOL, start' ' fixdel' – holms

1

Para mí (servidor Debian, conectado con "Konsole" de otro Linux), los problemas con la tecla de retroceso y las teclas de flecha se resolvieron después de desinstalar el paquete vim-tiny e instalar el paquete vim.

+1

Quizás, estos paquetes instalen archivos vimrc diferentes. –

1

Tuve el mismo problema en un Debian 7.8 a través de SSH en urxvt + tmux. Tenía vim y vim-tiny instalados.

Quitar vim-tiny solucionó el problema.

1

Muchas veces también es una función del tipo getty seleccionado si se está utilizando un cliente SSH como Putty o algo así. Lo más preferible sería usar vt100 + ya que es la emulación más estándar.

Ya tuve :fixdel que no funcionaba. Tuve que quitarlo y reemplazarlo con la primera sugerencia para que funcione

1

Para mí, tuve la configuración a continuación, sin embargo, el retroceso aún no funciona.

set backspace=indent,eol,start

Finalmente, encontré siguiente línea llevó a este problema.

inoremap <expr><C-h> neocomplete#smart_close_popup()

Cuando se elimina este ajuste, la tecla de retroceso tecla funciona bien en modo de inserción.

Reason: Esto se debe a que Vim ve CTRL-H como un retroceso, y esta línea hace la reasignación a neocompletar # smart_close_popup() en modo de inserción.

0

Mi archivo ~/.vimrc tenía contenido set nocompatible. Añadido otra línea para el mismo archivo para hacer el trabajo de retroceso -

set backspace=indent,eol,start 

Y sólo funcionan

source ~/.vimrc 

en el mismo terminal para el cambio tenga efecto inmediato en la misma consola. No es necesario abrir vi y ejecutar

:set backspace=indent,eol,start 
Cuestiones relacionadas