我在vim-expand中使用了Ultisnips:
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(&#39;%:r&#39;)`},如果我设置了一个换行符,End Program $1
中的$ 1也会选择它;这是非预期的。
为清楚起见,这是一个截屏视频:
https://www.youtube.com/watch?v=0IjoqWXQNI8
我想扩展并匹配第一行,但不是在linebreak之后。 请帮助。
答案 0 :(得分:0)
您正在寻找的是Ultisnips的截屏视频已经涵盖的内容。您只需要对代码段值$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)