golden hour
/usr/share/vim/vim74/syntax
⬆️ Go Up
Upload
File/Folder
Size
Actions
2html.vim
67.44 KB
Del
OK
README.txt
1.37 KB
Del
OK
a2ps.vim
2.36 KB
Del
OK
a65.vim
6.62 KB
Del
OK
aap.vim
5.56 KB
Del
OK
abap.vim
9.24 KB
Del
OK
abaqus.vim
1.45 KB
Del
OK
abc.vim
2.17 KB
Del
OK
abel.vim
5.32 KB
Del
OK
acedb.vim
5.11 KB
Del
OK
ada.vim
12.74 KB
Del
OK
aflex.vim
4.71 KB
Del
OK
ahdl.vim
3.08 KB
Del
OK
alsaconf.vim
1.5 KB
Del
OK
amiga.vim
3.28 KB
Del
OK
aml.vim
23.93 KB
Del
OK
ampl.vim
4.19 KB
Del
OK
ant.vim
5.68 KB
Del
OK
antlr.vim
2.14 KB
Del
OK
apache.vim
14.78 KB
Del
OK
apachestyle.vim
1.7 KB
Del
OK
aptconf.vim
19.13 KB
Del
OK
arch.vim
1.11 KB
Del
OK
art.vim
1.27 KB
Del
OK
asciidoc.vim
10.6 KB
Del
OK
asm.vim
4.32 KB
Del
OK
asm68k.vim
14.3 KB
Del
OK
asmh8300.vim
2.42 KB
Del
OK
asn.vim
2.87 KB
Del
OK
aspperl.vim
1016 B
Del
OK
aspvbs.vim
9.25 KB
Del
OK
asterisk.vim
5.45 KB
Del
OK
asteriskvm.vim
2.56 KB
Del
OK
atlas.vim
2.9 KB
Del
OK
autohotkey.vim
9.75 KB
Del
OK
autoit.vim
46.89 KB
Del
OK
automake.vim
4.25 KB
Del
OK
ave.vim
2.21 KB
Del
OK
awk.vim
7.54 KB
Del
OK
ayacc.vim
2.88 KB
Del
OK
b.vim
5.09 KB
Del
OK
baan.vim
72.26 KB
Del
OK
basic.vim
8.31 KB
Del
OK
bc.vim
2.13 KB
Del
OK
bdf.vim
3.74 KB
Del
OK
bib.vim
3.76 KB
Del
OK
bindzone.vim
5.09 KB
Del
OK
blank.vim
1.18 KB
Del
OK
bst.vim
3.31 KB
Del
OK
btm.vim
9.41 KB
Del
OK
bzr.vim
1.91 KB
Del
OK
c.vim
24.25 KB
Del
OK
cabal.vim
4.59 KB
Del
OK
calendar.vim
4.91 KB
Del
OK
catalog.vim
921 B
Del
OK
cdl.vim
3.27 KB
Del
OK
cdrdaoconf.vim
3.55 KB
Del
OK
cdrtoc.vim
22.21 KB
Del
OK
cf.vim
28.9 KB
Del
OK
cfg.vim
1.71 KB
Del
OK
ch.vim
1.26 KB
Del
OK
chaiscript.vim
2.82 KB
Del
OK
change.vim
1.28 KB
Del
OK
changelog.vim
2.79 KB
Del
OK
chaskell.vim
396 B
Del
OK
cheetah.vim
2.08 KB
Del
OK
chill.vim
8.08 KB
Del
OK
chordpro.vim
2.46 KB
Del
OK
cl.vim
4.18 KB
Del
OK
clean.vim
3.28 KB
Del
OK
clipper.vim
5.82 KB
Del
OK
clojure.vim
22.82 KB
Del
OK
cmake.vim
4.35 KB
Del
OK
cmusrc.vim
12.61 KB
Del
OK
cobol.vim
10.07 KB
Del
OK
coco.vim
1.26 KB
Del
OK
colortest.vim
3.13 KB
Del
OK
conaryrecipe.vim
7.85 KB
Del
OK
conf.vim
799 B
Del
OK
config.vim
1.8 KB
Del
OK
context.vim
4.08 KB
Del
OK
cpp.vim
2.58 KB
Del
OK
crm.vim
1.16 KB
Del
OK
crontab.vim
2.51 KB
Del
OK
cs.vim
5.95 KB
Del
OK
csc.vim
8.58 KB
Del
OK
csdl.vim
23.2 KB
Del
OK
csh.vim
6.84 KB
Del
OK
csp.vim
7.33 KB
Del
OK
css.vim
23.08 KB
Del
OK
cterm.vim
6.58 KB
Del
OK
ctrlh.vim
688 B
Del
OK
cucumber.vim
31.14 KB
Del
OK
cuda.vim
2.77 KB
Del
OK
cupl.vim
4.13 KB
Del
OK
cuplsim.vim
2.32 KB
Del
OK
cvs.vim
1.27 KB
Del
OK
cvsrc.vim
1.21 KB
Del
OK
cweb.vim
3.29 KB
Del
OK
cynlib.vim
2.94 KB
Del
OK
cynpp.vim
1.74 KB
Del
OK
d.vim
27.36 KB
Del
OK
datascript.vim
3.39 KB
Del
OK
dcd.vim
2.15 KB
Del
OK
dcl.vim
6.47 KB
Del
OK
debchangelog.vim
2.47 KB
Del
OK
debcontrol.vim
7.07 KB
Del
OK
debsources.vim
1.32 KB
Del
OK
def.vim
1.46 KB
Del
OK
denyhosts.vim
7.18 KB
Del
OK
desc.vim
3.41 KB
Del
OK
desktop.vim
4.34 KB
Del
OK
dictconf.vim
3.03 KB
Del
OK
dictdconf.vim
6.3 KB
Del
OK
diff.vim
16.5 KB
Del
OK
dircolors.vim
41.07 KB
Del
OK
dirpager.vim
1.75 KB
Del
OK
diva.vim
4.95 KB
Del
OK
django.vim
4.2 KB
Del
OK
dns.vim
132 B
Del
OK
dnsmasq.vim
8.97 KB
Del
OK
docbk.vim
10.52 KB
Del
OK
docbksgml.vim
193 B
Del
OK
docbkxml.vim
191 B
Del
OK
dosbatch.vim
6.46 KB
Del
OK
dosini.vim
1.51 KB
Del
OK
dot.vim
3.32 KB
Del
OK
doxygen.vim
35.2 KB
Del
OK
dracula.vim
3 KB
Del
OK
dsl.vim
1.28 KB
Del
OK
dtd.vim
5.11 KB
Del
OK
dtml.vim
16.67 KB
Del
OK
dtrace.vim
6.34 KB
Del
OK
dts.vim
1.1 KB
Del
OK
dylan.vim
3.72 KB
Del
OK
dylanintr.vim
1.45 KB
Del
OK
dylanlid.vim
1.06 KB
Del
OK
ecd.vim
1.52 KB
Del
OK
edif.vim
1.61 KB
Del
OK
eiffel.vim
7.06 KB
Del
OK
elf.vim
2.65 KB
Del
OK
elinks.vim
10.24 KB
Del
OK
elmfilt.vim
3.19 KB
Del
OK
erlang.vim
10.63 KB
Del
OK
eruby.vim
2.83 KB
Del
OK
esmtprc.vim
1.01 KB
Del
OK
esqlc.vim
2.5 KB
Del
OK
esterel.vim
3.27 KB
Del
OK
eterm.vim
18.71 KB
Del
OK
eviews.vim
5.29 KB
Del
OK
exim.vim
17.84 KB
Del
OK
expect.vim
4.02 KB
Del
OK
exports.vim
2.08 KB
Del
OK
falcon.vim
11.68 KB
Del
OK
fan.vim
5.32 KB
Del
OK
fasm.vim
8.54 KB
Del
OK
fdcc.vim
5.82 KB
Del
OK
fetchmail.vim
3.22 KB
Del
OK
fgl.vim
7.48 KB
Del
OK
flexwiki.vim
5.34 KB
Del
OK
focexec.vim
3.82 KB
Del
OK
form.vim
6.65 KB
Del
OK
forth.vim
13.2 KB
Del
OK
fortran.vim
25.92 KB
Del
OK
foxpro.vim
32.37 KB
Del
OK
framescript.vim
11.39 KB
Del
OK
freebasic.vim
10.27 KB
Del
OK
fstab.vim
15.19 KB
Del
OK
fvwm.vim
24.44 KB
Del
OK
fvwm2m4.vim
828 B
Del
OK
gdb.vim
4.63 KB
Del
OK
gdmo.vim
3.59 KB
Del
OK
gedcom.vim
2.61 KB
Del
OK
git.vim
4.06 KB
Del
OK
gitcommit.vim
4.72 KB
Del
OK
gitconfig.vim
1.58 KB
Del
OK
gitolite.vim
3.5 KB
Del
OK
gitrebase.vim
1.69 KB
Del
OK
gitsendemail.vim
437 B
Del
OK
gkrellmrc.vim
4.24 KB
Del
OK
gnash.vim
3.48 KB
Del
OK
gnuplot.vim
9.41 KB
Del
OK
gp.vim
3.06 KB
Del
OK
gpg.vim
5.45 KB
Del
OK
gprof.vim
2.07 KB
Del
OK
grads.vim
2.06 KB
Del
OK
gretl.vim
4.05 KB
Del
OK
groff.vim
292 B
Del
OK
groovy.vim
22.34 KB
Del
OK
group.vim
1.67 KB
Del
OK
grub.vim
3.78 KB
Del
OK
gsp.vim
2.21 KB
Del
OK
gtkrc.vim
9.25 KB
Del
OK
haml.vim
6.86 KB
Del
OK
hamster.vim
13.9 KB
Del
OK
haskell.vim
8.53 KB
Del
OK
haste.vim
4.97 KB
Del
OK
hastepreproc.vim
1.59 KB
Del
OK
hb.vim
3.47 KB
Del
OK
help.vim
7.76 KB
Del
OK
hercules.vim
6.01 KB
Del
OK
hex.vim
1.65 KB
Del
OK
hgcommit.vim
1.09 KB
Del
OK
hitest.vim
3.6 KB
Del
OK
hog.vim
17.74 KB
Del
OK
hostconf.vim
3.77 KB
Del
OK
hostsaccess.vim
607 B
Del
OK
html.vim
15.47 KB
Del
OK
htmlcheetah.vim
672 B
Del
OK
htmldjango.vim
1.15 KB
Del
OK
htmlm4.vim
874 B
Del
OK
htmlos.vim
8.54 KB
Del
OK
ia64.vim
10.68 KB
Del
OK
ibasic.vim
6.87 KB
Del
OK
icemenu.vim
838 B
Del
OK
icon.vim
7.12 KB
Del
OK
idl.vim
19.13 KB
Del
OK
idlang.vim
13.5 KB
Del
OK
indent.vim
6.98 KB
Del
OK
inform.vim
19.3 KB
Del
OK
initex.vim
18.76 KB
Del
OK
initng.vim
3.32 KB
Del
OK
inittab.vim
2.76 KB
Del
OK
ipfilter.vim
1.68 KB
Del
OK
ishd.vim
26.78 KB
Del
OK
iss.vim
5.24 KB
Del
OK
ist.vim
2.39 KB
Del
OK
jal.vim
8.99 KB
Del
OK
jam.vim
26.48 KB
Del
OK
jargon.vim
1006 B
Del
OK
java.vim
17.11 KB
Del
OK
javacc.vim
2.65 KB
Del
OK
javascript.vim
5.34 KB
Del
OK
jess.vim
6.53 KB
Del
OK
jgraph.vim
1.58 KB
Del
OK
jovial.vim
4.01 KB
Del
OK
jproperties.vim
5.75 KB
Del
OK
jsp.vim
3.05 KB
Del
OK
kconfig.vim
35.29 KB
Del
OK
kix.vim
6.42 KB
Del
OK
kscript.vim
2.31 KB
Del
OK
kwt.vim
2.85 KB
Del
OK
lace.vim
4.31 KB
Del
OK
latte.vim
3.9 KB
Del
OK
ld.vim
2.82 KB
Del
OK
ldapconf.vim
12.98 KB
Del
OK
ldif.vim
1.19 KB
Del
OK
lex.vim
6.61 KB
Del
OK
lftp.vim
7.28 KB
Del
OK
lhaskell.vim
4.88 KB
Del
OK
libao.vim
624 B
Del
OK
lifelines.vim
6.75 KB
Del
OK
lilo.vim
10.42 KB
Del
OK
limits.vim
1.27 KB
Del
OK
liquid.vim
6.04 KB
Del
OK
lisp.vim
35.56 KB
Del
OK
lite.vim
5.08 KB
Del
OK
litestep.vim
6.51 KB
Del
OK
loginaccess.vim
4.09 KB
Del
OK
logindefs.vim
7.35 KB
Del
OK
logtalk.vim
15.91 KB
Del
OK
lotos.vim
2.7 KB
Del
OK
lout.vim
4.68 KB
Del
OK
lpc.vim
22.84 KB
Del
OK
lprolog.vim
4.25 KB
Del
OK
lscript.vim
12.19 KB
Del
OK
lsl.vim
15.43 KB
Del
OK
lss.vim
5.14 KB
Del
OK
lua.vim
14.07 KB
Del
OK
lynx.vim
6.42 KB
Del
OK
m4.vim
2.99 KB
Del
OK
mail.vim
5.92 KB
Del
OK
mailaliases.vim
2.69 KB
Del
OK
mailcap.vim
1.11 KB
Del
OK
make.vim
6.34 KB
Del
OK
mallard.vim
1.69 KB
Del
OK
man.vim
1.99 KB
Del
OK
manconf.vim
4.23 KB
Del
OK
manual.vim
803 B
Del
OK
maple.vim
27.95 KB
Del
OK
markdown.vim
7.11 KB
Del
OK
masm.vim
15.7 KB
Del
OK
mason.vim
3.39 KB
Del
OK
master.vim
1.4 KB
Del
OK
matlab.vim
4.23 KB
Del
OK
maxima.vim
18.71 KB
Del
OK
mel.vim
3.65 KB
Del
OK
messages.vim
2.49 KB
Del
OK
mf.vim
8.05 KB
Del
OK
mgl.vim
3.87 KB
Del
OK
mgp.vim
2.34 KB
Del
OK
mib.vim
2.63 KB
Del
OK
mma.vim
11.69 KB
Del
OK
mmix.vim
5.12 KB
Del
OK
mmp.vim
1.63 KB
Del
OK
modconf.vim
1.37 KB
Del
OK
model.vim
1.43 KB
Del
OK
modsim3.vim
3.86 KB
Del
OK
modula2.vim
3.54 KB
Del
OK
modula3.vim
2.37 KB
Del
OK
monk.vim
10.44 KB
Del
OK
moo.vim
9.03 KB
Del
OK
mp.vim
5.62 KB
Del
OK
mplayerconf.vim
4.29 KB
Del
OK
mrxvtrc.vim
9.38 KB
Del
OK
msidl.vim
3.74 KB
Del
OK
msmessages.vim
6.26 KB
Del
OK
msql.vim
2.73 KB
Del
OK
mupad.vim
15.41 KB
Del
OK
mush.vim
13.15 KB
Del
OK
muttrc.vim
79.17 KB
Del
OK
mysql.vim
17.46 KB
Del
OK
named.vim
10.17 KB
Del
OK
nanorc.vim
10.36 KB
Del
OK
nasm.vim
24.98 KB
Del
OK
nastran.vim
8.53 KB
Del
OK
natural.vim
7.11 KB
Del
OK
ncf.vim
13.35 KB
Del
OK
netrc.vim
1.88 KB
Del
OK
netrw.vim
5.71 KB
Del
OK
ninja.vim
2.5 KB
Del
OK
nosyntax.vim
755 B
Del
OK
nqc.vim
14.05 KB
Del
OK
nroff.vim
7.85 KB
Del
OK
nsis.vim
9.64 KB
Del
OK
obj.vim
3.09 KB
Del
OK
objc.vim
29.72 KB
Del
OK
objcpp.vim
786 B
Del
OK
ocaml.vim
13.5 KB
Del
OK
occam.vim
4.37 KB
Del
OK
omnimark.vim
6.69 KB
Del
OK
openroad.vim
14.01 KB
Del
OK
opl.vim
4.42 KB
Del
OK
ora.vim
26.82 KB
Del
OK
pamconf.vim
5.4 KB
Del
OK
papp.vim
4.03 KB
Del
OK
pascal.vim
14.97 KB
Del
OK
passwd.vim
2.37 KB
Del
OK
pcap.vim
1.92 KB
Del
OK
pccts.vim
4.44 KB
Del
OK
pdf.vim
3.46 KB
Del
OK
perl.vim
35.71 KB
Del
OK
perl6.vim
72.67 KB
Del
OK
pf.vim
2.71 KB
Del
OK
pfmain.vim
80.89 KB
Del
OK
php.vim
78.62 KB
Del
OK
phtml.vim
151 B
Del
OK
pic.vim
3.63 KB
Del
OK
pike.vim
6.55 KB
Del
OK
pilrc.vim
5.38 KB
Del
OK
pine.vim
15.52 KB
Del
OK
pinfo.vim
5.16 KB
Del
OK
plaintex.vim
10.05 KB
Del
OK
pli.vim
13.2 KB
Del
OK
plm.vim
5.57 KB
Del
OK
plp.vim
1.43 KB
Del
OK
plsql.vim
12.92 KB
Del
OK
po.vim
6.21 KB
Del
OK
pod.vim
7.49 KB
Del
OK
postscr.vim
45.45 KB
Del
OK
pov.vim
9.13 KB
Del
OK
povini.vim
3.69 KB
Del
OK
ppd.vim
1.23 KB
Del
OK
ppwiz.vim
3.1 KB
Del
OK
prescribe.vim
2.72 KB
Del
OK
privoxy.vim
3.5 KB
Del
OK
procmail.vim
2.35 KB
Del
OK
progress.vim
31.38 KB
Del
OK
prolog.vim
4.45 KB
Del
OK
promela.vim
1.78 KB
Del
OK
proto.vim
2.86 KB
Del
OK
protocols.vim
1.38 KB
Del
OK
psf.vim
4.52 KB
Del
OK
ptcap.vim
4.35 KB
Del
OK
purifylog.vim
3.54 KB
Del
OK
pyrex.vim
2 KB
Del
OK
python.vim
11.61 KB
Del
OK
qf.vim
596 B
Del
OK
quake.vim
8.34 KB
Del
OK
r.vim
7.45 KB
Del
OK
racc.vim
5.48 KB
Del
OK
radiance.vim
7.42 KB
Del
OK
ratpoison.vim
17.19 KB
Del
OK
rc.vim
10.19 KB
Del
OK
rcs.vim
2.47 KB
Del
OK
rcslog.vim
970 B
Del
OK
readline.vim
16.24 KB
Del
OK
rebol.vim
7.37 KB
Del
OK
redif.vim
85.91 KB
Del
OK
registry.vim
3.48 KB
Del
OK
remind.vim
2.71 KB
Del
OK
resolv.vim
3.1 KB
Del
OK
reva.vim
7.58 KB
Del
OK
rexx.vim
15.23 KB
Del
OK
rhelp.vim
9.84 KB
Del
OK
rib.vim
2.38 KB
Del
OK
rnc.vim
2.2 KB
Del
OK
rng.vim
817 B
Del
OK
rnoweb.vim
2.01 KB
Del
OK
robots.vim
1.8 KB
Del
OK
rpcgen.vim
2.11 KB
Del
OK
rpl.vim
25.38 KB
Del
OK
rst.vim
8.06 KB
Del
OK
rtf.vim
2.68 KB
Del
OK
ruby.vim
27.76 KB
Del
OK
samba.vim
6.37 KB
Del
OK
sas.vim
11.74 KB
Del
OK
sass.vim
5.6 KB
Del
OK
sather.vim
3.74 KB
Del
OK
scheme.vim
17.25 KB
Del
OK
scilab.vim
3.44 KB
Del
OK
screen.vim
8.32 KB
Del
OK
scss.vim
409 B
Del
OK
sd.vim
2.49 KB
Del
OK
sdc.vim
1.36 KB
Del
OK
sdl.vim
6.87 KB
Del
OK
sed.vim
5.23 KB
Del
OK
sendpr.vim
1000 B
Del
OK
sensors.vim
1.47 KB
Del
OK
services.vim
1.77 KB
Del
OK
setserial.vim
5.09 KB
Del
OK
sgml.vim
8.75 KB
Del
OK
sgmldecl.vim
2.42 KB
Del
OK
sgmllnx.vim
2.18 KB
Del
OK
sh.vim
38.15 KB
Del
OK
sicad.vim
18.5 KB
Del
OK
sieve.vim
1.62 KB
Del
OK
simula.vim
3.59 KB
Del
OK
sinda.vim
4 KB
Del
OK
sindacmp.vim
1.64 KB
Del
OK
sindaout.vim
2.36 KB
Del
OK
sisu.vim
19.91 KB
Del
OK
skill.vim
25.5 KB
Del
OK
sl.vim
4.32 KB
Del
OK
slang.vim
3.55 KB
Del
OK
slice.vim
3.22 KB
Del
OK
slpconf.vim
11.5 KB
Del
OK
slpreg.vim
5.21 KB
Del
OK
slpspi.vim
1.14 KB
Del
OK
slrnrc.vim
12.85 KB
Del
OK
slrnsc.vim
3.45 KB
Del
OK
sm.vim
3.21 KB
Del
OK
smarty.vim
3.02 KB
Del
OK
smcl.vim
11.75 KB
Del
OK
smil.vim
5.84 KB
Del
OK
smith.vim
1.17 KB
Del
OK
sml.vim
9.41 KB
Del
OK
snnsnet.vim
2.63 KB
Del
OK
snnspat.vim
2.37 KB
Del
OK
snnsres.vim
2.09 KB
Del
OK
snobol4.vim
5.48 KB
Del
OK
spec.vim
12.39 KB
Del
OK
specman.vim
7.47 KB
Del
OK
spice.vim
2.57 KB
Del
OK
splint.vim
15.76 KB
Del
OK
spup.vim
13.95 KB
Del
OK
spyce.vim
4.5 KB
Del
OK
sql.vim
1.19 KB
Del
OK
sqlanywhere.vim
41.04 KB
Del
OK
sqlforms.vim
6.97 KB
Del
OK
sqlhana.vim
10.86 KB
Del
OK
sqlinformix.vim
6.14 KB
Del
OK
sqlj.vim
3.14 KB
Del
OK
sqloracle.vim
2.9 KB
Del
OK
sqr.vim
13.86 KB
Del
OK
squid.vim
7.15 KB
Del
OK
sshconfig.vim
8.69 KB
Del
OK
sshdconfig.vim
8.45 KB
Del
OK
st.vim
3.06 KB
Del
OK
stata.vim
26.41 KB
Del
OK
stp.vim
5.65 KB
Del
OK
strace.vim
2.15 KB
Del
OK
sudoers.vim
21.52 KB
Del
OK
svg.vim
436 B
Del
OK
svn.vim
1.64 KB
Del
OK
syncolor.vim
4 KB
Del
OK
synload.vim
1.86 KB
Del
OK
syntax.vim
1.2 KB
Del
OK
sysctl.vim
1.11 KB
Del
OK
tads.vim
7.01 KB
Del
OK
tags.vim
1.54 KB
Del
OK
tak.vim
3.27 KB
Del
OK
takcmp.vim
1.94 KB
Del
OK
takout.vim
2.39 KB
Del
OK
tar.vim
373 B
Del
OK
taskdata.vim
1.27 KB
Del
OK
taskedit.vim
1.2 KB
Del
OK
tasm.vim
5.91 KB
Del
OK
tcl.vim
17.01 KB
Del
OK
tcsh.vim
12.96 KB
Del
OK
terminfo.vim
4.68 KB
Del
OK
tex.vim
61.29 KB
Del
OK
texinfo.vim
25.25 KB
Del
OK
texmf.vim
2.41 KB
Del
OK
tf.vim
7.07 KB
Del
OK
tidy.vim
6.38 KB
Del
OK
tilde.vim
1.5 KB
Del
OK
tli.vim
2 KB
Del
OK
tpp.vim
3.83 KB
Del
OK
trasys.vim
5.34 KB
Del
OK
treetop.vim
3.57 KB
Del
OK
trustees.vim
1.5 KB
Del
OK
tsalt.vim
8.43 KB
Del
OK
tsscl.vim
5.36 KB
Del
OK
tssgm.vim
3.09 KB
Del
OK
tssop.vim
2.13 KB
Del
OK
tt2.vim
7.73 KB
Del
OK
tt2html.vim
516 B
Del
OK
tt2js.vim
522 B
Del
OK
uc.vim
6.76 KB
Del
OK
udevconf.vim
1.19 KB
Del
OK
udevperm.vim
2.34 KB
Del
OK
udevrules.vim
6.79 KB
Del
OK
uil.vim
2.93 KB
Del
OK
updatedb.vim
1.18 KB
Del
OK
upstart.vim
3.07 KB
Del
OK
upstreamdat.vim
13.5 KB
Del
OK
upstreaminstalllog.vim
971 B
Del
OK
upstreamlog.vim
2.47 KB
Del
OK
usserverlog.vim
2.96 KB
Del
OK
usw2kagtlog.vim
2.13 KB
Del
OK
valgrind.vim
2.99 KB
Del
OK
vb.vim
20.14 KB
Del
OK
vera.vim
19.34 KB
Del
OK
verilog.vim
5.4 KB
Del
OK
verilogams.vim
6.4 KB
Del
OK
vgrindefs.vim
1.19 KB
Del
OK
vhdl.vim
6.59 KB
Del
OK
vim.vim
62.55 KB
Del
OK
viminfo.vim
1.1 KB
Del
OK
virata.vim
11.6 KB
Del
OK
vmasm.vim
8.68 KB
Del
OK
voscm.vim
6.81 KB
Del
OK
vrml.vim
12.91 KB
Del
OK
vsejcl.vim
1.36 KB
Del
OK
wdiff.vim
1.12 KB
Del
OK
web.vim
1.24 KB
Del
OK
webmacro.vim
3.39 KB
Del
OK
wget.vim
3.87 KB
Del
OK
whitespace.vim
357 B
Del
OK
winbatch.vim
12.25 KB
Del
OK
wml.vim
6.12 KB
Del
OK
wsh.vim
1.21 KB
Del
OK
wsml.vim
5.59 KB
Del
OK
wvdial.vim
1.07 KB
Del
OK
xbl.vim
568 B
Del
OK
xdefaults.vim
6.11 KB
Del
OK
xf86conf.vim
14.58 KB
Del
OK
xhtml.vim
186 B
Del
OK
xinetd.vim
13.86 KB
Del
OK
xkb.vim
3.38 KB
Del
OK
xmath.vim
10.85 KB
Del
OK
xml.vim
8.41 KB
Del
OK
xmodmap.vim
45.41 KB
Del
OK
xpm.vim
4.55 KB
Del
OK
xpm2.vim
4.87 KB
Del
OK
xquery.vim
7.02 KB
Del
OK
xs.vim
214.6 KB
Del
OK
xsd.vim
2.08 KB
Del
OK
xslt.vim
2.12 KB
Del
OK
xxd.vim
1.16 KB
Del
OK
yacc.vim
5.41 KB
Del
OK
yaml.vim
8.93 KB
Del
OK
z8a.vim
3.2 KB
Del
OK
zimbu.vim
4.69 KB
Del
OK
zsh.vim
8.71 KB
Del
OK
Edit: sh.vim
" Vim syntax file " Language: shell (sh) Korn shell (ksh) bash (sh) " Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> " Last Change: Jul 02, 2013 " Version: 131 " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " For options and settings, please use: :help ft-sh-syntax " This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr) " For version 5.x: Clear all syntax items {{{1 " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " AFAICT "." should be considered part of the iskeyword. Using iskeywords in " syntax is dicey, so the following code permits the user to " g:sh_isk set to a string : specify iskeyword. " g:sh_noisk exists : don't change iskeyword " g:sh_noisk does not exist : (default) append "." to iskeyword if exists("g:sh_isk") && type(g:sh_isk) == 1 " user specifying iskeyword exe "setl isk=".g:sh_isk elseif !exists("g:sh_noisk") " optionally prevent appending '.' to iskeyword setl isk+=. endif " trying to answer the question: which shell is /bin/sh, really? " If the user has not specified any of g:is_kornshell, g:is_bash, g:is_posix, g:is_sh, then guess. if !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh") let s:shell = "" if executable("/bin/sh") let s:shell = resolve("/bin/sh") elseif executable("/usr/bin/sh") let s:shell = resolve("/usr/bin/sh") endif if s:shell =~ 'bash$' let g:is_bash= 1 elseif s:shell =~ 'ksh$' let g:is_kornshell = 1 elseif s:shell =~ 'dash$' let g:is_posix = 1 endif unlet s:shell endif " handling /bin/sh with is_kornshell/is_sh {{{1 " b:is_sh is set when "#! /bin/sh" is found; " However, it often is just a masquerade by bash (typically Linux) " or kornshell (typically workstations with Posix "sh"). " So, when the user sets "g:is_bash", "g:is_kornshell", " or "g:is_posix", a b:is_sh is converted into b:is_bash/b:is_kornshell, " respectively. if !exists("b:is_kornshell") && !exists("b:is_bash") if exists("g:is_posix") && !exists("g:is_kornshell") let g:is_kornshell= g:is_posix endif if exists("g:is_kornshell") let b:is_kornshell= 1 if exists("b:is_sh") unlet b:is_sh endif elseif exists("g:is_bash") let b:is_bash= 1 if exists("b:is_sh") unlet b:is_sh endif else let b:is_sh= 1 endif endif " set up default g:sh_fold_enabled {{{1 if !exists("g:sh_fold_enabled") let g:sh_fold_enabled= 0 elseif g:sh_fold_enabled != 0 && !has("folding") let g:sh_fold_enabled= 0 echomsg "Ignoring g:sh_fold_enabled=".g:sh_fold_enabled."; need to re-compile vim for +fold support" endif if !exists("s:sh_fold_functions") let s:sh_fold_functions= and(g:sh_fold_enabled,1) endif if !exists("s:sh_fold_heredoc") let s:sh_fold_heredoc = and(g:sh_fold_enabled,2) endif if !exists("s:sh_fold_ifdofor") let s:sh_fold_ifdofor = and(g:sh_fold_enabled,4) endif if g:sh_fold_enabled && &fdm == "manual" " Given that the user provided g:sh_fold_enabled " AND g:sh_fold_enabled is manual (usual default) " implies a desire for syntax-based folding setl fdm=syntax endif " sh syntax is case sensitive {{{1 syn case match " Clusters: contains=@... clusters {{{1 "================================== syn cluster shErrorList contains=shDoError,shIfError,shInError,shCaseError,shEsacError,shCurlyError,shParenError,shTestError,shOK if exists("b:is_kornshell") syn cluster ErrorList add=shDTestError endif syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shDeref,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement syn cluster shArithList contains=@shArithParenList,shParenError syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq "syn cluster shColonList contains=@shCaseList syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shEcho,shEscape,shNumber,shOption,shPosnParm,shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial,shCmdParenRegion syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPPS syn cluster shDerefVarList contains=shDerefOp,shDerefVarArray,shDerefOpError syn cluster shEchoList contains=shArithmetic,shCommandSub,shDeref,shDerefSimple,shEscape,shExpr,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shCtrlSeq,shEchoQuote syn cluster shExprList1 contains=shCharClass,shNumber,shOperator,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shDblBrace,shDeref,shDerefSimple,shCtrlSeq syn cluster shExprList2 contains=@shExprList1,@shCaseList,shTest syn cluster shFunctionList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shOption,shRedir,shSetList,shSource,shStatement,shVariable,shOperator,shCtrlSeq if exists("b:is_kornshell") || exists("b:is_bash") syn cluster shFunctionList add=shRepeat syn cluster shFunctionList add=shDblBrace,shDblParen endif syn cluster shHereBeginList contains=@shCommandSubList syn cluster shHereList contains=shBeginHere,shHerePayload syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial,shAtExpr syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo syn cluster shLoopList contains=@shCaseList,shTestOpr,shExpr,shDblBrace,shConditional,shCaseEsac,shTest,@shErrorList,shSet,shOption syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shExDoubleQuote,shDoubleQuote,shExpr,shNumber,shOperator,shExSingleQuote,shSingleQuote,shTestOpr,shTest,shCtrlSeq " Echo: {{{1 " ==== " This one is needed INSIDE a CommandSub, so that `echo bla` be correct syn region shEcho matchgroup=shStatement start="\<echo\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment syn match shEchoQuote contained '\%(\\\\\)*\\["`'()]' " This must be after the strings, so that ... \" will be correct syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|`)]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=shNumber,shExSingleQuote,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shOperator,shExDoubleQuote,shDoubleQuote,shCharClass,shCtrlSeq " Alias: {{{1 " ===== if exists("b:is_kornshell") || exists("b:is_bash") syn match shStatement "\<alias\>" syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\h[-._[:alnum:]]\+\)\@=" skip="\\$" end="\>\|`" syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\h[-._[:alnum:]]\+=\)\@=" skip="\\$" end="=" endif " Error Codes: {{{1 " ============ if !exists("g:sh_no_error") syn match shDoError "\<done\>" syn match shIfError "\<fi\>" syn match shInError "\<in\>" syn match shCaseError ";;" syn match shEsacError "\<esac\>" syn match shCurlyError "}" syn match shParenError ")" syn match shOK '\.\(done\|fi\|in\|esac\)' if exists("b:is_kornshell") syn match shDTestError "]]" endif syn match shTestError "]" endif " Options: {{{1 " ==================== syn match shOption "\s\zs[-+][-_a-zA-Z0-9#]\+" syn match shOption "\s\zs--[^ \t$`'"|);]\+" " File Redirection Highlighted As Operators: {{{1 "=========================================== syn match shRedir "\d\=>\(&[-0-9]\)\=" syn match shRedir "\d\=>>-\=" syn match shRedir "\d\=<\(&[-0-9]\)\=" syn match shRedir "\d<<-\=" " Operators: {{{1 " ========== syn match shOperator "<<\|>>" contained syn match shOperator "[!&;|]" contained syn match shOperator "\[[[^:]\|\]]" contained syn match shOperator "!\==" skipwhite nextgroup=shPattern syn match shPattern "\<\S\+\())\)\@=" contained contains=shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shDeref " Subshells: {{{1 " ========== syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2 nextgroup=shMoreSpecial syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")" contains=@shSubShList nextgroup=shMoreSpecial " Tests: {{{1 "======= syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1 syn match shTestOpr contained "<=\|>=\|!=\|==\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]" syn match shTestOpr contained '=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern syn match shTestPattern contained '\w\+' syn match shTestDoubleQuote contained '\%(\%(\\\\\)*\\\)\@<!"[^"]*"' syn match shTestSingleQuote contained '\\.' syn match shTestSingleQuote contained "'[^']*'" if exists("b:is_kornshell") || exists("b:is_bash") syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\\\\\|\\$+ end="\]\]" contains=@shTestList syn region shDblParen matchgroup=Delimiter start="((" skip=+\\\\\|\\$+ end="))" contains=@shTestList endif " Character Class In Range: {{{1 " ========================= syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|tab\):\]" " Loops: do, if, while, until {{{1 " ====== if s:sh_fold_ifdofor syn region shDo fold transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList syn region shFor fold matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn else syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn syn match shForPP '\<for\>\ze\_s*((' endif if exists("b:is_kornshell") || exists("b:is_bash") syn cluster shCaseList add=shRepeat syn cluster shFunctionList add=shRepeat syn region shRepeat matchgroup=shLoop start="\<while\_s" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen,shDblBrace syn region shRepeat matchgroup=shLoop start="\<until\_s" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen,shDblBrace syn region shCaseEsac matchgroup=shConditional start="\<select\s" matchgroup=shConditional end="\<in\>" end="\<do\>" contains=@shLoopList else syn region shRepeat matchgroup=shLoop start="\<while\_s" end="\<do\>"me=e-2 contains=@shLoopList syn region shRepeat matchgroup=shLoop start="\<until\_s" end="\<do\>"me=e-2 contains=@shLoopList endif syn region shCurlyIn contained matchgroup=Delimiter start="{" end="}" contains=@shCurlyList syn match shComma contained "," " Case: case...esac {{{1 " ==== syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar if s:sh_fold_ifdofor syn region shCase fold contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment syn region shCaseEsac fold matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList else syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList endif syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote if exists("b:is_bash") syn region shCaseExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial skipwhite skipnl nextgroup=shCaseBar contained elseif !exists("g:sh_no_error") syn region shCaseExSingleQuote matchgroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained endif syn region shCaseSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained syn region shCaseDoubleQuote matchgroup=shQuote start=+"+ skip=+\\\\\|\\.+ end=+"+ contains=@shDblQuoteList,shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained syn region shCaseCommandSub start=+`+ skip=+\\\\\|\\.+ end=+`+ contains=@shCommandSubList skipwhite skipnl nextgroup=shCaseBar contained if exists("b:is_bash") syn region shCaseRange matchgroup=Delimiter start=+\[+ skip=+\\\\+ end=+\]+ contained contains=shCharClass syn match shCharClass '\[:\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|or\|xdigit\):\]' contained else syn region shCaseRange matchgroup=Delimiter start=+\[+ skip=+\\\\+ end=+\]+ contained endif " Misc: {{{1 "====== syn match shWrapLineOperator "\\$" syn region shCommandSub start="`" skip="\\\\\|\\." end="`" contains=@shCommandSubList syn match shEscape contained '\%(^\)\@!\%(\\\\\)*\\.' " $() and $(()): {{{1 " $(..) is not supported by sh (Bourne shell). However, apparently " some systems (HP?) have as their /bin/sh a (link to) Korn shell " (ie. Posix compliant shell). /bin/ksh should work for those " systems too, however, so the following syntax will flag $(..) as " an Error under /bin/sh. By consensus of vimdev'ers! if exists("b:is_kornshell") || exists("b:is_bash") syn region shCommandSub matchgroup=shCmdSubRegion start="\$(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList syn region shArithmetic matchgroup=shArithRegion start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList syn match shSkipInitWS contained "^\s\+" elseif !exists("g:sh_no_error") syn region shCommandSub matchgroup=Error start="\$(" end=")" contains=@shCommandSubList endif syn region shCmdParenRegion matchgroup=shCmdSubRegion start="(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList if exists("b:is_bash") syn cluster shCommandSubList add=bashSpecialVariables,bashStatement syn cluster shCaseList add=bashAdminStatement,bashStatement syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ALIASES BASH_ARGC BASH_ARGC BASH_ARGV BASH_ARGV BASH_CMDS BASH_CMDS BASH_COMMAND BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_EXECUTION_STRING BASH_LINENO BASH_LINENO BASHOPTS BASHOPTS BASHPID BASHPID BASH_REMATCH BASH_REMATCH BASH_SOURCE BASH_SOURCE BASH_SUBSHELL BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD BASH_XTRACEFD CDPATH COLUMNS COLUMNS COMP_CWORD COMP_CWORD COMP_KEY COMP_KEY COMP_LINE COMP_LINE COMP_POINT COMP_POINT COMPREPLY COMPREPLY COMP_TYPE COMP_TYPE COMP_WORDBREAKS COMP_WORDBREAKS COMP_WORDS COMP_WORDS COPROC COPROC DIRSTACK EMACS EMACS ENV ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNAME FUNCNEST FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_NUMERIC LINENO LINES LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT POSIXLY_CORRECT PPID PROMPT_COMMAND PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_LINE READLINE_POINT READLINE_POINT REPLY SECONDS SHELL SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR TMPDIR UID syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail touch syn keyword bashAdminStatement daemon killall killproc nice reload restart start status stop syn keyword bashStatement command compgen endif if exists("b:is_kornshell") syn cluster shCommandSubList add=kshSpecialVariables,kshStatement syn cluster shCaseList add=kshStatement syn keyword kshSpecialVariables contained CDPATH COLUMNS EDITOR ENV ERRNO FCEDIT FPATH HISTFILE HISTSIZE HOME IFS LINENO LINES MAIL MAILCHECK MAILPATH OLDPWD OPTARG OPTIND PATH PPID PS1 PS2 PS3 PS4 PWD RANDOM REPLY SECONDS SHELL TMOUT VISUAL syn keyword kshStatement cat chmod clear cp du egrep expr fgrep find grep killall less ls mkdir mv nice printenv rm rmdir sed sort strip stty tail touch tput syn keyword kshStatement command setgroups setsenv endif syn match shSource "^\.\s" syn match shSource "\s\.\s" "syn region shColon start="^\s*:" end="$" end="\s#"me=e-2 contains=@shColonList "syn region shColon start="^\s*\zs:" end="$" end="\s#"me=e-2 syn match shColon '^\s*\zs:' " String And Character Constants: {{{1 "================================ syn match shNumber "-\=\<\d\+\>#\=" syn match shCtrlSeq "\\\d\d\d\|\\[abcfnrtv0]" contained if exists("b:is_bash") syn match shSpecial "\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[abefnrtv]" contained endif if exists("b:is_bash") syn region shExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial syn region shExDoubleQuote matchgroup=shQuote start=+\$"+ skip=+\\\\\|\\.\|\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,shSpecial elseif !exists("g:sh_no_error") syn region shExSingleQuote matchGroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial syn region shExDoubleQuote matchGroup=Error start=+\$"+ skip=+\\\\\|\\.+ end=+"+ contains=shStringSpecial endif syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell "syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell syn match shStringSpecial "[^[:print:] \t]" contained syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]" syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial,shComment syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shComment syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained " Comments: {{{1 "========== syn cluster shCommentGroup contains=shTodo,@Spell syn keyword shTodo contained COMBAK FIXME TODO XXX syn match shComment "^\s*\zs#.*$" contains=@shCommentGroup syn match shComment "\s\zs#.*$" contains=@shCommentGroup syn match shComment contained "#.*$" contains=@shCommentGroup syn match shQuickComment contained "#.*$" " Here Documents: {{{1 " ========================================= if version < 600 syn region shHereDoc matchgroup=shRedir01 start="<<\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shRedir01 end="^END[a-zA-Z_0-9]*$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir02 start="<<-\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shRedir02 end="^\s*END[a-zA-Z_0-9]*$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir03 start="<<\s*\**EOF\**" matchgroup=shRedir03 end="^EOF$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir04 start="<<-\s*\**EOF\**" matchgroup=shRedir04 end="^\s*EOF$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir05 start="<<\s*\**\.\**" matchgroup=shRedir05 end="^\.$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir06 start="<<-\s*\**\.\**" matchgroup=shRedir06 end="^\s*\.$" contains=@shDblQuoteList elseif s:sh_fold_heredoc syn region shHereDoc matchgroup=shRedir07 fold start="<<\s*\z([^ \t|]*\)" matchgroup=shRedir07 end="^\z1\s*$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir08 fold start="<<\s*\"\z([^ \t|]*\)\"" matchgroup=shRedir08 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir09 fold start="<<\s*'\z([^ \t|]*\)'" matchgroup=shRedir09 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir10 fold start="<<-\s*\z([^ \t|]*\)" matchgroup=shRedir10 end="^\s*\z1\s*$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir11 fold start="<<-\s*\"\z([^ \t|]*\)\"" matchgroup=shRedir11 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir12 fold start="<<-\s*'\z([^ \t|]*\)'" matchgroup=shRedir12 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir13 fold start="<<\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shRedir13 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir14 fold start="<<\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shRedir14 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir15 fold start="<<-\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shRedir15 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir16 fold start="<<-\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shRedir16 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir17 fold start="<<-\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shRedir17 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir18 fold start="<<\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shRedir18 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir19 fold start="<<\\\z([^ \t|]*\)" matchgroup=shRedir19 end="^\z1\s*$" else syn region shHereDoc matchgroup=shRedir20 start="<<\s*\\\=\z([^ \t|]*\)" matchgroup=shRedir20 end="^\z1\s*$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir21 start="<<\s*\"\z([^ \t|]*\)\"" matchgroup=shRedir21 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir22 start="<<-\s*\z([^ \t|]*\)" matchgroup=shRedir22 end="^\s*\z1\s*$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir23 start="<<-\s*'\z([^ \t|]*\)'" matchgroup=shRedir23 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir24 start="<<\s*'\z([^ \t|]*\)'" matchgroup=shRedir24 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir25 start="<<-\s*\"\z([^ \t|]*\)\"" matchgroup=shRedir25 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir26 start="<<\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shRedir26 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir27 start="<<-\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shRedir27 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir28 start="<<-\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shRedir28 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir29 start="<<\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shRedir29 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir30 start="<<\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shRedir30 end="^\z1\s*$" syn region shHereDoc matchgroup=shRedir31 start="<<-\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shRedir31 end="^\s*\z1\s*$" syn region shHereDoc matchgroup=shRedir32 start="<<\\\z([^ \t|]*\)" matchgroup=shRedir32 end="^\z1\s*$" endif " Here Strings: {{{1 " ============= " available for: bash; ksh (really should be ksh93 only) but not if its a posix if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("g:is_posix")) syn match shRedir "<<<" skipwhite nextgroup=shCmdParenRegion endif " Identifiers: {{{1 "============= syn match shSetOption "\s\zs[-+][a-zA-Z0-9]\+\>" contained syn match shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shSetIdentifier syn match shSetIdentifier "=" contained nextgroup=shCmdParenRegion,shPattern,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shSingleQuote,shExSingleQuote syn region shAtExpr contained start="@(" end=")" contains=@shIdList if exists("b:is_bash") syn region shSetList oneline matchgroup=shSet start="\<\(declare\|typeset\|local\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+#\|=" contains=@shIdList syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="\ze[;|)]\|$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+=" contains=@shIdList elseif exists("b:is_kornshell") syn region shSetList oneline matchgroup=shSet start="\<\(typeset\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList else syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList endif " Functions: {{{1 if !exists("g:is_posix") syn keyword shFunctionKey function skipwhite skipnl nextgroup=shFunctionTwo endif if exists("b:is_bash") if s:sh_fold_functions syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionTwo fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment else syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList syn region shFunctionTwo matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained endif else if s:sh_fold_functions syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionTwo fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment else syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList syn region shFunctionTwo matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained endif endif " Parameter Dereferencing: {{{1 " ======================== syn match shDerefSimple "\$\%(\k\+\|\d\)" syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray if !exists("g:sh_no_error") syn match shDerefWordError "[^}$[]" contained endif syn match shDerefSimple "\$[-#*@!?]" syn match shDerefSimple "\$\$" if exists("b:is_bash") || exists("b:is_kornshell") syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList endif " bash: ${!prefix*} and ${#parameter}: {{{1 " ==================================== if exists("b:is_bash") syn region shDeref matchgroup=PreProc start="\${!" end="\*\=}" contains=@shDerefList,shDerefOp syn match shDerefVar contained "{\@<=!\k\+" nextgroup=@shDerefVarList endif syn match shDerefSpecial contained "{\@<=[-*@?0]" nextgroup=shDerefOp,shDerefOpError syn match shDerefSpecial contained "\({[#!]\)\@<=[[:alnum:]*@_]\+" nextgroup=@shDerefVarList,shDerefOp syn match shDerefVar contained "{\@<=\k\+" nextgroup=@shDerefVarList " sh ksh bash : ${var[... ]...} array reference: {{{1 syn region shDerefVarArray contained matchgroup=shDeref start="\[" end="]" contains=@shCommandSubList nextgroup=shDerefOp,shDerefOpError " Special ${parameter OPERATOR word} handling: {{{1 " sh ksh bash : ${parameter:-word} word is default value " sh ksh bash : ${parameter:=word} assign word as default value " sh ksh bash : ${parameter:?word} display word if parameter is null " sh ksh bash : ${parameter:+word} use word if parameter is not null, otherwise nothing " ksh bash : ${parameter#pattern} remove small left pattern " ksh bash : ${parameter##pattern} remove large left pattern " ksh bash : ${parameter%pattern} remove small right pattern " ksh bash : ${parameter%%pattern} remove large right pattern " bash : ${parameter^pattern} Case modification " bash : ${parameter^^pattern} Case modification " bash : ${parameter,pattern} Case modification " bash : ${parameter,,pattern} Case modification syn cluster shDerefPatternList contains=shDerefPattern,shDerefString if !exists("g:sh_no_error") syn match shDerefOpError contained ":[[:punct:]]" endif syn match shDerefOp contained ":\=[-=?]" nextgroup=@shDerefPatternList syn match shDerefOp contained ":\=+" nextgroup=@shDerefPatternList if exists("b:is_bash") || exists("b:is_kornshell") syn match shDerefOp contained "#\{1,2}" nextgroup=@shDerefPatternList syn match shDerefOp contained "%\{1,2}" nextgroup=@shDerefPatternList syn match shDerefPattern contained "[^{}]\+" contains=shDeref,shDerefSimple,shDerefPattern,shDerefString,shCommandSub,shDerefEscape nextgroup=shDerefPattern syn region shDerefPattern contained start="{" end="}" contains=shDeref,shDerefSimple,shDerefString,shCommandSub nextgroup=shDerefPattern syn match shDerefEscape contained '\%(\\\\\)*\\.' endif if exists("b:is_bash") syn match shDerefOp contained "[,^]\{1,2}" nextgroup=@shDerefPatternList endif syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!'+ end=+'+ contains=shStringSpecial syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial syn match shDerefString contained "\\["']" nextgroup=shDerefPattern if exists("b:is_bash") " bash : ${parameter:offset} " bash : ${parameter:offset:length} syn region shDerefOp contained start=":[$[:alnum:]_]"me=e-1 end=":"me=e-1 end="}"me=e-1 contains=@shCommandSubList nextgroup=shDerefPOL syn match shDerefPOL contained ":[^}]\+" contains=@shCommandSubList " bash : ${parameter//pattern/string} " bash : ${parameter//pattern} syn match shDerefPPS contained '/\{1,2}' nextgroup=shDerefPPSleft syn region shDerefPPSleft contained start='.' skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp end='/' end='\ze}' nextgroup=shDerefPPSright contains=@shCommandSubList syn region shDerefPPSright contained start='.' skip=@\%(\\\\\)\+@ end='\ze}' contains=@shCommandSubList endif " Arithmetic Parenthesized Expressions: {{{1 "syn region shParen matchgroup=shArithRegion start='[^$]\zs(\%(\ze[^(]\|$\)' end=')' contains=@shArithParenList syn region shParen matchgroup=shArithRegion start='\$\@!(\%(\ze[^(]\|$\)' end=')' contains=@shArithParenList " Useful sh Keywords: {{{1 " =================== syn keyword shStatement break cd chdir continue eval exec exit kill newgrp pwd read readonly return shift test trap ulimit umask wait syn keyword shConditional contained elif else then if !exists("g:sh_no_error") syn keyword shCondError elif else then endif " Useful ksh Keywords: {{{1 " ==================== if exists("b:is_kornshell") || exists("b:is_bash") syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup printf r stop suspend times true type unalias whence if exists("g:is_posix") syn keyword shStatement command else syn keyword shStatement time endif " Useful bash Keywords: {{{1 " ===================== if exists("b:is_bash") syn keyword shStatement bind builtin dirs disown enable help local logout popd pushd shopt source else syn keyword shStatement login newgrp endif endif " Synchronization: {{{1 " ================ if !exists("sh_minlines") let sh_minlines = 200 endif if !exists("sh_maxlines") let sh_maxlines = 2 * sh_minlines endif exec "syn sync minlines=" . sh_minlines . " maxlines=" . sh_maxlines syn sync match shCaseEsacSync grouphere shCaseEsac "\<case\>" syn sync match shCaseEsacSync groupthere shCaseEsac "\<esac\>" syn sync match shDoSync grouphere shDo "\<do\>" syn sync match shDoSync groupthere shDo "\<done\>" syn sync match shForSync grouphere shFor "\<for\>" syn sync match shForSync groupthere shFor "\<in\>" syn sync match shIfSync grouphere shIf "\<if\>" syn sync match shIfSync groupthere shIf "\<fi\>" syn sync match shUntilSync grouphere shRepeat "\<until\>" syn sync match shWhileSync grouphere shRepeat "\<while\>" " Default Highlighting: {{{1 " ===================== hi def link shArithRegion shShellVariables hi def link shAtExpr shSetList hi def link shBeginHere shRedir hi def link shCaseBar shConditional hi def link shCaseCommandSub shCommandSub hi def link shCaseDoubleQuote shDoubleQuote hi def link shCaseIn shConditional hi def link shQuote shOperator hi def link shCaseSingleQuote shSingleQuote hi def link shCaseStart shConditional hi def link shCmdSubRegion shShellVariables hi def link shColon shComment hi def link shDerefOp shOperator hi def link shDerefPOL shDerefOp hi def link shDerefPPS shDerefOp hi def link shDeref shShellVariables hi def link shDerefDelim shOperator hi def link shDerefSimple shDeref hi def link shDerefSpecial shDeref hi def link shDerefString shDoubleQuote hi def link shDerefVar shDeref hi def link shDoubleQuote shString hi def link shEcho shString hi def link shEchoDelim shOperator hi def link shEchoQuote shString hi def link shForPP shLoop hi def link shEmbeddedEcho shString hi def link shEscape shCommandSub hi def link shExDoubleQuote shDoubleQuote hi def link shExSingleQuote shSingleQuote hi def link shFunction Function hi def link shHereDoc shString hi def link shHerePayload shHereDoc hi def link shLoop shStatement hi def link shMoreSpecial shSpecial hi def link shOption shCommandSub hi def link shPattern shString hi def link shParen shArithmetic hi def link shPosnParm shShellVariables hi def link shQuickComment shComment hi def link shRange shOperator hi def link shRedir shOperator hi def link shSetListDelim shOperator hi def link shSetOption shOption hi def link shSingleQuote shString hi def link shSource shOperator hi def link shStringSpecial shSpecial hi def link shSubShRegion shOperator hi def link shTestOpr shConditional hi def link shTestPattern shString hi def link shTestDoubleQuote shString hi def link shTestSingleQuote shString hi def link shVariable shSetList hi def link shWrapLineOperator shOperator if exists("b:is_bash") hi def link bashAdminStatement shStatement hi def link bashSpecialVariables shShellVariables hi def link bashStatement shStatement hi def link shFunctionParen Delimiter hi def link shFunctionDelim Delimiter hi def link shCharClass shSpecial endif if exists("b:is_kornshell") hi def link kshSpecialVariables shShellVariables hi def link kshStatement shStatement hi def link shFunctionParen Delimiter endif if !exists("g:sh_no_error") hi def link shCaseError Error hi def link shCondError Error hi def link shCurlyError Error hi def link shDerefError Error hi def link shDerefOpError Error hi def link shDerefWordError Error hi def link shDoError Error hi def link shEsacError Error hi def link shIfError Error hi def link shInError Error hi def link shParenError Error hi def link shTestError Error if exists("b:is_kornshell") hi def link shDTestError Error endif endif hi def link shArithmetic Special hi def link shCharClass Identifier hi def link shSnglCase Statement hi def link shCommandSub Special hi def link shComment Comment hi def link shConditional Conditional hi def link shCtrlSeq Special hi def link shExprRegion Delimiter hi def link shFunctionKey Function hi def link shFunctionName Function hi def link shNumber Number hi def link shOperator Operator hi def link shRepeat Repeat hi def link shSet Statement hi def link shSetList Identifier hi def link shShellVariables PreProc hi def link shSpecial Special hi def link shStatement Statement hi def link shString String hi def link shTodo Todo hi def link shAlias Identifier hi def link shRedir01 shRedir hi def link shRedir02 shRedir hi def link shRedir03 shRedir hi def link shRedir04 shRedir hi def link shRedir05 shRedir hi def link shRedir06 shRedir hi def link shRedir07 shRedir hi def link shRedir08 shRedir hi def link shRedir09 shRedir hi def link shRedir10 shRedir hi def link shRedir11 shRedir hi def link shRedir12 shRedir hi def link shRedir13 shRedir hi def link shRedir14 shRedir hi def link shRedir15 shRedir hi def link shRedir16 shRedir hi def link shRedir17 shRedir hi def link shRedir18 shRedir hi def link shRedir19 shRedir hi def link shRedir20 shRedir hi def link shRedir21 shRedir hi def link shRedir22 shRedir hi def link shRedir23 shRedir hi def link shRedir24 shRedir hi def link shRedir25 shRedir hi def link shRedir26 shRedir hi def link shRedir27 shRedir hi def link shRedir28 shRedir hi def link shRedir29 shRedir hi def link shRedir30 shRedir hi def link shRedir31 shRedir hi def link shRedir32 shRedir " Set Current Syntax: {{{1 " =================== if exists("b:is_bash") let b:current_syntax = "bash" elseif exists("b:is_kornshell") let b:current_syntax = "ksh" else let b:current_syntax = "sh" endif " vim: ts=16 fdm=marker
Save