首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让Ctrl-p和Ctrl-n搜索按键入字符过滤的shell历史记录

在shell中,Ctrl-p和Ctrl-n是用来在历史记录中上下移动的快捷键。当我们按下Ctrl-p时,会向上移动到上一个历史记录,而按下Ctrl-n则会向下移动到下一个历史记录。

在默认情况下,Ctrl-p和Ctrl-n搜索按键并不会进行字符过滤,而是按照输入的字符进行前缀匹配。也就是说,当我们按下Ctrl-p或Ctrl-n后,shell会自动将我们当前输入的字符作为前缀,然后在历史记录中查找以该前缀开头的命令。

这种行为可以帮助我们快速找到之前执行过的命令,特别是当我们需要重复执行某个命令时。通过按下Ctrl-p或Ctrl-n,我们可以快速浏览历史记录,并选择需要执行的命令。

然而,如果我们希望按照输入的字符进行过滤搜索,而不是仅仅进行前缀匹配,我们可以通过配置shell来实现。具体来说,我们可以使用bind命令来重新绑定Ctrl-p和Ctrl-n的行为。

以下是一个示例,展示如何将Ctrl-p和Ctrl-n搜索按键修改为按照输入字符进行过滤搜索的方式:

  1. 打开终端,并输入以下命令以编辑shell配置文件(例如bash的配置文件为~/.bashrc):
代码语言:txt
复制
$ vi ~/.bashrc
  1. 在文件中找到类似下面的行:
代码语言:txt
复制
# enable Ctrl-p and Ctrl-n for history navigation
bind '"\C-p": history-search-backward'
bind '"\C-n": history-search-forward'
  1. 将上述行修改为以下内容:
代码语言:txt
复制
# enable Ctrl-p and Ctrl-n for history navigation with character filtering
bind '"\C-p": history-search-backward'
bind '"\C-n": history-search-forward'
bind '"\C-r": history-search-backward'
  1. 保存文件并退出编辑器。
  2. 重新加载shell配置文件,使修改生效:
代码语言:txt
复制
$ source ~/.bashrc

现在,当你按下Ctrl-p或Ctrl-n时,shell会根据你输入的字符进行过滤搜索,而不仅仅是前缀匹配。这样,你就可以更精确地查找并执行历史记录中的命令了。

需要注意的是,以上示例是针对bash shell的配置方式。如果你使用的是其他类型的shell,可能需要相应地修改配置文件和绑定命令的语法。

关于shell历史记录和快捷键的更多信息,你可以参考腾讯云的产品文档中关于Linux Shell的介绍。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • android studio快捷键集合[通俗易懂]

    \item Ctrl+P 查看变量参数信息,也就是看变量是哪种类型 \item Ctrl+B 查找该变量的定义位置。 \item Ctrl+Q 查找快速文档,即在另外一个窗口中打开其声明 \item Alt+Shift+C 查看工程最近更改的地方 \item Ctrl+space 自动完成代码 \item Ctrl+shift+Enter 自动填充表达式如if,while,for,switch等 \item Ctrl+shift+向上箭头 把选择的代码往上移 \item Ctrl+shift+向下箭头 把选择的代码往下移 \item Alt+shift+F10 表示自动运行 \item Alt+数字 表示打开或隐藏对应的窗口 \item Ctrl+Click 表示这个对象或类的定义 \item 关闭除当前文件外的所有文件的方法 右击–>关闭其它,或按住alt+click \item Ctrl+D double所选的那一行 \item Ctrl+F 查找 \item Ctrl+R 替换 \item Ctrl+N 打开你想要的类(用于类的切换) \item Ctrl+F12 浏览当前类的成员函数与成员变量 \item Ctrl+H 浏览当前类的继承关系 \item Ctrl+O 浏览当前类的父类的所有成员函数与成员变量 \item Ctrl+Insert 用于快速生成getter与setter方法 \item Ctrl+W 选择上下附近的代码块 \item Ctrl+/ 代码行注释 \item Ctrl+shift+/ 代码块注释 \item Shift+F1 进行浏览器查看相应的类 \item Ctrl+shift+space 自动生成,如String s = (在括号内按快捷键会生成)kks,\textbf{ String s = (String) kks} \item Ctrl+P 显示该\textbf{方法}可用的参数列表 \item Ctrl+shift+backspace 返回上一次编辑的地方 \item Ctrl+E 显示最近找开的文件 \item F2 文件中错误一处处定位,按一次就跳到下一处错误 \item Alt+向上箭头 当前光标处移到上一方法的开始处 \item Alt+向下箭头 当前光标处移到下一方法的开始处 \item Ctrl+shift+J 合并相邻两行代码去除多余的空格

    02
    领券