diff --git a/shell/.config/readline/inputrc b/shell/.config/readline/inputrc index e8a1a18..b16ee82 100644 --- a/shell/.config/readline/inputrc +++ b/shell/.config/readline/inputrc @@ -6,8 +6,15 @@ $include /etc/inputrc # zsh-style prefix history search: type a prefix, Up/Down walk matching -# history entries with cursor at end of line. Empty prefix = previous/next. -"\e[A": history-search-backward -"\e[B": history-search-forward -"\eOA": history-search-backward -"\eOB": history-search-forward +# history entries with cursor at END of line. Empty prefix = previous/next. +# +# Readline's history-search-* leaves the cursor at the prefix boundary, not the +# end (that's why zsh needs its history-search-end widget). There's no built-in +# "search then go to end", so: bind the real functions to throwaway keys, then +# bind the arrows to a MACRO that runs the search and then end-of-line (\C-e). +"\C-x\C-p": history-search-backward +"\C-x\C-n": history-search-forward +"\e[A": "\C-x\C-p\C-e" +"\e[B": "\C-x\C-n\C-e" +"\eOA": "\C-x\C-p\C-e" +"\eOB": "\C-x\C-n\C-e"