vimtutor.com 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. $ ! (surprise, surprise!) which gives you a brief tutorial on the
  10. $ ! VIM editor. Languages other than the default are supported in
  11. $ ! the 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 tutorial. 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