这是我想要的功能。
每次我想在项目目录中搜索某些内容。 我使用ack为我搜索一些关键字。
ack hey
有时我想搜索多个单词。所以我输入
ack "hey there"
我希望在输入ack并按下tab后可以自动完成双引号,并且光标可以在双引号之间聚焦。
有人知道怎么做吗?
我曾尝试为此制作一个oh-my-zsh插件。但似乎我需要一些帮助指南。
function _ack_commands() {
echo -n '"'
}
compdef _ack_commands ack
答案 0 :(得分:1)
你不能使用
zsh -f
ack() { command ack "$*" }
ack hey there
或沿着这些方向的东西?
[...]
实际上,如果我能按照你描述的内容写一些东西,我很好奇。我不得不认为我的zsh-fu还不够。
要清除光标位置,通常会更改CURSOR
值(请参阅man zshzle
)。在zle小部件中,您可以使用zmodload -i zsh/parameter
访问特殊值(请参阅man zshmodules
)。但问题是 - 如zshzle
手册页中所述:
在ZLE处于活动状态时调用的内部完成小部件和陷阱,这些参数以只读方式提供。
因此,我们无法在完成小部件中更改CURSOR
的值。