0

私は vim-expand と一緒に vim で 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('%:r')`} で展開された後、改行を入れると $1End Program $1もそれを拾ってしまうという問題に直面しています; 意図したものではありません。明確にするために、スクリーンキャストを次に示します: https://www.youtube.com/watch?v=0IjoqWXQNI8

最初の行を展開して一致させたいのですが、改行の後ではありません。親切に助けてください。

4

1 に答える 1

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)
于 2015-02-22T17:55:11.257 に答える