【问题标题】:ultisnips: How to "freeze" vim.current.window.cursor value for snippetultisnips:如何“冻结”代码片段的 vim.current.window.cursor 值
【发布时间】:2018-04-23 21:58:49
【问题描述】:

我有一个运行良好的 sn-p (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

这个sn-p触发时基本上是写python cmets块, 其中“=”的长度取决于光标的位置。

现在几天(我不知道是哪个更新导致它失败),只要我输入我的评论,“=”的长度就会减少。

看起来vim.current.window.cursor[1] 正在不断地重新评估。

知道如何“冻结”价值吗?

【问题讨论】:

    标签: neovim ultisnips


    【解决方案1】:

    我终于找到了:

    snippet #= "comment ===" b
    `!p
    if not snip.c:
        width = int(vim.eval("78 - virtcol('.')"))
    snip.rv = '# ' + '=' * width`
    # ${1:comments}
    `!p snip.rv = '# ' + '=' * width`
    endsnippet
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-05
      • 2017-07-12
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多