我已经搜索过,但没有找到任何关于此的内容。我正在使用终端在 bash 中寻找功能。
回到过去,我有一个用户在 debian 系统上,一个朋友为我设置了一个方便的历史搜索功能(我相信我当时使用了 tcsh),我将在其中输入上一个命令的开头,点击向上箭头,它会根据部分字符串进行搜索。
例如,如果我的历史是:
./script.pl
./script.pl arg1
cat output
cat output | grep yada
Run Code Online (Sandbox Code Playgroud)
然后我输入.
,然后按向上箭头,它会显示我:./script.pl arg1
。再按一次,它会显示./script.pl
,等等。
非常像它会grep
在 .bash_history 上执行。有没有办法获得这个功能?
当我Control在任何终端(gnome-terminal
,以及terminator
)中键入和任何箭头键时,我都会得到这个(或类似的东西)。
当我使用时openbox
也会发生这种情况,所以这不是compiz
问题。而且它只在终端程序中,从不在 GUI 应用程序中(例如 Firefox、Chrom(ium)e 或 Empathy)。
在 Ubuntu Server 16.04.1 的命令行上,我想绑定Ctrlup/down到 bash 历史增量搜索功能。我找到了一些帖子如何做到这一点。它们涉及~/.bashrc
和~/.inputrc
文件。
当我使用 Ctrl 和箭头键导航时出现的奇怪字符表示这是通过.inputrc
主目录中的文件工作的。为什么 ctrl + 向左箭头不跳过单词?包含关于不使用.inputrc
、关于使用.zshrc
和使用的评论.bashrc
。我还太新,不能混淆。.inputrc
我的新服务器安装中没有任何内容。
我不明白这些事情:
我也没有让它工作。我尝试从以下位置复制文件etc
并将其重命名为,.inputrc
并在~/
其中创建一个新文件:
touch .inputrc
nano .inputrc
Run Code Online (Sandbox Code Playgroud)
文件内容:
$include /etc/inputrc
Run Code Online (Sandbox Code Playgroud)
这是我放入文件中的内容。
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": …
Run Code Online (Sandbox Code Playgroud)