1$ ! 2$ !===================================================================== 3$ ! 4$ ! VimTutor.com version 29-Aug-2002 5$ ! 6$ ! Author: Tom Wyant <Thomas.R.Wyant-III@usa.dupont.com> 7$ ! 8$ ! This DCL command procedure executes the vimtutor command 9$ ! (suprise, suprise!) which gives you a brief tutorial on the VIM 10$ ! editor. Languages other than the default are supported in the 11$ ! usual way, as are at least some of the command qualifiers, 12$ ! though you'll need to play some fairly serious games with DCL 13$ ! to specify ones that need quoting. 14$ ! 15$ ! Copyright (c) 2002 E. I. DuPont de Nemours and Company, Inc 16$ ! 17$ ! This program is free software; you can redistribute it and/or 18$ ! modify it under the terms of the VIM license as available from 19$ ! the vim 6.1 ":help license" command or (at your option) the 20$ ! license from any later version of vim. 21$ ! 22$ ! This program is distributed in the hope that it will be useful, 23$ ! but WITHOUT ANY WARRANTY; without even the implied warranty of 24$ ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 25$ ! 26$ !===================================================================== 27$ ! 28$ ! 29$ ! Check for the existence of VIM, and die if it isn't there. 30$ ! 31$ if f$search ("vim:vim.exe") .eqs. "" 32$ then 33$ write sys$error "Error - Can't run tutoral. VIM not found." 34$ exit 35$ endif 36$ ! 37$ ! 38$ ! Pick up the argument, if any. 39$ ! 40$ inx = 0 41$ arg_loop: 42$ inx = inx + 1 43$ if f$type (p'inx') .nes. "" 44$ then 45$ if p'inx' .nes. "" .and. f$locate ("-", p'inx') .ne. 0 46$ then 47$ xx = p'inx' 48$ assign/nolog "''xx'" xx 49$ p'inx' = "" 50$ endif 51$ goto arg_loop 52$ endif 53$ ! 54$ ! 55$ ! Make sure we clean up our toys when we're through playing. 56$ ! 57$ on error then goto exit 58$ ! 59$ ! 60$ ! Create the VIM foreign command if needed 61$ ! 62$ if f$type (vim) .eqs. "" then vim := $vim:vim 63$ ! 64$ ! 65$ ! Build the name for our temp file. 66$ ! 67$ tutfil = "sys$login:vimtutor_" + - 68 f$edit (f$getjpi (0, "pid"), "trim") + "." 69$ assign/nolog 'tutfil' TUTORCOPY 70$ ! 71$ ! 72$ ! Copy the selected file to the temp file 73$ ! 74$ assign/nolog/user nla0: sys$error 75$ assign/nolog/user nla0: sys$output 76$ vim -u "NONE" -c "so $VIMRUNTIME/tutor/tutor.vim" 77$ ! 78$ ! 79$ ! Run the tutorial 80$ ! 81$ assign/nolog/user sys$command sys$input 82$ vim -u "NONE" -c "set nocp" 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' 'tutfil' 83$ ! 84$ ! 85$ ! Ditch the copy. 86$ ! 87$ exit: 88$ if f$type (tutfil) .nes. "" .and. f$search (tutfil) .nes. "" then - 89$ delete 'tutfil';* 90$ if f$type (xx) .nes. "" then deassign xx 91$ deassign TUTORCOPY 92$ exit 93$ ! 94$ !===================================================================== 95$ ! 96$ ! Modification history 97$ ! 98$ ! 29-Aug-2002 T. R. Wyant 99$ ! Changed license to vim. 100$ ! Fix error "input is not from a terminal" 101$ ! Juggle documentation (copyright and contact to front, 102$ ! modification history to end). 103$ ! 25-Jul-2002 T. R. Wyant 104$ ! Initial version 105