我有一段曾经运作良好的片段(neovim 0.2.0)
snippet #= "comment ===" b
# `!p snip.rv = '=' * (78 - vim.current.window.cursor[1])`
# ${1:comments}
# `!p snip.rv = '=' * (78 - vim.current.window.cursor[1])`
endsnippet
这个片段基本上是在触发时编写python注释块, 其中" ="的长度取决于光标的位置。
现在几天(我不知道哪个更新使其失败)," ="只要我输入评论就会减少。
看起来vim.current.window.cursor[1]
经常被重新评估。
任何想法如何"冻结"价值?
答案 0 :(得分:0)
我终于找到了:
snippet #= "comment ===" b
`!p
if not snip.c:
width = int(vim.eval("78 - virtcol('.')"))
snip.rv = '# ' + '=' * width`
# ${1:comments}
`!p snip.rv = '# ' + '=' * width`
endsnippet