Bruce Dubbs wrote:
The backspace key is not working correctly in vim.
<snip the confirmation that the kernel keymap is correct>
I can fix the problem with echo "keycode 14 = BackSpace" | loadkeys
but that doesn't seem right to me.
It just isn't right, it will also break Emacs.
I cannot reproduce this here, but my LFS is rather old. Could you please answer the following questions?
1) Does the problem exist on the livecd itself?
No. I've been using it quite a while without problems.
2) What's in your /etc/vimrc? In particular, is the "set nocompatible" statement there?
Just the default: [~]# less /etc/vimrc " Begin /root/.vimrc
set nocompatible set backspace=2 syntax on if (&term == "iterm") || (&term == "putty") set background=dark endif
" End /root/.vimrc
3) What do you mean by "does not work"? I.e., is the description of your problem below correct?
You start vim, press "iasdf<backspace>". The "f" letter is not deleted but it should be. Instead, the following happens: <describe here>.
Sorry. I should have specified. I get ^? printed on the screen in insert mode or in :ex mode. No characters are erased.
A Ctrl-h works properly as a backspace should.
showkey says the backspace keycode is 14. dumpkeys says keycode 14 is Delete.
The delete key is code 111 and has function Remove. It works properly as do he arrow keys, etc.
This looks like the normal way linux is set up and suggests to me the problem is in vim. vim should translate the erase to a backspace operation, but it isn't.
I built vim according to the book with no optimizations.
I have not changed /etc/inputrc.This only controls applications linked with readline. Vim isn't.
I thought vim used it, but I'm glad you pointed that out.
-- Bruce
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
