技术解析

问一个 Linux 命令自动补全的快捷键
0
2021-06-21 09:20:42
idczone

在 Linux 命令行中,如果想要输入之前输入过的命令,比如之前输入过 cat /etc/hostname ,现在可以直接输入 cat 然后按一下键盘上面的“ page down ”键就可以自动补全到之前输入过跟 cat 有关的命令,但是我怎么发现只有物理键盘可以这样,笔记本上好像不起作用??

所以求解一下,笔记本上面是否需要同时按其他键?我试过同时按 shift alt ctrl 都不行。。。。笔记本如果实现这个自动(搜索历史命令)补全


可能键位并不一样,摁 page down 可能输入方向键下。另外也和你当前 shell 的类型有关。(个人猜测)

用 fzf

原来 page down 看看发送的命令是什么,不行用 zsh 装个 omz 吧,按↑箭头就行 hh

! cat
可执行最近一条以 cat 开头的命令

重点是快捷键啊,而且不是去执行,因为可能有很多 cat 开头的,要找一下更久远的命令,使用快捷键可以往上翻,很奇怪为啥笔记本键盘不起作用




我发现了,要先按 page up,然后就可以出现历史命令,然后可以使用 page down 翻命令记录,已经可以了

我猜你可能想要的是 fish

shell 和键盘有啥关系。。。

control + r

fish Ctrl+f

直接用 ctrl+R 吧,放弃 up down 键

跟终端和工作模式有关系( zsh 好像是方向上键),要是是用同一种方式打开的终端,那么就是键盘的问题
菜鸟狂猜:只要接受到的是同一个键值,应该行为一致,所以看看是不是 Page Up 属于热键?要和 Fn 一起按?

bash 的话 https://unix.stackexchange.com/questions/73498/how-to-cycle-through-reverse-i-search-in-bash
然后把 bash history 记录量搞大一点就行了

zsh 支持这种补全,可以 checkout oh-my-zsh 测试下,默认应该绑定在 ctrl - p/n 按键上

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服