如何在 vim 中扩展没有扩展名的缩写文件名?

How to expand filename without extension in abbreviation in vim?

我有几个ack的缩写:

cnoreabbrev Ack Ack!
cnoreabbrev ack Ack!

在 vim 的命令 line/mode 中将 ack 重写为 Ack!

现在我想使用不带扩展名的文件名来从使用

的搜索中忽略它
:echo expand('%:r')

我想象我会使用 `

来做类似于 bash 扩展
 cnoreabbrev acki Ack! --ignore `expand('%:r')`

但这行不通。

我怎样才能做到这一点?我特别希望缩写不是函数(但它可能间接存在)在我写 acki 的地方有一个不间断的流程,然后立即搜索术语

如果您想使用 expand (),您需要使用 c_CTRL-R=。幸运的是,在这里你不需要那么复杂的东西。

的确,%足以获取文件名。要仅保留其主要部分,您可以使用普通旧 vi 中的 %<