如何清除 vim 终端历史记录?

如何清除 vim 终端历史记录?

我的python文件:

print('HelloWorld')

在终端历史记录中执行该文件后:

HelloWorld
Press ENTER or type command to continue

这可以。

现在,如果我再次运行该文件,它也会显示以前的历史记录。

HelloWorld
Press ENTER or type command to continue
HelloWorld
Press ENTER or type command to continue

它应该只返回一个“HelloWorld”,并清除过去的历史记录。

请帮忙。

答案1

您需要添加一个clear在您运行的每个外部命令之前。例如,使用ls,这将是

:!clear;ls

不可否认的是,为每个命令都输入这个命令会很麻烦,因此可以添加一个映射.vimrc。例如,

noremap ! :!clear;

!在正常和可视模式下进行映射。(这将覆盖默认!行为。如果您不想覆盖默认映射,请使用未使用的密钥反而。)

答案2

没有唯一的答案。不同的 shell 提供不同的选项来配置历史记录的存储位置。通常,默认文件名是.history或者.SHELL_NAME_history(例如 . bash_history)。它将存储在您的主目录中。您可以删除该文件,但不能保证打开的 shell 进程没有一些等待写入的缓存历史信息。运行 history 命令以找出要删除的命令的编号,然后发出以下命令

$ history -d number

您也可以简单地使用 vim 编辑历史文件并删除您想要删除的内容:

$ vim $HISTFILE

或者对于 bash:

$ vim ~/.bash_history

相关内容