【问题标题】:vim ultisnip expanding after the line breakvim ultisnip 在换行后扩展
【发布时间】:2015-02-23 01:55:11
【问题描述】:

我在 vim 中经常使用 Ultisnips 和 vim-expand:

snippet prg 
!This is file : `!v expand('%:r')`
! Author= `!v expand($USER)`
! Started at: `date +%d.%m.%y`
! 
Program  ${1:`!v expand('%:r')`}
Implicit None
${2:<++Start Typing++>}
End Program  $1
endsnippet

我面临一个问题,在 ${1:} 扩展后 ${1:`!v expand('%:r')`},如果我放了一个换行符,End Program $1 中的 $1 也会接上它;这不是故意的。 为了清楚起见,这是一个截屏视频: https://www.youtube.com/watch?v=0IjoqWXQNI8

我想扩展和匹配第一行,但不是在换行之后。 请帮忙。

【问题讨论】:

    标签: vim ultisnips


    【解决方案1】:

    您正在寻找的是 Ultisnips 的截屏视频已经涵盖的内容。您所需要的只是对您的 sn-p 值进行正则表达式调整 $1

    Program  ${1:`!v expand('%:r')`}
    Implicit None
    ${2:<++Start Typing++>}
    End Program  ${1/([^\n$]+).*/$1/}
    endsnippet
    
    ${1/([^\n$]+).*/$1/}
            |     |  |
            |     |  +--------Replace by first atom i.e. Matched by (..)
            |     +--------Anything That follows.
            +----------- Match everything except a newline | EOL(endofline)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 2021-02-24
      • 2012-11-25
      • 2020-12-20
      相关资源
      最近更新 更多