| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [   <!ENTITY % general-entities SYSTEM "../general.ent">  %general-entities;]><sect1 id="ch-scripts-inputrc"><title>Creating the /etc/inputrc file</title><?dbhtml filename="inputrc.html"?><indexterm zone="ch-scripts-inputrc"><primary sortas="e-/etc/inputrc">/etc/inputrc</primary></indexterm><para><filename>/etc/inputrc</filename> deals with the mapping of the keyboard forcertain situations.  This file is the start-up file used by<application>readline</application> - the input related library used by <application>Bash</application> and most other shells.</para><para>For more information see <command>info bash</command> -- <emphasisrole="strong">Node: Readline Init</emphasis> file as well as<command>info readline</command>. There is a lot that can be done with this one rc file.</para><para>Global values are set in <filename>/etc/inputrc</filename>.Personal user values are set in <filename>~/.inputrc</filename>. The<filename>~/.inputrc</filename> file will override the global settingsfile.  A later page sets up <application>Bash</application> to use<filename>/etc/inputrc</filename> if there is no<filename>.inputrc</filename> for a user when<filename>/etc/profile</filename> is read (usually at login).  If youwant your system to use both, or don't want <emphasis>global</emphasis>keyboard handling, it is a good idea to place a default<filename>.inputrc</filename> into the <filename class="directory">/etc/skel</filename>directory for use with new users.</para><para>Below is a base <filename>/etc/inputrc</filename> along withcomments to explain what the various options do.  Note that commentscan <emphasis>not</emphasis> be on the same line as commands.</para><para>If you will create an <filename>.inputrc</filename> in<filename class="directory">/etc/skel</filename> using the command below, change thecommand's output to <filename>/etc/skel/.inputrc</filename> and besure to check/set permissions afterward. Then you can just copy thatfile to <filename>/etc/inputrc</filename> and the home directoryof any user already existing in the system, including root, that needsa private version of the file.  Be sure to use the <parameter>-p</parameter> parameterof <command>cp</command> to maintain permissions and be sure to change owner and groupappropriately.</para><screen><userinput>cat > /etc/inputrc << "EOF"# Begin /etc/inputrc# Make sure we don't output everything on the 1 lineset horizontal-scroll-mode Off# Enable 8bit inputset meta-flag On set input-meta On# Turns off 8th bit strippingset convert-meta Off# Keep the 8th bit for displayset output-meta On# none, visible or audibleset bell-style none# All of the following map the escape sequence of the # value contained inside the 1st argument to the # readline specific functions"\eOd": backward-word"\eOc": forward-word# for linux console"\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# for xterm"\eOH": beginning-of-line"\eOF": end-of-line# for Konsole"\e[H": beginning-of-line"\e[F": end-of-line# End /etc/inputrcEOF</userinput></screen></sect1>
 |