ultisnips:如何 "freeze" vim.current.window.cursor 片段的值
ultisnips: How to "freeze" vim.current.window.cursor value for snippet
我有一个曾经运行良好的片段 (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]
不断被重新评估。
知道如何 "freeze" 值吗?
我终于找到了:
snippet #= "comment ===" b
`!p
if not snip.c:
width = int(vim.eval("78 - virtcol('.')"))
snip.rv = '# ' + '=' * width`
# ${1:comments}
`!p snip.rv = '# ' + '=' * width`
endsnippet
我有一个曾经运行良好的片段 (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]
不断被重新评估。
知道如何 "freeze" 值吗?
我终于找到了:
snippet #= "comment ===" b
`!p
if not snip.c:
width = int(vim.eval("78 - virtcol('.')"))
snip.rv = '# ' + '=' * width`
# ${1:comments}
`!p snip.rv = '# ' + '=' * width`
endsnippet