在ubuntu中使用pageup/pagedown以搜索补全命令
来自三线的随记
默认通过ssh连接centos的时候,能通过pageup / pagedown 键以补全命令
例如在ssh中输入vim
然后使用pageup
键就可以搜索补全之前以vim开头的历史命令操作
在ubuntu下本操作默认不可行,需要手动修改 /etc/inputrc
文件设置键盘映射
首先通过cat 回车,然后敲下想要获取转义序列值的按键,例如获取PageUp 键 和 PageDown键
root@ubu22-dns-v2:~# cat ^[[5~ ^[[6~
然后修改/etc/inputrc
文件,修改history-search-backward 和 history-search-forward 的映射快捷键即可
root@ubu22-dns-v2:~# cat /etc/inputrc # /etc/inputrc - global inputrc for libreadline # See readline(3readline) and `info rluserman' for more information. # Be 8 bit clean. set input-meta on set output-meta on # To allow the use of 8bit-characters like the german umlauts, uncomment # the line below. However this makes the meta key not work as a meta key, # which is annoying to those which don't need to type in 8-bit characters. # set convert-meta off # try to enable the application keypad when it is called. Some systems # need this to enable the arrow keys. # set enable-keypad on # see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys # do not bell on tab-completion # set bell-style none # set bell-style visible # some defaults / modifications for the emacs mode $if mode=emacs # allow the use of the Home/End keys "\e[1~": beginning-of-line "\e[4~": end-of-line # allow the use of the Delete/Insert keys "\e[3~": delete-char "\e[2~": quoted-insert # mappings for "page up" and "page down" to step to the beginning/end # of the history # "\e[5~": beginning-of-history # "\e[6~": end-of-history # alternate mappings for "page up" and "page down" to search the history "\e[5~": history-search-backward "\e[6~": history-search-forward # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving "\e[1;5C": forward-word "\e[1;5D": backward-word "\e[5C": forward-word "\e[5D": backward-word "\e\e[C": forward-word "\e\e[D": backward-word $if term=rxvt "\e[7~": beginning-of-line "\e[8~": end-of-line "\eOc": forward-word "\eOd": backward-word $endif # for non RH/Debian xterm, can't hurt for RH/Debian xterm # "\eOH": beginning-of-line # "\eOF": end-of-line # for freebsd console # "\e[H": beginning-of-line # "\e[F": end-of-line $endif