⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sed.vim

📁 MSYS在windows下模拟了一个类unix的终端
💻 VIM
字号:
" Vim syntax file" Language:	sed" Maintainer:	Haakon Riiser <haakon@riiser.net>" Last Change:	2001 May 10"" Special thanks go to Preben "Peppe" Guldberg for a lot of help, and, in" particular, his clever way of matching the substitute command." For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600    syn clearelseif exists("b:current_syntax")    finishendifsyn match sedError	"\S"syn match sedWhitespace "\s\+" containedsyn match sedSemicolon	";"syn match sedAddress	"[[:digit:]$]"syn match sedAddress	"\d\+\~\d\+"syn region sedAddress   matchgroup=Special start="[{,;]\s*/\(\\/\)\="lc=1 skip="[^\\]\(\\\\\)*\\/" end="/I\=" contains=sedTab,sedRegexpMetasyn region sedAddress   matchgroup=Special start="^\s*/\(\\/\)\=" skip="[^\\]\(\\\\\)*\\/" end="/I\=" contains=sedTab,sedRegexpMetasyn match sedComment	"^\s*#.*$"syn match sedFunction	"[dDgGhHlnNpPqx=]\s*\($\|;\)" contains=sedSemicolon,sedWhitespacesyn match sedLabel	":[^;]*"syn match sedLineCont	"^\(\\\\\)*\\$" containedsyn match sedLineCont	"[^\\]\(\\\\\)*\\$"ms=e containedsyn match sedSpecial	"[{},!]"if exists("highlight_sedtabs")    syn match sedTab	"\t" containedendif" Append/Change/Insertsyn region sedACI	matchgroup=sedFunction start="[aci]\\$" matchgroup=NONE end="^.*$" contains=sedLineCont,sedTabsyn region sedBranch	matchgroup=sedFunction start="[bt]" matchgroup=sedSemicolon end=";\|$" contains=sedWhitespacesyn region sedRW	matchgroup=sedFunction start="[rw]" matchgroup=sedSemicolon end=";\|$" contains=sedWhitespace" Substitution/transform with various delimiterssyn region sedFlagwrite	    matchgroup=sedFlag start="w" matchgroup=sedSemicolon end=";\|$" contains=sedWhitespace containedsyn match sedFlag	    "[[:digit:]gpI]*w\=" contains=sedFlagwrite containedsyn match sedRegexpMeta	    "[.*^$]" containedsyn match sedRegexpMeta	    "\\." contains=sedTab containedsyn match sedRegexpMeta	    "\[.\{-}\]" contains=sedTab containedsyn match sedRegexpMeta	    "\\{\d\*,\d*\\}" containedsyn match sedRegexpMeta	    "\\(.\{-}\\)" contains=sedTab containedsyn match sedReplaceMeta    "&\|\\\($\|.\)" contains=sedTab contained" Metacharacters: $ * . \ ^ [ ~" @ is used as delimiter and treated on its own belowlet __at = char2nr("@")let __sed_i = char2nr(" ")if has("ebcdic")    let __sed_last = 255else    let __sed_last = 126endiflet __sed_metacharacters = '$*.\^[~'while __sed_i <= __sed_last    let __sed_delimiter = escape(nr2char(__sed_i), __sed_metacharacters)	if __sed_i != __at	    exe 'syn region sedAddress matchgroup=Special start=@\\'.__sed_delimiter.'\(\\'.__sed_delimiter.'\)\=@ skip=@[^\\]\(\\\\\)*\\'.__sed_delimiter.'@ end=@'.__sed_delimiter.'I\=@ contains=sedTab'	    exe 'syn region sedRegexp'.__sed_i  'matchgroup=Special start=@'.__sed_delimiter.'\(\\\\\|\\'.__sed_delimiter.'\)*@ skip=@[^\\'.__sed_delimiter.']\(\\\\\)*\\'.__sed_delimiter.'@ end=@'.__sed_delimiter.'@me=e-1 contains=sedTab,sedRegexpMeta keepend contained nextgroup=sedReplacement'.__sed_i	    exe 'syn region sedReplacement'.__sed_i 'matchgroup=Special start=@'.__sed_delimiter.'\(\\\\\|\\'.__sed_delimiter.'\)*@ skip=@[^\\'.__sed_delimiter.']\(\\\\\)*\\'.__sed_delimiter.'@ end=@'.__sed_delimiter.'@ contains=sedTab,sedReplaceMeta keepend contained nextgroup=sedFlag'	endif    let __sed_i = __sed_i + 1endwhilesyn region sedAddress matchgroup=Special start=+\\@\(\\@\)\=+ skip=+[^\\]\(\\\\\)*\\@+ end=+@I\=+ contains=sedTab,sedRegexpMetasyn region sedRegexp64 matchgroup=Special start=+@\(\\\\\|\\@\)*+ skip=+[^\\@]\(\\\\\)*\\@+ end=+@+me=e-1 contains=sedTab,sedRegexpMeta keepend contained nextgroup=sedReplacement64syn region sedReplacement64 matchgroup=Special start=+@\(\\\\\|\\@\)*+ skip=+[^\\@]\(\\\\\)*\\@+ end=+@+ contains=sedTab,sedReplaceMeta keepend contained nextgroup=sedFlag" Since the syntax for the substituion command is very similar to the" syntax for the transform command, I use the same pattern matching" for both commands.  There is one problem -- the transform command" (y) does not allow any flags.  To save memory, I ignore this problem.syn match sedST	"[sy]" nextgroup=sedRegexp\d\+if version >= 508 || !exists("did_sed_syntax_inits")    if version < 508	let did_sed_syntax_inits = 1	command -nargs=+ HiLink hi link <args>    else	command -nargs=+ HiLink hi def link <args>    endif    HiLink sedAddress		Macro    HiLink sedACI		NONE    HiLink sedBranch		Label    HiLink sedComment		Comment    HiLink sedDelete		Function    HiLink sedError		Error    HiLink sedFlag		Type    HiLink sedFlagwrite		Constant    HiLink sedFunction		Function    HiLink sedLabel		Label    HiLink sedLineCont		Special    HiLink sedPutHoldspc	Function    HiLink sedReplaceMeta	Special    HiLink sedRegexpMeta	Special    HiLink sedRW		Constant    HiLink sedSemicolon		Special    HiLink sedST		Function    HiLink sedSpecial		Special    HiLink sedWhitespace	NONE    if exists("highlight_sedtabs")        HiLink sedTab		Todo    endif    let __sed_i = 32    while __sed_i <= 126	exe "HiLink sedRegexp".__sed_i		"Macro"	exe "HiLink sedReplacement".__sed_i	"NONE"	let __sed_i = __sed_i + 1    endwhile    delcommand HiLinkendifunlet __sed_i __sed_delimiter __sed_metacharacterslet b:current_syntax = "sed"" vim: sts=4 sw=4 ts=8

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -