ZSH-HIST
安装
要更新,请将CD降为您的克隆和git拉。
统一的代码格式
每当您完成命令行时,ZSH-HIST都会自动为您格式化,然后将其保存到历史记录。您还可以通过Hist n追溯格式化您的历史记录。
关于代码格式的注释
- 为了使格式在保存历史记录时完全保留,您需要在.zshrc文件中删除hist_reduce_blanks。否则,大多数缩进将丢失。
- 格式化代码可以禁用全球别名的某些疯狂用途。例如,由于格式大多数变成了新线,因此声明;作为全球别名,大多数时候根本没有任何效果。由于这不是普通人想要做的事情,因此大多数用户不必担心这一点。但是,如果您是纯粹主义者,并且希望格式永远无法改变ZSH的工作方式,请启用下面的自动别名扩展功能。
- 要禁用此功能,请在.zshrc文件中添加以下内容:
zstyle \' :hist:* \' auto-format no
自动别名扩展(可选)
ZSH-HIST可以在将每个命令行保存到历史记录之前自动扩展您的别名。默认情况下是禁用的,但是要启用它,请在.zshrc文件中添加以下内容:
zstyle \' :hist:* \' expand-aliases yes
添加了撤消功能
在任何新的命令行上,您现在都可以按UNDO将历史记录的最后一个命令弹出到行编辑器中,让您在运行后纠正任何错误。之后,旧的故障命令将从您的历史中消失,只有新的,被纠正的命令剩下。
此外,如果您制作错别字并最终进入辅助提示,现在可以按UNDO返回到主提示。
将线路推向历史
当您按⌃ Q时,您的行现在将写入历史记录(不执行)而不是缓冲区堆栈。
这具有以下好处:
- 推送线不会自动弹出到您的行编辑器中。
- 只要它们保留在您的历史中,并且可以在多个会议之间共享。
- 可以使用常规历史搜索机制访问推送线。
在次级提示符上按⌃ Q将返回您的主提示。
HIST命令语法
Usage
hist [<option>...] compress <delta>
hist [<option>...] {reload|undo}
hist [<option>...] <command> <selection> ...
Return value
$reply an associative array of history index -> entry tuples
Options
-f force: never ask for confirmation
-i interactive: always ask for confirmation
-q quiet: do not print anything
-s silent: same as quiet
By default, hist asks for confirmation only when operating on multiple history
entries.
Commands (can be shortened to first letter):
compress delete each entry that differs <delta> chars or less from the next
delete remove from history
edit delete, then modify & append as new
fix delete + get
get load into buffer
list look, but do not touch
normalize delete, then auto-format & append as new
reload re-initialize local history from file
undo roll back to before last command in same session
Selections (for commands other than compress, reload or undo):
negative int offset from end of history
positive int index from beginning of history
pattern all matching entries
Examples
hist f -1 # Fix last entry (cut from history; paste into command line)
hist n {1..9} # Normalize (uniformly format) a range of history items
hist d $\'*(\\n|;)\' # Delete all entries ending in newline or semicolon
作者
©2020 Marlon Richert
执照
该项目已根据MIT许可获得许可。有关详细信息,请参见许可证文件。
