Ik heb zojuist wat wijzigingen aangebracht in het bestand .vimrc
en het bestand .bash_aliases
en vanaf dat moment kan ik geen woorden meer verwijderen met de backspace-toets.
Mijn .vimrc
-bestand heeft:
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
En mijn .bash_aliases
-bestand heeft twee regels voor Vim:
alias vim="vim -c 'startinsert' -u ~/.vim/.vimrc"
alias vi="vi -c 'startinsert' -u ~/.vim/.vimrc"
Mijn ~/.vim
directory heeft geen enkele plug-in of script, dus er is geen enkele kans dat de plug-in dit veroorzaakt.
~/.vim/.vimrc
is een symbolische link. Het eigenlijke bestand .vimrc
bevindt zich in de map ~/vimrc/
, wat een git-repository is.
Antwoord 1, autoriteit 100%
Om backspacing over alles in de invoegmodus toe te staan (inclusief automatisch ingevoegde inspringing, regeleinden en begin van invoegen), kun je de backspace
optie:
:set backspace=indent,eol,start
of
:set backspace=2 "compatible with version 5.4 and earlier
Standaard is deze optie leeg, zodat u niet kunt terugspringen over de bovengenoemde zaken. Dit is het standaard Vi-gedrag.
Je kunt deze regel in je vimrc
-bestand plaatsen om het automatisch in te stellen wanneer Vim start:
set backspace=indent,eol,start " more powerful backspacing
Ook vanaf Vim 8.0 als er geen vimrc-bestand van een gebruiker wordt gevonden, stelt Vim backspace
in op deze waarde door de defaults.vim
-script.
Antwoord 2, autoriteit 9%
Als een linux-newb was ik bezig met een nieuwe Ubuntu 18.04-installatie en mijn vim-editor gedroeg zich anders dan ik gewend was op de andere machines die ik gebruik (inclusief het backspace-gedrag dat je beschrijft). Ik wist niet dat ik eigenlijk vigebruikte en niet vim(beide worden uitgevoerd met vi
).
Het installeren van vimen het bewerken van een bestand bracht het gedrag terug dat ik gewend was, inclusief de backspacing die werkte zoals ik had verwacht.
sudo apt install vim
Antwoord 3, autoriteit 4%
Mijn ~/.vimrc
-bestand had inhoud set nocompatible
. Nog een regel toegevoegd aan hetzelfde bestand om backspace te laten werken –
set backspace=indent,eol,start
En ren gewoon
source ~/.vimrc
in dezelfde terminal om de wijziging onmiddellijk van kracht te laten worden in dezelfde shell. Het is niet nodig om vi te openen en uit te voeren
:set backspace=indent,eol,start
Antwoord 4
Ik had hetzelfde probleem op een Debian 7.8 via SSH in urxvt + tmux.
Ik had vim en vim-tiny geïnstalleerd.
Het verwijderen van vim-tiny loste het probleem op.
Antwoord 5
Voor mij,Ik had de onderstaande instelling, maar de backspace werkt nog steeds niet.
set backspace=indent,eol,start
Eindelijk ontdekte ik dat de volgende regel tot dit probleem leidde.
inoremap <expr><C-h> neocomplete#smart_close_popup()
Als deze instelling is verwijderd, werkt de backspace-toets goed in de invoegmodus.
Reason
: dat komt omdat Vim CTRL-H als een backspace ziet, en deze regel wordt opnieuw toegewezen aan neocomplete#smart_close_popup() in de invoegmodus.
Antwoord 6
Voor mij (Debian-server, verbonden met “Konsole” van andere linux), werden problemen met de backspace-toets en pijltjestoetsen opgelost na het verwijderen van het vim-tiny pakket en het installeren van het vim-pakket.
Antwoord 7
Vaak is het ook een functie van het geselecteerde getty-type als men een SSH-client zoals Putty of iets dergelijks gebruikt. De meeste voorkeur gaat uit naar het gebruik van vt100+ omdat dit de meest standaard emulatie is.
Ik had al :fixdel
wat niet werkte. Ik moest het verwijderen en vervangen door de eerste suggestie om het te laten werken