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

📄 nroff.vim

📁 MSYS在windows下模拟了一个类unix的终端
💻 VIM
字号:
" VIM syntax file" Language:	nroff / groff" Maintainer:	J閞鬽e Pl鹴 <Jerome.Plut@ens.fr>" URL:		http://www.eleves.ens.fr:8080/home/plut/nroff.vim" Last Change:	2001 May 10"" {{{1 Preamble" groff (GNU troff) behaves slightly differently from groff; it allows" long names being specified between brackets: for instance, \[hy] is" equivalent to \(hy." This file handle both syntaxes, depending on the value of 'filetype'." For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600  syntax clearelseif exists("b:current_syntax")  finishendifif exists("nroff_space_errors")  syn match nroffError /\s\+$/endif" {{{1 Escape sequences" ------------------------------------------------------------syn match nroffEscChar /\\[CN]/ nextgroup=nroffEscCharArgsyn match nroffEscape /\\[*gnYV]/ nextgroup=nroffEscRegPar,nroffEscRegArgsyn match nroffEscape /\\s[+-]\=/ nextgroup=nroffSizesyn match nroffEscape /\\[$AbDfhlLRvxXZ]/ nextgroup=nroffEscPar,nroffEscArgsyn match nroffEscRegArg /./ containedsyn match nroffEscRegArg2 /../ containedsyn match nroffEscRegPar /(/ contained nextgroup=nroffEscRegArg2syn match nroffEscArg /./ containedsyn match nroffEscArg2 /../ containedsyn match nroffEscPar /(/ contained nextgroup=nroffEscArg2syn match nroffSize /\((\d\)\=\d/ containedsyn region nroffEscCharArg start=/'/ end=/'/ containedsyn region nroffEscArg start=/'/ end=/'/ contained contains=nroffEscape,@nroffSpecialif exists("b:nroff_is_groff")  syn region nroffEscRegArg matchgroup=nroffEscape start=/\[/ end=/\]/ contained oneline  syn region nroffSize matchgroup=nroffEscape start=/\[/ end=/\]/ containedendifsyn match nroffEscape /\\[adprtu{}]/syn match nroffEscape /\\$/syn match nroffEscape /\\\$[@*]/" {{{1 Strings and special characters" ------------------------------------------------------------syn match nroffSpecialChar /\\[\\eE?!-]/syn match nroffSpace  "\\[&%~|^0)/,]"syn match nroffSpecialChar /\\(../if exists("b:nroff_is_groff")  syn match nroffSpecialChar /\\\[[^]]*]/  syn region nroffPreserve matchgroup=nroffSpecialChar start=/\\?/ end=/\\?/ onelineendifsyn region nroffPreserve matchgroup=nroffSpecialChar start=/\\!/ end=/$/ onelinesyn cluster nroffSpecial contains=nroffSpecialChar,nroffSpacesyn region nroffString start=/"/ end=/"/ skip=/\\$/ contains=nroffEscape,@nroffSpecial containedsyn region nroffString start=/'/ end=/'/ skip=/\\$/ contains=nroffEscape,@nroffSpecial contained" {{{1 Numbers and units" ------------------------------------------------------------syn match nroffNumBlock /[0-9.]\a\=/ contained contains=nroffNumbersyn match nroffNumber /\d\+\(\.\d*\)\=/ contained nextgroup=nroffUnit,nroffBadCharsyn match nroffNumber /\.\d\+)/ contained nextgroup=nroffUnit,nroffBadCharsyn match nroffBadChar /./ containedsyn match nroffUnit /[icpPszmnvMu]/ contained" {{{1 Requests" ------------------------------------------------------------" Requests begin with . or ' at the beginning of a line, or after .if or" .ie.syn match nroffReqLeader /^[.']/ nextgroup=nroffReqName skipwhitesyn match nroffReqLeader /[.']/ contained nextgroup=nroffReqName skipwhiteif exists("b:nroff_is_groff")" GNU troff allows long request names  syn match nroffReqName /[^\t \\\[?]\+/ contained nextgroup=nroffReqArgelse  syn match nroffReqName /[^\t \\\[?]\{1,2}/ contained nextgroup=nroffReqArgendifsyn region roffReqArg start=/\S/ skip=/\\$/ end=/$/ contained contains=nroffEscape,@nroffSpecial,nroffString,nroffError,nroffNumBlock,nroffComment" {{{2 Conditional: .if .ie .elsyn match nroffReqName /\(if\|ie\)/ contained nextgroup=nroffCond skipwhitesyn match nroffReqName /el/ contained nextgroup=nroffReqLeader skipwhitesyn match nroffCond /\S\+/ contained nextgroup=nroffReqLeader skipwhite" {{{2 String definition: .ds .assyn match nroffReqname /[da]s/ contained nextgroup=nroffDefIdent skipwhitesyn match nroffDefIdent /\S\+/ contained nextgroup=nroffDefinition skipwhitesyn region nroffDefinition matchgroup=nroffSpecialChar start=/"/ matchgroup=NONE end=/\\"/me=e-2 skip=/\\$/ start=/\S/ end=/$/ contained contains=nroffDefSpecialsyn match nroffDefSpecial /\\$/ containedsyn match nroffDefSpecial /\\\((.\)\=./ containedif exists("b:nroff_is_groff")  syn match nroffDefSpecial /\\\[[^]]*]/ containedendif" {{{2 Macro definition: .de .am, also diversion: .disyn match nroffReqName /\(d[ei]\|am\)/ contained nextgroup=nroffIdent skipwhitesyn match nroffIdent /[^[?( \t]\+/ containedif exists("b:nroff_is_groff")  syn match nroffReqName /als/ contained nextgroup=nroffIdent skipwhiteendif" {{{2 Register definition: .rn .rrsyn match nroffReqName /[rn]r/ contained nextgroup=nroffIdent skipwhiteif exists("b:nroff_is_groff")  syn match nroffReqName /\(rnn\|aln\)/ contained nextgroup=nroffIdent skipwhiteendif" {{{1 eqn/tbl/pic" ------------------------------------------------------------" XXX: write proper syntax highlight for eqn / tbl / pic ?syn region nroffEquation start=/^\.\s*EQ/ end=/^\.\s*EN/syn region nroffTable start=/^\.\s*TB/ end=/^\.\s*TE/syn region nroffPicture start=/^\.\s*PB/ end=/^\.\s*PE/" {{{1 Comments" ------------------------------------------------------------syn region nroffIgnore start=/^[.']\s*ig/ end=/^['.]\s*\./syn match nroffComment /\(^[.']\s*\)\=\\".*/ contains=nroffTodosyn match nroffComment /^'''.*/ contains=nroffTodoif exists("b:nroff_is_groff")  syn match nroffComment "\\#.*$" contains=nroffTodoendifsyn keyword nroffTodo TODO XXX FIXME contained" {{{1 Hilighting" ------------------------------------------------------------" Define the default highlighting." For version 5.7 and earlier: only when not done already" For version 5.8 and later: only when an item doesn't have highlighting yetif version >= 508 || !exists("did_nroff_syn_inits")  if version < 508    let did_nroff_syn_inits = 1    command -nargs=+ HiLink hi link <args>  else    command -nargs=+ HiLink hi def link <args>  endifHiLink nroffEscChar	nroffSpecialCharHiLink nroffEscCharAr	nroffSpecialCharHiLink nroffSpecialChar	SpecialCharHiLink nroffSpace	DelimiterHiLink nroffEscRegArg2	nroffEscRegArgHiLink nroffEscRegArg	nroffIdentHiLink nroffEscArg2	nroffEscArgHiLink nroffEscPar	nroffEscapeHiLink nroffEscRegPar	nroffEscapeHiLink nroffEscArg	nroffEscapeHiLink nroffSize	nroffEscapeHiLink nroffEscape	PreprocHiLink nroffIgnore	CommentHiLink nroffComment	CommentHiLink nroffTodo	TodoHiLink nroffReqLeader	nroffRequestHiLink nroffReqName	nroffRequestHiLink nroffRequest	StatementHiLink nroffCond	PreConditHiLink nroffDefIdent	nroffIdentHiLink nroffIdent	IdentifierHiLink nroffEquation	PreProcHiLink nroffTable	PreProcHiLink nroffPicture	PreProcHiLink nroffNumber	NumberHiLink nroffBadChar	nroffErrorHiLink nroffError	ErrorHiLink nroffPreserve	StringHiLink nroffString	StringHiLink nroffDefinition	StringHiLink nroffDefSpecial	Special  delcommand HiLinkendif" I recommend using for nroffDefinition an highlight that shows spaces," since nroff includes them in the string, for instance:" hi def nroffDefinition term=italic cterm=italic gui=reverse" hi def nroffDefSpecial term=italic,bold cterm=italic,bold gui=reverse,boldlet b:current_syntax = "nroff"" }}}1" vim: set ts=8 sw=2:" vim600: set fdm=marker fdl=2:

⌨️ 快捷键说明

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