mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 06:33:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			114 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # This file contains snippets that are always defined. I personally
 | |
| # have snippets for signatures and often needed texts
 | |
| 
 | |
| # sligthly lower priority than everything else since specialized versions
 | |
| # should overwrite. The user needs to adjust her priority in her snippets to
 | |
| # ~-55 so that other filetypes will still overwrite.
 | |
| priority -60
 | |
| 
 | |
| ##############
 | |
| # NICE BOXES #
 | |
| ##############
 | |
| global !p
 | |
| from vimsnippets import foldmarker, make_box, get_comment_format
 | |
| LOREM = """
 | |
| Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \
 | |
| tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At \
 | |
| vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, \
 | |
| no sea takimata sanctus est Lorem ipsum dolor sit amet.
 | |
| """
 | |
| endglobal
 | |
| 
 | |
| snippet box "A nice box with the current comment symbol" b
 | |
| `!p
 | |
| box = make_box(len(t[1]))
 | |
| snip.rv = box[0]
 | |
| snip += box[1]
 | |
| `${1:${VISUAL:content}}`!p
 | |
| box = make_box(len(t[1]))
 | |
| snip.rv = box[2]
 | |
| snip += box[3]`
 | |
| $0
 | |
| endsnippet
 | |
| 
 | |
| snippet bbox "A nice box over the full width" b
 | |
| `!p
 | |
| if not snip.c:
 | |
| 	width = int(vim.eval("&textwidth - (virtcol('.') == 1 ? 0 : virtcol('.'))")) or 71
 | |
| box = make_box(len(t[1]), width)
 | |
| snip.rv = box[0]
 | |
| snip += box[1]
 | |
| `${1:${VISUAL:content}}`!p
 | |
| box = make_box(len(t[1]), width)
 | |
| snip.rv = box[2]
 | |
| snip += box[3]`
 | |
| $0
 | |
| endsnippet
 | |
| 
 | |
| snippet fold "Insert a vim fold marker" b
 | |
| `!p snip.rv = get_comment_format()[0]` ${1:Fold description} `!p snip.rv = foldmarker()[0]`${2:1} `!p snip.rv = get_comment_format()[2]`
 | |
| endsnippet
 | |
| 
 | |
| snippet foldc "Insert a vim fold close marker" b
 | |
| `!p snip.rv = get_comment_format()[0]` ${2:1}`!p snip.rv = foldmarker()[1]` `!p snip.rv = get_comment_format()[2]`
 | |
| endsnippet
 | |
| 
 | |
| snippet foldp "Insert a vim fold marker pair" b
 | |
| `!p snip.rv = get_comment_format()[0]` ${1:Fold description} `!p snip.rv = foldmarker()[0]` `!p snip.rv = get_comment_format()[2]`
 | |
| ${2:${VISUAL:Content}}
 | |
| `!p snip.rv = get_comment_format()[0]` `!p snip.rv = foldmarker()[1]` $1 `!p snip.rv = get_comment_format()[2]`
 | |
| endsnippet
 | |
| 
 | |
| ##########################
 | |
| # LOREM IPSUM GENERATORS #
 | |
| ##########################
 | |
| snippet "lorem(([1-4])?[0-9])?" "Lorem Ipsum" r
 | |
| `!p snip.rv = " ".join(LOREM.split()[:int(match.group(1))]) if match.group(1) else LOREM`
 | |
| endsnippet
 | |
| 
 | |
| ##########################
 | |
| # VIM MODELINE GENERATOR #
 | |
| ##########################
 | |
| # See advice on `:help 'tabstop'` for why these values are set. Uses second
 | |
| # modeline form ('set') to work in languages with comment terminators
 | |
| # (/* like C */).
 | |
| snippet modeline "Vim modeline"
 | |
| vim`!v ':set '. (&expandtab ? printf('et sw=%i ts=%i', &sw, &ts) : printf('noet sts=%i sw=%i ts=%i', &sts, &sw, &ts)) . (&tw ? ' tw='. &tw : '') . ':'`
 | |
| endsnippet
 | |
| 
 | |
| #########
 | |
| # DATES #
 | |
| #########
 | |
| snippet date "YYYY-MM-DD" w
 | |
| `!v strftime("%Y-%m-%d")`
 | |
| endsnippet
 | |
| 
 | |
| snippet ddate "Month DD, YYYY" w
 | |
| `!v strftime("%b %d, %Y")`
 | |
| endsnippet
 | |
| 
 | |
| snippet diso "ISO format datetime" w
 | |
| `!v strftime("%Y-%m-%d %H:%M:%S%z")`
 | |
| endsnippet
 | |
| 
 | |
| snippet time "hh:mm" w
 | |
| `!v strftime("%H:%M")`
 | |
| endsnippet
 | |
| 
 | |
| snippet datetime "YYYY-MM-DD hh:mm" w
 | |
| `!v strftime("%Y-%m-%d %H:%M")`
 | |
| endsnippet
 | |
| 
 | |
| snippet todo "TODO comment" bw
 | |
| `!p snip.rv=get_comment_format()[0]` ${2:TODO}: $0${3: <${4:`!v strftime('%d-%m-%y')`}${5:, `!v g:snips_author`}>} `!p snip.rv=get_comment_format()[2]`
 | |
| endsnippet
 | |
| 
 | |
| ##########
 | |
| #  Misc  #
 | |
| ##########
 | |
| snippet uuid "Random UUID" w
 | |
| `!p if not snip.c: import uuid; snip.rv = str(uuid.uuid4())`
 | |
| endsnippet
 | |
| 
 | |
| # vim:ft=snippets:
 | 
