Re: emacs backspace question
On 03/24/2011 05:55 PM, Nerius Landys wrote: I've read a lot on the internet regarding the use of the backspace key in emacs, but the proposed solutions don't seem to be working for me. I just installed FreeBSD 8.1 in Virtualbox and installed emacs 23.2.1 by means of the package installer. Everything in emacs works great except the backspace key, which deletes forward instead of back like it should. I've found a lot of different things on the internet about it: * switched to bash instead of csh - didn't fix it, but I like bash better * M-x normal-erase-is-backspace-mode -toggling it once makes my backspace bring up the help command; toggling it again changes it back * different keymaps - I started out using us.iso.kbd (which exhibits the backspace issue, but other keys are right) - I tried us.emacs.kbd - backspace works right, but many other keys are mapped wrong (even letters and numbers) - I tried us.unix.kbd - backspace doesn't work right and neither do my control keys I also just noticed that when on the command line itself (outside of emacs) backspace deletes backward as it should, but so does delete! Is this something weird with virtualbox, or am I doing something wrong? You have just discovered what is in my opinion a can of worms with no clear solution. I have struggled with issues such as these before, and I've managed to solve them more or less. Are you using emacs in a terminal window? (As opposed to with an X server.) I'm assuming yes. In a terminal window, yes. I don't have X installed yet. Are you accessing your computer directly through the console or through an xterm and SSH, for example? Questions such as those are important to fully diagnose and fix the problem. You want to do an echo $TERM before you start diagnosing problems such as these. If I ssh in, I don't have a problem. The only time I have a problem is when I'm logging in directly; in that instance, my $TERM is cons25. If you are using bash, you can do a man bash and look at the part that describes ~/.inputrc and/or READLINE. You may want to create an ~/.inputrc file and add stuff to it to resolve the backspace/delete issues that you are having. For example, I have the following in my ~/.inputrc because I do use bash occasionally: $if term=cons25 \x7f: delete-char $else $if term=xterm \x1b\x5b\x35\x43: forward-word \x1b\x5b\x31\x3b\x35\x43: forward-word \x1b\x5b\x35\x44: backward-word \x1b\x5b\x31\x3b\x35\x44: backward-word $endif $endif I tried these values, but they didn't work for me. I'm installing vim as we speak so I can use xxd as you indicated below to check what my keys are putting out; I'll post back with my findings. cons25 is the native FreeBSD console (like when you're physically at the computer console) and xterm is of course xterm. (Side note: Why in the heck on my 9.0-CURRENT system the system console says the TERM is xterm?) That is odd indeed! It must have come in the xterm-nox11 port. ;) As far as how I came up with the strings such as \x1b\x5b\x35\x43, you can use a command such as xxd which comes with the vim package/port to tell you what bytes are being sent when you press a certain key. If you want to fix your csh shell too, you may consider editing your ~/.cshrc file. Here is my complete ~/.cshrc, and note the stuff at the bottom with the key bindings: setenv EDITOR vi setenv PAGER less if ($?prompt) then # An interactive shell -- set some stuff up set prompt = `whoami`@`/bin/hostname -s` set filec set history = 2000 set savehist = 2000 set mail = (/var/mail/$USER) if ( $?tcsh ) then bindkey ^W backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward if ($TERM == cons25) then bindkey ^? delete-char else if ($TERM == linux) then bindkey ^[[3~ delete-char else if ($TERM == xterm) then bindkey ^[[3~ delete-char bindkey ^[[5C forward-word bindkey ^[[1;5C forward-word bindkey ^[[5D backward-word bindkey ^[[1;5D backward-word bindkey \303\277 backward-delete-word endif endif endif By the way I have a 9.0 CURRENT box here at my desk, and I've compiled emacs-nox11 port, and I'm at the system console (meaning I'm physically at the console). I am using /bin/tcsh as my shell. I have no modifications to any of my dotfiles, they are all stock. In emacs, I'm able to use Backspace and Delete just as expected. Maybe you should try setting your default shell to /bin/tcsh, if it isn't already. If you're on a mission critical
Re: emacs backspace question
On 03/25/2011 08:47 AM, Matthew Morgan wrote: On 03/24/2011 05:55 PM, Nerius Landys wrote: I've read a lot on the internet regarding the use of the backspace key in emacs, but the proposed solutions don't seem to be working for me. I just installed FreeBSD 8.1 in Virtualbox and installed emacs 23.2.1 by means of the package installer. Everything in emacs works great except the backspace key, which deletes forward instead of back like it should. I've found a lot of different things on the internet about it: * switched to bash instead of csh - didn't fix it, but I like bash better * M-x normal-erase-is-backspace-mode -toggling it once makes my backspace bring up the help command; toggling it again changes it back * different keymaps - I started out using us.iso.kbd (which exhibits the backspace issue, but other keys are right) - I tried us.emacs.kbd - backspace works right, but many other keys are mapped wrong (even letters and numbers) - I tried us.unix.kbd - backspace doesn't work right and neither do my control keys I also just noticed that when on the command line itself (outside of emacs) backspace deletes backward as it should, but so does delete! Is this something weird with virtualbox, or am I doing something wrong? You have just discovered what is in my opinion a can of worms with no clear solution. I have struggled with issues such as these before, and I've managed to solve them more or less. Are you using emacs in a terminal window? (As opposed to with an X server.) I'm assuming yes. In a terminal window, yes. I don't have X installed yet. Are you accessing your computer directly through the console or through an xterm and SSH, for example? Questions such as those are important to fully diagnose and fix the problem. You want to do an echo $TERM before you start diagnosing problems such as these. If I ssh in, I don't have a problem. The only time I have a problem is when I'm logging in directly; in that instance, my $TERM is cons25. If you are using bash, you can do a man bash and look at the part that describes ~/.inputrc and/or READLINE. You may want to create an ~/.inputrc file and add stuff to it to resolve the backspace/delete issues that you are having. For example, I have the following in my ~/.inputrc because I do use bash occasionally: $if term=cons25 \x7f: delete-char $else $if term=xterm \x1b\x5b\x35\x43: forward-word \x1b\x5b\x31\x3b\x35\x43: forward-word \x1b\x5b\x35\x44: backward-word \x1b\x5b\x31\x3b\x35\x44: backward-word $endif $endif I tried these values, but they didn't work for me. I'm installing vim as we speak so I can use xxd as you indicated below to check what my keys are putting out; I'll post back with my findings. Hmm...I can't figure out how to get xxd to report the keycodes, and google isn't really turning anything up. Can you tell me how it's done? cons25 is the native FreeBSD console (like when you're physically at the computer console) and xterm is of course xterm. (Side note: Why in the heck on my 9.0-CURRENT system the system console says the TERM is xterm?) That is odd indeed! It must have come in the xterm-nox11 port. ;) As far as how I came up with the strings such as \x1b\x5b\x35\x43, you can use a command such as xxd which comes with the vim package/port to tell you what bytes are being sent when you press a certain key. If you want to fix your csh shell too, you may consider editing your ~/.cshrc file. Here is my complete ~/.cshrc, and note the stuff at the bottom with the key bindings: setenv EDITOR vi setenv PAGER less if ($?prompt) then # An interactive shell -- set some stuff up set prompt = `whoami`@`/bin/hostname -s` set filec set history = 2000 set savehist = 2000 set mail = (/var/mail/$USER) if ( $?tcsh ) then bindkey ^W backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward if ($TERM == cons25) then bindkey ^? delete-char else if ($TERM == linux) then bindkey ^[[3~ delete-char else if ($TERM == xterm) then bindkey ^[[3~ delete-char bindkey ^[[5C forward-word bindkey ^[[1;5C forward-word bindkey ^[[5D backward-word bindkey ^[[1;5D backward-word bindkey \303\277 backward-delete-word endif endif endif By the way I have a 9.0 CURRENT box here at my desk, and I've compiled emacs-nox11 port, and I'm at the system console (meaning I'm physically at the console). I am using /bin/tcsh as my shell. I have no modifications to any of my
emacs backspace question
I've read a lot on the internet regarding the use of the backspace key in emacs, but the proposed solutions don't seem to be working for me. I just installed FreeBSD 8.1 in Virtualbox and installed emacs 23.2.1 by means of the package installer. Everything in emacs works great except the backspace key, which deletes forward instead of back like it should. I've found a lot of different things on the internet about it: * switched to bash instead of csh - didn't fix it, but I like bash better * M-x normal-erase-is-backspace-mode -toggling it once makes my backspace bring up the help command; toggling it again changes it back * different keymaps - I started out using us.iso.kbd (which exhibits the backspace issue, but other keys are right) - I tried us.emacs.kbd - backspace works right, but many other keys are mapped wrong (even letters and numbers) - I tried us.unix.kbd - backspace doesn't work right and neither do my control keys I also just noticed that when on the command line itself (outside of emacs) backspace deletes backward as it should, but so does delete! Is this something weird with virtualbox, or am I doing something wrong? ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org