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

📄 filetype.vim

📁 MSYS在windows下模拟了一个类unix的终端
💻 VIM
📖 第 1 页 / 共 2 页
字号:
" Vim support file to detect file types"" Maintainer:	Bram Moolenaar <Bram@vim.org>" Last change:	2001 May 29if !exists("did_load_filetypes")let did_load_filetypes = 1" Line continuation is used here, remove 'C' from 'cpoptions'let ft_cpo_save = &cposet cpo-=Caugroup filetype" Ignored extensionsau BufNewFile,BufRead *.orig,*.bak,*.old,*.new	exe "doau filetype BufRead " . expand("<afile>:r")au BufNewFile,BufRead *~		exe "doau filetype BufRead " . substitute(expand("<afile>"), '\~$', '', '')" Abaqus or Trasysau BufNewFile,BufRead *.inp			call FTCheck_inp()fun! FTCheck_inp()  if getline(1) =~ '^\*'    set ft=abaqus  else    let n = 1    if line("$") > 500      let nmax = 500    else      let nmax = line("$")    endif    while n <= nmax      if getline(n) =~? "^header surface data"	set ft=trasys	break      endif      let n = n + 1    endwhile  endifendfun" ABC music notationau BufNewFile,BufRead *.abc			set ft=abc" ABELau BufNewFile,BufRead *.abl			set ft=abel" AceDBau BufNewFile,BufRead *.wrm			set ft=acedb" Ada (83, 9X, 95)au BufNewFile,BufRead *.adb,*.ads		set ft=ada" AHDLau BufNewFile,BufRead *.tdf			set ft=ahdl" Apache style config fileau BufNewFile,BufRead proftpd.conf*		set ft=apachestyle" Apache config fileau BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,.htaccess,apache.conf* set ft=apache" Applix ELFau BufNewFile,BufRead *.am			set ft=elf" Arc Macro Languageau BufNewFile,BufRead *.aml			set ft=aml" ASN.1au BufNewFile,BufRead *.asn,*.asn1		set ft=asn" Active Server Pages (with Visual Basic Script)au BufNewFile,BufRead *.asa			set ft=aspvbs" Active Server Pages (with Perl or Visual Basic Script)au BufNewFile,BufRead *.asp			if getline(1) . getline(2) .  getline(3) =~? "perlscript" | set ft=aspperl | else | set ft=aspvbs | endif" Assembly (all kinds)" *.lst is not pure assembly, it has two extra columns (address, byte codes)au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst	call FTCheck_asm()" This function checks for the kind of assembly that is wanted by the user, or" can be detected from the first five lines of the file.fun! FTCheck_asm()  " make sure b:asmsyntax exists  if !exists("b:asmsyntax")    let b:asmsyntax = ""  endif  if b:asmsyntax == ""    call FTCheck_asmsyntax()  endif  " if b:asmsyntax still isn't set, default to asmsyntax or GNU  if b:asmsyntax == ""    if exists("g:asmsyntax")      let b:asmsyntax = g:asmsyntax    else      let b:asmsyntax = "asm"    endif  endif  exe "set ft=" . b:asmsyntaxendfunfun! FTCheck_asmsyntax()  " see if file contains any asmsyntax=foo overrides. If so, change  " b:asmsyntax appropriately  let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).      \" ".getline(5)." "  if head =~ '\sasmsyntax=\S\+\s'    let b:asmsyntax = substitute(head, '.*\sasmsyntax=\(\S\+\)\s.*','\1', "")  endifendfun" Atlasau BufNewFile,BufRead *.atl,*.as		set ft=atlas" Automakeau BufNewFile,BufRead [mM]akefile.am		set ft=automake" Avenueau BufNewFile,BufRead *.ave			set ft=ave" Awkau BufNewFile,BufRead *.awk			set ft=awk" Bau BufNewFile,BufRead *.mch,*.ref,*.imp		set ft=b" BASIC or Visual Basicau BufNewFile,BufRead *.bas			call FTCheck_VB("basic")" Check if one of the first five lines contains "VB_Name".  In that case it is" probably a Visual Basic file.  Otherwise it's assumed to be "alt" filetype.fun! FTCheck_VB(alt)  if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name'    set ft=vb  else    exe "set ft=" . a:alt  endifendfun" Batch file for MSDOS (*.cmd is close enough)au BufNewFile,BufRead *.bat,*.sys,*.cmd		set ft=dosbatch|set nobin|set ff=dos" Batch file for 4DOSau BufNewFile,BufRead *.btm			set ft=btm" BC calculatorau BufNewFile,BufRead *.bc			set ft=bc" BibTeX bibliography database fileau BufNewFile,BufRead *.bib			set ft=bib" BIND configurationau BufNewFile,BufRead named.conf		set ft=named" BIND zoneau BufNewFile,BufRead /var/named/*,named.root	set ft=bindzone" Blankau BufNewFile,BufRead *.bl			set ft=blank" Cau BufNewFile,BufRead *.c			set ft=c" C#"au BufNewFile,BufRead *.cs			set ft=cs" Cyn++au BufNewFile,BufRead *.cyn			set ft=cynpp" Cynlib" .cc and .cpp files can be C++ or Cynlib.au BufNewFile,BufRead *.cc			if exists("cynlib_syntax_for_cc")|set ft=cynlib|else|set ft=cpp|endifau BufNewFile,BufRead *.cpp     		if exists("cynlib_syntax_for_cpp")|set ft=cynlib|else|set ft=cpp|endif" C++if has("fname_case")  au BufNewFile,BufRead *.cxx,*.c++,*.C,*.H,*.hh,*.hxx,*.hpp,*.tcc,*.inl set ft=cppelse  au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.tcc,*.inl set ft=cppendif" .h files can be C or C++, set c_syntax_for_h if you want Cau BufNewFile,BufRead *.h			if exists("c_syntax_for_h")|set ft=c|else|set ft=cpp|endif" Cascading Style Sheetsau BufNewFile,BufRead *.css			set ft=css" Century Term Command Scripts (*.cmd too)au BufNewFile,BufRead *.con			set ft=cterm" Changelogau BufNewFile,BufRead changelog.Debian		set ft=debchangelogau BufNewFile,BufRead [cC]hange[lL]og		if getline(1) =~ '; urgency='	\| set ft=debchangelog | else | set ft=changelog | endif" CHILLau BufNewFile,BufRead *..ch			set ft=ch" Changes for WEB and CWEB or CHILLau BufNewFile,BufRead *.ch			call FTCheck_change()" This function checks if one of the first ten lines start with a '@'.  In" that case it is probably a change file, otherwise CHILL is assumed.fun! FTCheck_change()  let lnum = 1  while lnum <= 10    if getline(lnum)[0] == '@'      set ft=change      return    endif    let lnum = lnum + 1  endwhile  set ft=chendfun" Cleanau BufNewFile,BufRead *.dcl,*.icl		set ft=clean" Clever (also: *.ent)au BufNewFile,BufRead *.eni			set ft=cl" Clever or SGMLau BufNewFile,BufRead *.ent			call FTCheck_ent()fun! FTCheck_ent()  " This function checks for valid cl syntax in the first five lines.  " Look for either an opening comment, '#', or a block start, '{".  " If not found, assume SGML.  let lnum = 1  while lnum < 6    let line = getline(lnum)    if line =~ '^\s*[#{]'      set ft=cl      return    elseif line !~ '^\s*$'      " Not a blank line, not a comment, and not a block start,      " so doesn't look like valid cl code.      break    endif    let lnum = lnum + 1  endw  set ft=sgmlendfun" Clipperau BufNewFile,BufRead *.prg			set ft=clipper" Cobolau BufNewFile,BufRead *.cbl,*.cob,*.cpy,*.lib	set ft=cobol" Cold Fusionau BufNewFile,BufRead *.cfm,*.cfi		set ft=cf" Configure scriptsau BufNewFile,BufRead configure.in,configure.ac	set ft=config" Configure filesau BufNewFile,BufRead *.cfg			set ft=cfg" Communicating Sequential Processesau BufNewFile,BufRead *.csp,*.fdr		set ft=csp" CUPL logic description and simulationau BufNewFile,BufRead *.pld			set ft=cuplau BufNewFile,BufRead *.si			set ft=cuplsim" Debian Controlau BufNewFile,BufRead */debian/control		set ft=debcontrol" Diff filesau BufNewFile,BufRead *.diff,*.rej		set ft=diff" Diva (with Skill) or InstallShieldau BufNewFile,BufRead *.rul			if getline(1).getline(2).getline(3).getline(4).getline(5).getline(6) =~? 'InstallShield'|set ft=ishd|else|set ft=diva|endif" DCL (Digital Command Language - vms) or DNS zone fileau BufNewFile,BufRead *.com	\ if getline(1) =~ '\($ORIGIN\|$TTL\|IN\s*SOA\)'	\	|| getline(2) =~ '\($ORIGIN\|$TTL\|IN\s*SOA\)'	\	|| getline(1).getline(2).getline(3).getline(4) =~ 'BIND.*named'	\ | set ft=dns | else | set ft=dcl | endif" Dylan - lid filesau BufNewFile,BufRead *.lid			set ft=dylanlid" Dylan - intr files (melange)au BufNewFile,BufRead *.intr			set ft=dylanintr" Dylanau BufNewFile,BufRead *.dylan			set ft=dylan" Microsoft Module Definitionau BufNewFile,BufRead *.def			set ft=def" Draculaau BufNewFile,BufRead drac.*,*.drac,*.drc,*lvs,*lpe set ft=dracula" DTD (Document Type Definition for XML)au BufNewFile,BufRead *.dtd			set ft=dtd" Embedix Component Descriptionau BufNewFile,BufRead *.ecd			set ft=ecd" Eiffelau BufNewFile,BufRead *.e,*.E			set ft=eiffel" ERicsson LANGuageau BufNewFile,BufRead *.erl			set ft=erlang" Elm Filter Rules fileau BufNewFile,BufRead filter-rules		set ft=elmfilt" ESQL-Cau BufNewFile,BufRead *.ec,*.EC			set ft=esqlc" Essbase scriptau BufNewFile,BufRead *.csc			set ft=csc" Expectau BufNewFile,BufRead *.exp			set ft=expect" Exportsau BufNewFile,BufRead exports			set ft=exports" Focus Executableau BufNewFile,BufRead *.fex,*.focexec		set ft=focexec" Focus Master fileau BufNewFile,BufRead *.mas,*.master		set ft=master" Forthau BufNewFile,BufRead *.fs,*.ft			set ft=forth" Fortranau BufNewFile,BufRead *.f,*.F,*.for,*.fpp,*.ftn,*.f77,*.f90,*.f95	set ft=fortran" Fvwmau BufNewFile,BufRead *fvwmrc*,*fvwm95*.hook	\ let b:fvwm_version = 1 | set ft=fvwmau BufNewFile,BufRead *fvwm2rc*	\ let b:fvwm_version = 2 | set ft=fvwm" GDB command filesau BufNewFile,BufRead .gdbinit			set ft=gdb" GDMOau BufNewFile,BufRead *.mo,*.gdmo		set ft=gdmo" Gedcomau BufNewFile,BufRead *.ged			set ft=gedcom" GP scripts (2.0 and onward)au BufNewFile,BufRead *.gp			set ft=gp" GNU Server Pagesau BufNewFile,BufRead *.gsp			set ft=gsp" Gnuplot scriptsau BufNewFile,BufRead *.gpi			set ft=gnuplot" GTK RCau BufNewFile,BufRead .gtkrc,gtkrc		set ft=gtkrc" Haskellau BufNewFile,BufRead *.hs			set ft=haskellau BufNewFile,BufRead *.lhs			set ft=lhaskell" Herculesau BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum	set ft=hercules" HEX (Intel)au BufNewFile,BufRead *.hex,*.h32		set ft=hex" HTML (.shtml for server side)au BufNewFile,BufRead *.html,*.htm,*.shtml	set ft=html" HTML with M4au BufNewFile,BufRead *.html.m4			set ft=htmlm4" Hyper Builderau BufNewFile,BufRead *.hb			set ft=hb" Iconau BufNewFile,BufRead *.icn			set ft=icon" IDL (Interface Description Language)au BufNewFile,BufRead *.idl			set ft=idl" IDL (Interactive Data Language)au BufNewFile,BufRead *.pro			set ft=idlang" Informau BufNewFile,BufRead *.inf,*.INF		set ft=inform" Informix 4GL (source - canonical, include file, I4GL+M4 preproc.)au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl	set ft=fgl" .INI file for MSDOSau BufNewFile,BufRead *.ini			set ft=dosini" SysV Inittabau BufNewFile,BufRead inittab			set ft=inittab" Inno Setupau BufNewFile,BufRead *.iss			set ft=iss" Jamau! BufNewFile,BufRead *.jpl,*.jpr,Prl*.*,JAM*.*	set ft=jam" Javaau BufNewFile,BufRead *.java,*.jav		set ft=java" JavaCCau BufNewFile,BufRead *.jj,*.jjt		set ft=javacc" JavaScriptau BufNewFile,BufRead *.js,*.javascript		set ft=javascript" Java Server Pagesau BufNewFile,BufRead *.jsp			set ft=jsp" Java Properties resource file (note: doesn't catch font.properties.pl)au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_??,*.properties_??_??_*		set ft=jproperties" Jessau BufNewFile,BufRead *.clp			set ft=jess" Jgraphau BufNewFile,BufRead *.jgr			set ft=jgraph" Kimwitu[++]au BufNewFile,BufRead *.k			set ft=kwt" KixTartau BufNewFile,BufRead *.kix			set ft=kix" KDE scriptau BufNewFile,BufRead *.ks			set ft=kscript" Lace (ISE)au BufNewFile,BufRead *.ace,*.ACE		set ft=lace" Latteau BufNewFile,BufRead *.latte,*.lte		set ft=latte" LambdaProlog (*.mod too, see Modsim)au BufNewFile,BufRead *.sig			set ft=lprolog" Lexau BufNewFile,BufRead *.lex,*.l			set ft=lex" Lilo: Linux loaderau BufNewFile,BufRead lilo.conf*		set ft=lilo" Lisp (*.el = ELisp, *.cl = Common Lisp, *.jl = librep Lisp)if has("fname_case")  au BufNewFile,BufRead *.lsp,*.el,*.cl,*.jl,*.L	set ft=lispelse  au BufNewFile,BufRead *.lsp,*.el,*.cl,*.jl		set ft=lispendif" Liteau BufNewFile,BufRead *.lite,*.lt		set ft=lite" LOTOSau BufNewFile,BufRead *.lot,*.lotos		set ft=lotos" Lout (also: *.lt)au BufNewFile,BufRead *.lou,*.lout		set ft=lout" Luaau BufNewFile,BufRead *.lua			set ft=lua" Lynx style fileau BufNewFile,BufRead *.lss			set ft=lss" M4au BufNewFile,BufRead *.m4			if expand("<afile>") !~? "html.m4$" | set ft=m4 | endif" MaGic Pointau BufNewFile,BufRead *.mgp			set ft=mgp" Mail (for Elm, trn, mutt, rn, slrn)au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt-*-\d\+,mutt\w\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+ set ft=mail" Makefile (but not Automake)au BufNewFile,BufRead [mM]akefile* if expand("<afile>") !~? 'Makefile.am\>' | set ft=make | endifau BufNewFile,BufRead GNUmakefile,*.mk,*.mak,*.dsp set ft=make" MakeIndexau BufNewFile,BufRead *.ist,*.mst		set ft=ist" Manpageau BufNewFile,BufRead *.man			set ft=man" Maple Vau BufNewFile,BufRead *.mv,*.mpl,*.mws		set ft=maple" Masonau BufNewFile,BufRead *.mason.*.mhtml		set ft=mason" Matlab or Mathematicaau BufNewFile,BufRead *.m			call FTCheck_m()fun! FTCheck_m()  let n = 1  while n < 10    if getline(n) =~ '^\s*%'      set ft=matlab      return    endif    if getline(n) =~ '^\s*(\*'      set ft=mma      return    endif    let n = n + 1  endwhile  set ft=matlabendfun" Maya Extension Languageau BufNewFile,BufRead *.mel			set ft=mel" Metafontau BufNewFile,BufRead *.mf			set ft=mf" MetaPostau BufNewFile,BufRead *.mp			set ft=mp" Modsim III (or LambdaProlog)au BufNewFile,BufRead *.mod	\ if getline(1) =~ '\<module\>' |	\   set ft=lprolog |	\ else |	\   set ft=modsim3 |	\ endif" Modula 2au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi set ft=modula2" Modula 3 (.m3, .i3, .mg, .ig)au BufNewFile,BufRead *.[mi][3g]		set ft=modula3" Moterola S recordau BufNewFile,BufRead *.s19,*.s28,*.s37		set ft=srec" Msqlau BufNewFile,BufRead *.msql			set ft=msql

⌨️ 快捷键说明

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