La tecla `Eliminar` no funciona en el modo de inserción vim para eliminar contenido escrito previamente

12

Abrí vim en mi iterm2. En primer lugar, escribí algo en modo de inserción, como

Hello

En esta etapa, si no salí del modo de inserción, la deletetecla funciona y puedo eliminar la palabra completa si lo deseo.

Si salgo del modo de inserción y vuelvo a abrir el modo de inserción, esto Hellono se puede eliminar con la deletetecla. Pero el contenido recién ingresado se puede eliminar.

Cambié el nombre de mi .vimrc, el problema aún existe.

En la línea de comandos de shell, mi deleteclave funciona bien.

E hice algunas pruebas en el servidor remoto iterm, no encontré el mismo problema.

¿Cúal podría ser la causa de este problema? ¿Como arreglarlo?


PD: como estoy usando macbook, la deleteclave corresponde backspaceen PC.

zen
fuente

Respuestas:

17

Solo pon esto en tu .vimrc:

set backspace=indent,eol,start
Gawain Lau
fuente
Muchas gracias ahorrando mi tiempo :)
Sreedhar GS
3

Esto no tiene nada que ver con el shell ni con la versión de vim. Es una cosa de configuración simple, ya que la operación de retroceso en el modo de inserción es un vimcomportamiento configurable ordinario . Específicamente, es vimla backspaceconfiguración. En una máquina usted (muy probablemente) tiene ese conjunto en la cadena vacía, y en otro lo tiene configurado para incluir el valor start. Y esto probablemente esté en un archivo de configuración global.

Tenga en cuenta que el valor predeterminado si aparece vimen vimodo compatible es que la backspacevariable sea la cadena vacía. El comportamiento del que se queja es, de hecho, el comportamiento del original vi. Los sistemas operativos Linux tienden a llenar el archivo de configuración global con todo tipo de vimopciones que activan comportamientos "más amigables" que se desvían del original vi. Los BSD tienden a no hacerlo.

Otras lecturas

  • Arnold Robbins, Elbert Hannah y Linda Lamb (2008). "Edición simple". Aprendiendo los editores vi y vim . O'Reilly Media, Inc .. ISBN 9781449313258. p. 14)
  • :help backspace. vim documentación.
  • Error # 19903 . 1998. Debian BTS.
JdeBP
fuente
1

Verifique las iTermasignaciones de teclas ( Preferences -> Profiles -> Keys). Estaba usando el preajuste predeterminado de edición de texto natural y, con esta respuesta , eliminar las asignaciones de teclas relacionadas con la eliminación me resolvió el problema.

Rodrirokr
fuente