54 lines
2 KiB
Text
54 lines
2 KiB
Text
A kind of FAQ for libreadline on Debian GNU/{Linux,Hurd}
|
|
--------------------------------------------------------
|
|
|
|
0. symlinked directory completion behavior
|
|
|
|
Starting with readline-4.2a, completion on symlinks that point
|
|
to directories does not append the slash. To restore the behaviour
|
|
found in readline-4.2, add to /etc/inputrc or ~/.inputrc:
|
|
|
|
set mark-symlinked-directories on
|
|
|
|
1. re-enable the paren matching feature in readline-4.1
|
|
|
|
Add to /etc/inputrc or ~/.inputrc:
|
|
|
|
set blink-matching-paren on
|
|
|
|
2. key bindings for ESC
|
|
|
|
Consider the following .inputrc:
|
|
|
|
set editing-mode vi
|
|
|
|
keymap vi
|
|
"\M-[D": backward-char
|
|
"\M-[C": forward-char
|
|
"\M-[A": previous-history
|
|
"\M-[B": next-history
|
|
|
|
And, just to be certain, set -o reports that vi is on.
|
|
|
|
However, ESC k does not send me to the previous line.
|
|
|
|
I'm guessing that this is a conflict between bash's concept of a meta
|
|
keymap and its concept of vi's command-mode character -- which is to
|
|
say that its data structures don't properly reflect its implementation.
|
|
|
|
Note that if I remove the meta prefix, leaving lines like:
|
|
"[A": previous-history
|
|
|
|
That vi command mode keys work fine, and I can use the arrow keys in vi
|
|
mode, *provided I'm already in command mode already*. In other words,
|
|
bash is doing something wrong here such that it doesn't see the escape
|
|
character at the beginning of the key sequence even when in vi insert mode.
|
|
|
|
Comment from the upstream author: "This guy destroyed the key binding for
|
|
ESC, which effectively disabled vi command mode. It's not as simple as he
|
|
paints it to be -- the binding for ESC in the vi insertion keymap *must*
|
|
be a function because of the other things needed when switching
|
|
from insert mode to command mode.
|
|
|
|
If he wants to change something in vi's command mode, he needs
|
|
to use `set keymap vi-command' and enter key bindings without
|
|
the \M- prefix (as he discovered)."
|