Vim 如何检查先前是否使用iabbr(完全匹配)设置了字符串

Vim 如何检查先前是否使用iabbr(完全匹配)设置了字符串,vim,Vim,我试图检查lhs是否已经在vim中缩写。 然而,地图检查似乎有一个问题。比如说, iabbr swt switch echo mapcheck('sw','i',1) 即使为“swt”定义了“开关”,也返回“开关”。 mapargs似乎返回字符串,即使存在部分 与左舵匹配。有没有办法找到 已为“精确”匹配定义了缩写,即。, 上面的地图检查返回“”而不是“” 更新:我正在尝试在 函数AddAbbr如下所示 for [b:lhs, b:rhs_list] in items(b:english_wo

我试图检查lhs是否已经在vim中缩写。 然而,地图检查似乎有一个问题。比如说,

iabbr swt switch
echo mapcheck('sw','i',1)
即使为“swt”定义了“开关”,也返回“开关”。 mapargs似乎返回字符串,即使存在部分 与左舵匹配。有没有办法找到 已为“精确”匹配定义了缩写,即。, 上面的地图检查返回“”而不是“”

更新:我正在尝试在 函数AddAbbr如下所示

for [b:lhs, b:rhs_list] in items(b:english_words)
  call AddAbbr(b:lhs,b:rhs_list)
endfor
为什么不干脆加入:
:详细的iabbr swt
它应该告诉你swt的缩写以及它们的位置。是的,
:verbose iabbr sw
也将返回此信息,但它会准确地显示缩写为what的内容。这是剧本还是什么

如果这是一个脚本,而您需要一个函数而不是命令,那么我会使用
maparg('swt','I',1)
——我想这就是您想要的。

为什么不直接输入:
:详细的iabbr swt
它应该告诉你swt的缩写以及它们的位置。是的,
:verbose iabbr sw
也将返回此信息,但它会准确地显示缩写为what的内容。这是剧本还是什么

如果这是一个脚本,您需要一个函数而不是命令,那么我会使用
maparg('swt','I',1)
——我想这就是您想要的