Bash 有类似“命令行窗口”的 Vim 吗?

Bash 有类似“命令行窗口”的 Vim 吗?

是否有类似于 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

你有两种选择。

您可以安装hstrhttps://github.com/dvorka/hstr)其中包含一个带有高级搜索选项的建议框,可以轻松查看、导航、搜索和管理您的命令历史记录:

在此输入图像描述

除此之外,Bash 还具有类似 vi 的命令行历史编辑器。执行 a set -o vi,然后您可以通过以下按键搜索整个历史记录:

Esc进入命令模式

/开始搜索;输入搜索字符串,然后Enter执行搜索。

n转到下一场比赛,同时N转到上一场比赛

i返回插入模式

答案2

与提到的 hstr 类似,弗兹夫(fuzzy finder) 是一个交互式过滤器,用于深入查看列表,不仅仅是 shell 历史记录(开箱即用地提供了Ctrl+R快捷方式),还包括更多文件、主机名等。还有多种搜索模式(模糊或文字)。

相关内容