FreeBSD: Customize Home, Del, Insert keys for BASH shell

last updated in Categories FreeBSD, Howto, Sys admin, Tips, Troubleshooting

By default when you use FreeBSD’s BASH shell and if you hit Home, Del, Insert keys all of them just prints ~ (some garbage is printed ). To get rid of this problem, edit /etc/profile file and define key binding.


1) Open your bash global profile file:
# vi /etc/profile

2) Add following line to it:
export INPUTRC=/usr/local/etc/inputrc

3) Close and save the file

4) Open the file /usr/local/etc/inputrc and define / modify key binding:
# vi /usr/local/etc/inputrc

5) Append following config data:

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word

6) Close and save the file

7) Now logout and login back again to test your new key settings.


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

14 comment

  1. You can just copy /usr/compat/linux/etc/inputrc to /etc/inputrc and add “export INPUTRC=/etc/inputrc” to /etc/profile. Not sure if everyone has the /usr/compat/linux/etc/inputrc file, though. I’m on FreeBSD 6.1

  2. PotatoSalad,

    I am also not sure about freebsd 4.x. If you have the file just copy and use it 🙂

  3. BTW, it’s
    “x7F”: backward-delete-char

    Forget the backslash like BOK and your keyboard will be crippled off the ‘x’ key

  4. Don’t forget the ‘ctl-v’ trick though. (I mentioned it here.) I’ve found some of those codes are different on different keyboards/machines!

  5. WOW! Thanks – I just switched two dedicated servers from Fedora Core 4 to FreeBSD 6.1 and this was driving me crazy!!!

    Here’s some more handy things to put in your /etc/profile

    alias pico="nano -w"
    alias slocate="locate"
    alias cd..="cd .."
    export EDITOR=/usr/local/bin/nano
    export INPUTRC=/etc/inputrc

  6. It’s also worth noting that if you don’t have permission to edit /etc/inputrc you can at least create a .inputrc file in your home directory

  7. Thanks a lot, that fixed the keys in bash, but there’s one more: the END key in the nano editor doesn’t work.

    How would I get that going?

  8. Thanks alot, i got a vps with freebsd and have been hard just because this issue, now even the paste and copy from mouse works perfectly.

  9. Hey there,

    This post is kindof old but still relevant.

    In freebsd 9.x I’ve had to add the following to the inputrc file to really make ctrl-arrow work:

    "e[1;5C": forward-word
    "e[1;5D": backward-word
    "ee[C": forward-word
    "ee[D": backward-word

    hope that can be useful for ppl stumbling here.

    Have a question? Post it on our forum!