The macro form `"\e[A": "\C-x\C-p\C-e"` ran history-search-backward then
end-of-line to mimic zsh's cursor-at-end. But history-search-* takes its
prefix from start-of-line to point, and `\C-e` moves point to the end, so
the next Up searched for the whole recalled line, found nothing, and left
Up/Down dead after one press. Bind arrows straight to the search functions;
pure readline has no history-search-end widget, so cursor lands at the
prefix boundary.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
history-search-* leaves the cursor at the prefix boundary, not the end,
unlike zsh's history-search-end widget. Bind the search functions to
throwaway keys and map the arrows to a macro that runs the search then
end-of-line, so prefix recall lands the cursor at EOL like zsh.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add $INPUTRC pointing at ~/.config/readline/inputrc and ship that file
with history-search Up/Down bindings (cursor to end), mirroring zsh's
history-beginning-search-end. zsh ignores readline, so this is bash-side
only. Includes /etc/inputrc to keep distro defaults.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>