linux - 作为 bindkey 函数的一部分,在 zsh 中手动调用 compinit
问题描述
因此,我通过为基本上所有字符生成键创建行并将它们指向生成字符然后调用语法检查器的相应函数来设置我.zshrc
的基本级别的语法检查。bindkey
它在其他方面工作得很好,但是我想将它应用到选项卡,以便它考虑到$BUFFER
来自 的更改compinit
,但是在我创建compinit
的函数中手动调用trap_tab
甚至不调用compinit
.
任何帮助深表感谢!
以下是相关位。只需取消注释并推荐bindkey
andzle -N
行。未注释时,即使compinit
被调用,在点击选项卡时我也不会收到任何自动填充选项。
# Setup basic config stuff for history size, Vim keybindings, and the like
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt extendedglob notify
unsetopt nomatch
# Auto-completion (double-tab tab)
zstyle :compinstall filename '/home/terminus/.zshrc'
autoload -Uz compinit
compinit
zstyle ':completion:*' menu select
function trap_tab
{
compinit
}
#bindkey ' ' trap_tab
#zle -N trap_tab
export EDITOR='vim
解决方案
事实证明没有“正确”的解决方案,但是 GitHub 上至少有一个人想出了一个自我描述的“hacky”解决方案,它似乎确实可以满足我的要求,尽管需要一些额外的格式:github.com/Valodim/zsh -捕获完成
推荐阅读
- javascript - 滚动到页面中的某个位置后如何动态渲染元素?
- javascript - 如何获取由 Javascript 使用 Java / Webdriver 生成的网页的整个源 html 代码?
- swift - 如果新用户注册成功,如何打开一个屏幕,当现有用户使用 SwiftUI 成功登录时如何打开另一个屏幕?
- c# - 锁定列表会产生死锁
- python - 多个序列的并行处理
- jenkins - 如何将 Cmd 行输出定向到 jenkins
- angular - 输出 Angular 9 SSR 中的 sourceMappingURL
- node.js - 为什么猫鼬验证器不验证字段类型?
- c# - 在 MVC 中,为什么我的控制器需要接收“new { id = restaurant.Id }”,而不是“restaurant.Id”?不都是简单的int吗?
- node.js - 如何确保我的终端在 Visual Studio Code 中打开 .firebaserc 和 firebase.json 文件?