我有一台用于工作的 Mac 笔记本电脑,在终端上(在 iterm2 上),我可以开始输入命令(例如 ssh),然后按“向上”键浏览以我开始输入的内容开头的最近命令(例如 ssh ......)。
在 Ubuntu 终端上,我可以使用键盘快捷键“CTRL + R”看到类似的功能。但是,它并不完全相同。有没有办法模仿 Mac 的功能?
谢谢你!
为了清楚起见,请编辑示例:
下面是我在 Mac 上的例子。假设在过去在我的 Mac 终端中运行的 100 条命令中,有 2 条命令是:
ssh 1.2.3.4
ssh 127.0.0.1
然后,当我输入“ssh”并按下“up”键时,它会自动填充为ssh 127.0.0.1
,如果我再次按下“up”键,它就会填充为ssh 1.2.3.4
。
然而,在 Ubuntu 终端上,如果我的 3 个最最近的命令是
ssh 1.2.3.4
open .
echo "help me"
然后输入“ssh”并按下“向上”键,它就会带我到echo "help me"
。再按一次“向上”键就会带我到open .
对我来说,采用这种模式比使用路线更直观CTRL+R
。
答案1
在文本编辑器(例如)中打开 $HOME/.inputrc 文件gedit ~/.inputrc
并添加以下两行:
"\e[A": history-search-backward
"\e[B": history-search-forward
现在,保存并关闭文件并打开一个新终端。您知道按向上箭头键如何循环显示命令历史记录吗?现在有了这些行,如果您开始输入然后按向上箭头键,则只会显示以您输入的内容开头的命令。输入ping
然后再次按向上箭头键将显示倒数第二个 ping 命令,并且每次您再次按向上箭头键时,它都会返回到前一个 ping 命令。这使得查找您要查找的特定命令变得非常容易。
例子
类型
sudo
。sudo
按向上箭头键可自动完成 sudo 到最后一个以 sudo 开头的命令。
sudo apt update && sudo apt upgrade
请注意,对于以 开头的命令,
sudo
在执行命令之前,您将被要求像往常一样使用用户密码进行身份验证。