terminal - 没有这样的小部件“以前的历史”
问题描述
我正在设置一个新环境,并且似乎在使用 SBT 或我在 Linux 上的 shell 时遇到问题,点击向上箭头而不是显示我之前运行的命令,它说:
没有这样的小部件“以前的历史”
我使用 ZSH 作为外壳,但我在其他任何地方都没有看到这个问题,包括sbt console
. 我假设配置了一个导致此问题的绑定键,但我似乎找不到任何设置。这也发生在 Bash 中。
这是我看到的输出zsh --sourcetrace
:
+/etc/zshenv:1> <sourcetrace>
+/etc/zshrc:1> <sourcetrace>
+/home/mhicks/.zshrc:1> <sourcetrace>
+/home/mhicks/.cache/p10k-instant-prompt-mhicks.zsh:1> <sourcetrace>
[WARNING]: Console output during zsh initialization detected.
When using Powerlevel10k with instant prompt, console output during zsh
initialization may indicate issues.
You can:
- Recommended: Change ~/.zshrc so that it does not perform console I/O
after the instant prompt preamble. See the link below for details.
* You will not see this error message again.
* Zsh will start quickly and prompt will update smoothly.
- Suppress this warning either by running p10k configure or by manually
defining the following parameter:
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
* You will not see this error message again.
* Zsh will start quickly but prompt will jump down after initialization.
- Disable instant prompt either by running p10k configure or by manually
defining the following parameter:
typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
* You will not see this error message again.
* Zsh will start slowly.
- Do nothing.
* You will see this error message every time you start zsh.
* Zsh will start quickly but prompt will jump down after initialization.
For details, see:
https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt
-- console output produced during zsh initialization follows --
+/home/mhicks/.oh-my-zsh/custom/themes/powerlevel10k/gitstatus/gitstatus.plugin.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/oh-my-zsh.sh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/tools/check_for_upgrade.sh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/cache/.zsh-update:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/compfix.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/bzr.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/clipboard.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/cli.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/compfix.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/completion.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/correction.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/diagnostics.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/directories.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/functions.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/git.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/grep.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/cache/grep-alias:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/history.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/key-bindings.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/misc.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/nvm.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/prompt_info_functions.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/spectrum.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/termsupport.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/lib/theme-and-appearance.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/plugins/git/git.plugin.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/custom/example.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/custom/themes/powerlevel10k/powerlevel10k.zsh-theme:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/custom/themes/powerlevel10k/internal/p10k.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/custom/themes/powerlevel10k/internal/configure.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/custom/themes/powerlevel10k/internal/worker.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/custom/themes/powerlevel10k/internal/parser.zsh:1> <sourcetrace>
+/home/mhicks/.oh-my-zsh/custom/themes/powerlevel10k/internal/icons.zsh:1> <sourcetrace>
+/home/mhicks/.sdkman/bin/sdkman-init.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/etc/config:1> <sourcetrace>
+/home/mhicks/.sdkman/etc/config:1> <sourcetrace>
+/home/mhicks/.sdkman/etc/config:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-version.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-update.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-config.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-help.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-cache.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-broadcast.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-install.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-availability.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-upgrade.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-env-helpers.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-utils.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-uninstall.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-offline.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-use.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-selfupdate.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-list.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-current.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-main.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-home.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-default.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-env.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-flush.sh:1> <sourcetrace>
+/home/mhicks/.sdkman/src/sdkman-path-helpers.sh:1> <sourcetrace>
+/home/mhicks/.nvm/nvm.sh:1> <sourcetrace>
+/home/mhicks/.nvm/bash_completion:1> <sourcetrace>
+/home/mhicks/.zcompdump:1> <sourcetrace>
+/home/mhicks/.p10k.zsh:1> <sourcetrace>
编辑:确认,这确实发生在 Bash 中,所以我想完全擦除我的用户目录并重新开始可能会修复它。唉,看来我正在做的事情是导致这种情况持续存在,或者它正在运行某种服务。我创建了一个新的主目录,安装了ohmyzsh,配置了powerlevel10k,安装了sdkman,安装了SBT,安装了Java,然后验证了这仍然发生。
解决方案
您在 Zsh 中看到的输出意味着您↑</kbd> key is bound to a non-existing widget. You can very this as follows:
- 键入
bindkey '
。 - 按ControlV。
- 按↑</kbd>.
- 键入
'
并按Enter。
您现在应该在终端中看到以下两个输出之一(作为%
提示符):
% bindkey '^[[A'
bindkey '^[[A' previous-history
%
% bindkey '^[OA'
bindkey '^[OA' previous-history
%
尽管有一个readline
名为 的命令previous-history
,但Zsh 中没有该名称的小部件。你显然在你的点文件中的某个地方有试图绑定的代码↑</kbd> to previous-history
, but fails to actually create the previous-history
widget. Perhaps you are trying to use bash
code in your zsh
dotfiles?
无论如何,您都可以通过将以下片段之一添加到您的.zshrc
bindkey -d # Delete existing keymaps and reset to default state.
bindkey '^[[A' up-line-or-search
bindkey '^[[B' down-line-or-search
bindkey '^[OA' up-line-or-search
bindkey '^[OB' down-line-or-search