是否有类似于 Vim 的 Bash 的“命令行窗口”,我可以在其中查看/编辑/执行历史记录中的项目?
在 Vim 中,当我按下:
然后Ctrl-F
它会打开显示整个命令历史记录的窗口:
7. Command-line window *cmdline-window* *cmdwin*
*command-line-window*
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
OPEN *c_CTRL-F* *q:* *q/* *q?*
[..]
When the window opens it is filled with the command-line history. The last
line contains the command as typed so far. The left column will show a
character that indicates the type of command-line being edited, see
|cmdwin-char|.
当您按下时,Enter
将执行当前行。
Ctrl-R
(我知道我可以用,/
(vi-mode)等搜索历史记录。 )
答案1
你有两种选择。
您可以安装hstr
(https://github.com/dvorka/hstr)其中包含一个带有高级搜索选项的建议框,可以轻松查看、导航、搜索和管理您的命令历史记录:
除此之外,Bash 还具有类似 vi 的命令行历史编辑器。执行 a set -o vi
,然后您可以通过以下按键搜索整个历史记录:
Esc进入命令模式
/开始搜索;输入搜索字符串,然后Enter执行搜索。
n转到下一场比赛,同时N转到上一场比赛
i返回插入模式
答案2
与提到的 hstr 类似,弗兹夫(fuzzy finder) 是一个交互式过滤器,用于深入查看列表,不仅仅是 shell 历史记录(开箱即用地提供了Ctrl+R快捷方式),还包括更多文件、主机名等。还有多种搜索模式(模糊或文字)。