zsh 的 magic-space 命令有什么作用?

zsh 的 magic-space 命令有什么作用?

我在我的 中发现了以下命令.zshrc,可能是从某个网站复制的:

bindkey " " magic-space # do history expansion on space

这些手册页与非常简洁的评论一样有用:

magic-space
    Perform history expansion and insert a space into the buffer. [...]

那么magic-space实际上是做什么的呢?在什么情况下我可以看到这个历史扩展的运行?

答案1

magic-space施行历史扩展!:如果您在以(或)开头的命令后面键入空格^来引用前一个命令(部分),则该历史引用将展开。如果您仅键入一个空格,则当您按 时,历史参考将展开Enter

$ zsh -f
% echo hello
hello
% !1 world
echo hello world
hello world
% bindkey " " magic-space
% !1

此时,按Space,该行变为

% echo hello ¡

其中¡代表光标的位置。

相关内容