制作适用于 Ideavim 中所有文本对象的映射的更简单方法?

Simpler way to make mappings which work with all text objects in Ideavim?

我习惯于使用 https://www.vim.org/scripts/script.php?script_id=2703 替换 Vim 中的文本对象,现在我正在重新创建 IdeaVim 中的部分功能。

我在 vimrc:

中使用这些映射
nmap Ö <Plug>ReplaceWithRegisterOperator$
nmap öö <Plug>ReplaceWithRegisterLine
xmap ö <Plug>ReplaceWithRegisterVisual
nmap ö <Plug>ReplaceWithRegisterOperator

前 3 行很容易在我的 .ideavimrc 中重新创建,如下所示:

nnoremap Ö "_Dp
nnoremap öö "_ddP
vnoremap ö "_dP

但这真的是让 ö 在正常模式下处理每个文本对象的最佳方式吗?

nnoremap öiw "_diwP
nnoremap öaw "_dawP
nnoremap öIw "_dIwP
nnoremap öAw "_dAwP
nnoremap öis "_disP
nnoremap öas "_dasP
nnoremap öip "_dipP
nnoremap öap "_dapP
nnoremap öib "_dibP
nnoremap öab "_dabP
nnoremap öiB "_diBP
nnoremap öaB "_daBP
nnoremap öi( "_di(P
nnoremap öi) "_di)P
nnoremap öa( "_da(P
nnoremap öa) "_da)P
nnoremap öi[ "_di[P
nnoremap öi] "_di]P
nnoremap öa[ "_da[P
nnoremap öa] "_da]P
nnoremap öi{ "_di{P
nnoremap öi} "_di}P
nnoremap öa{ "_da{P
nnoremap öa} "_da}P
nnoremap öi< "_di<P
nnoremap öi> "_di>P
nnoremap öa< "_da<P
nnoremap öa> "_da>P
nnoremap öi" "_di"P
nnoremap öa" "_da"P
nnoremap öi' "_di'P
nnoremap öa' "_da'P
nnoremap öi` "_di`P
nnoremap öa` "_da`P
nnoremap öit "_ditP
nnoremap öat "_datP

这些映射确实有效,但我想知道是否有更清晰、更简单的方法来实现这一点?

您可以使用 :map-operator 映射自定义运算符,但 IdeaVim 尚不支持此功能。

如果您愿意,可以创建一个 issue