Using Vim to Edit Iptscrae

Vim Is a great text editor very well-suited for programming and scripting tasks. It's essentially got almost 30 years of history behind it, runs on almost any kind of computer, and best of all it's free. Press here to get a copy.

The info below is the contents of my own customized iptscrae.vim file. by adding this optional file to the Vim "syntax" directory, and mentioning it in "syntax.vim," iptscrae editing is simplifed by making the iptscrae structures and commands stand out in color. Here's an example:


" Vim syntax file
" Language:	Iptscrae
" Maintainer:	Kevin Bjorke 
" Last change:	26 Aug 1999

" remember to modify $VIM/syntax/syntax.vim!

" Remove any old syntax stuff hanging around
syn clear

syn case ignore

syn keyword iptscraeTodo contained	TODO

" String
syn region  iptscraeString	start=+"+  end=+"+

syn match  iptscraeDelimiter	"[{}]"

syn match  iptscraeComment		";.*$" contains=iptscraeTodo

syn keyword iptscraeStatement break return exit def exec alarmexec

syn keyword iptscraeStorage global array get put strtoatom

syn keyword iptscraeRepeat while foreach

syn keyword iptscraeConditional if ifelse

syn keyword iptscraeOper and or not random

syn keyword iptscraePaint line lineto
syn keyword iptscraePaint paintclear paintundo penback pencolor
syn keyword iptscraePaint penfront penpos pensize pento

syn keyword iptscraeProps addlooseprop clearprops doffprop donprop hasprop
syn keyword iptscraeProps naked nbruserprops removeprop showlooseprops
syn keyword iptscraeProps topprop userprop

syn keyword iptscraeFunction alarm atoi
syn keyword iptscraeFunction beep chat chatstr datetime
syn keyword iptscraeFunction delay dimroom dooridx
syn keyword iptscraeFunction dup enter 
syn keyword iptscraeFunction getspotstate globalmsg gotoroom
syn keyword iptscraeFunction gotourl grepstr grepsub 
syn keyword iptscraeFunction inchat isgod isguest islocked
syn keyword iptscraeFunction iswizard itoa killuser launchapp leave
syn keyword iptscraeFunction length localmsg lock logmsg
syn keyword iptscraeFunction lowercase me midiplay midistop mousepos
syn keyword iptscraeFunction move nbrdoors nbrroomusers nbrspots
syn keyword iptscraeFunction netgoto on outchat pop
syn keyword iptscraeFunction posx posy privatemsg 
syn keyword iptscraeFunction roomid roommsg roomname roomuser
syn keyword iptscraeFunction say sayat select servername setalarm
syn keyword iptscraeFunction setalarm setalarm setcolor setface
syn keyword iptscraeFunction setloc setpicloc setpos setspotstate
syn keyword iptscraeFunction setspotstatelocal signon
syn keyword iptscraeFunction sound spotdest spotidx spotname
syn keyword iptscraeFunction statusmsg substr susrmsg swap
syn keyword iptscraeFunction ticks unlock uppercase username
syn keyword iptscraeFunction whochat whome whoname
syn keyword iptscraeFunction whopos whotarget

syn keyword iptscraeServer	DOOR ENDDOOR ROOM ENDROOM SCRIPT ENDSCRIPT
syn keyword iptscraeServer	SPOT ENDSPOT ID PRIVATE NOPAINTING NOCYBORGS
syn keyword iptscraeServer	HIDDEN NOGUESTS NAME PICT ARTIST
syn keyword iptscraeServer	PICTURE ENDPICTURE TRANSCOLOR OUTLINE
syn keyword iptscraeServer	PICTS ENDPICTS


if !exists("did_iptscrae_syntax_inits")
  let did_iptscrae_syntax_inits = 1
  " The default methods for highlighting.  Can be overridden later
  hi link iptscraeTodo		Todo
  hi link iptscraeString	String
  hi link iptscraeStatement	Statement
  hi link iptscraeStorage	Statement
  hi link iptscraeFunction	Statement
  hi link iptscraePaint		Statement
  hi link iptscraeProps		Statement
  hi link iptscraeServer	Statement
  hi link iptscraeComment	Comment
  hi link iptscraeDelimiter	Identifier
  hi link iptscraeConditional	Conditional
  hi link iptscraeRepeat	Repeat
  hi link iptscraeOper		Statement
  hi iptscraeServer	term=bold ctermfg=7 gui=bold guifg=Blue
  hi iptscraeStatement	term=bold ctermfg=3 gui=bold guifg=DarkGreen
  hi iptscraeStorage	term=bold ctermfg=3 gui=bold guifg=DarkBlue
  hi iptscraeOper	term=bold ctermfg=2 gui=bold guifg=Orange
  hi iptscraePaint	term=bold ctermfg=2 gui=bold guifg=DarkMagenta
  hi iptscraeProps	term=bold ctermfg=2 gui=bold guifg=DarkRed
  hi iptscraeRepeat	term=bold ctermfg=3 gui=bold guifg=SeaGreen
  hi iptscraeComment	term=bold ctermfg=1 guifg=DarkGray
endif

let b:current_syntax = "iptscrae"

" vim: ts=8


Iptscrae Beginners Page
House o Bots
BotBot