Vim 9.2 for OpenVMS VAX 7.3 =========================== The terminal (character cell) build of Vim 9.2 patch level 491 for VAX, built in May 2026 with Compaq C V6.4 on OpenVMS VAX V7.3, installed exactly as supplied. Kit assembled by Douglas P. Fields, Jr. (symbolics@lisp.engineer), 14-OCT-2026. Provenance and hashes: SOURCES.TXT. Licence: LICENSE.TXT (the Vim licence). READ THIS FIRST: a known defect of the supplied program ------------------------------------------------------- This VIM.EXE ends with "Vim: Caught deadly signal SEGV" (exit status %X1000000C) in some cases. It is in the program as supplied (Polarhome build, patch 491), not caused by this kit; we did not change it. Measured on VAX90, 14-OCT-2026: CRASHES (filetype detection that falls back to the Vim9 scripts dist/ft.vim and dist/script.vim, with syntax highlighting or filetype plugins on) vim -es -u none -c "syntax on" -c "qa!" (empty, unnamed buffer) vim -es -n -u none -c "set nocp" -c "syntax on" -c "qa!" TS.TXT (also .LOG .H .DAT, a file named README.) vim -es -n -u none -c "set nocp" -c "filetype plugin indent on" -c "help help.txt" -c "qa!" interactive, with the example vimrc / defaults.vim (syntax on, filetype on): $ VIM TS.TXT crashes at once after reading the file $ VIM then :help help.txt crashes WORKS vim --version, vim -es edits, XXD, CTAGS vim -es -n -u none -c "set nocp" -c "syntax on" -c "qa!" TS.C (also .COM .VIM .PY) interactive $ VIM (splash screen) and $ VIM TS.C with coloured syntax vim -es -n -u none -c "set nocp" -c "help help.txt" -c "qa!" (no syntax, no filetype) vim -es -n -u none -c "set nocp" -c "filetype on" -c "qa!" TS.TXT What this means for you. Without a vimrc of your own, Vim loads its defaults.vim, which turns syntax and filetype detection on; then editing a .TXT file or using :help crashes. See "Using Vim safely" below for what we measured to avoid it. This kit does NOT install a system-wide VIMRC. (the supplied one sources defaults.vim for everybody). Rebuilding Vim 9.2 from vim-92-src-vms.zip with our own Compaq C 6.4 might fix this; that would be a separate, full-kit piece of work. What is in the kit (installed in SYS$COMMON:[SYSLIB.VIM]) --------------------------------------------------------- VIM.EXE XXD.EXE CTAGS.EXE the programs VIMRC_EXAMPLE.VIM GVIMRC_EXAMPLE.VIM OS_VMS.TXT as supplied [.VIM92] the runtime tree (VIMRUNTIME): syntax, indent, ftplugin, colors, doc, spell ... VIM_SETUP.COM defines the logical names and commands README.TXT SOURCES.TXT LICENSE.TXT Install and remove (as SYSTEM, files next to each other) -------------------------------------------------------- $ @VIM_INSTALL [saveset] [REPLACE] restores the saveset into SYS$COMMON:[SYSLIB.VIM], writes VIM_MANIFEST.LIS, smoke-tests it $ @VIM_UNINSTALL [CHECK] removes exactly the files in the manifest that are unchanged; a changed file is kept; CHECK changes nothing It changes nothing outside that directory (no startup file, SYSUAF, DCLTABLES or logical name). The restore of the 4,758 runtime files takes about 12 minutes on a VAXstation 4000/90. Use (each user, once per login or from LOGIN.COM) ------------------------------------------------- $ @SYS$COMMON:[SYSLIB.VIM]VIM_SETUP $ VI MYFILE.TXT $ VIEW MYFILE.TXT (read-only) $ VIM -es -c "%s/old/new/g" -c "wq" MYFILE.TXT (non-interactive edit) $ XXD MYFILE.TXT $ EXCTAGS *.C VIM_SETUP defines VIMROOT (rooted name of the install directory), VIM (= VIMROOT:[000000], where VIM.EXE is) and VIMRUNTIME (= VIMROOT:[VIM92]). The program is started as MCR VIM:VIM.EXE. The ctags program is called EXCTAGS because ctags reads its options from any symbol or logical name called CTAGS. Vim reads its command line in lower case: an upper case option letter is written with a slash (-/r means -R). Your own settings go in SYS$LOGIN:.VIMRC (VMS names it .VIMRC). The VAX has no clipboard, X, job or channel features in this build (see :version). Create text files for Vim with CREATE, EDIT, COPY or FTP: a file written by DCL OPEN/WRITE has record format VFC and Vim reads it as one long line. Using Vim safely (checked on VAX90, 14-OCT-2026) ------------------------------------------------- Put this in SYS$LOGIN:.VIMRC (it is the file's whole content; nothing else is needed): set nocompatible filetype off syntax off Then $ VIM FILE.TXT and :help help.txt worked in an interactive session (checked on the screen, with these three lines and a fourth, "set viminfo="). The viminfo message: Vim 9.2 on VMS cannot CREATE the viminfo file; if SYS$LOGIN:.VIMINFO does not exist it makes an empty one and prints "E138: Can't write viminfo file sys$login:.viminfo!" (measured: writing into an existing file, even an empty one, works). VIM_SETUP therefore creates an empty SYS$LOGIN:.VIMINFO the first time you run it. If you start Vim without running VIM_SETUP, create the file once with $ CREATE SYS$LOGIN:.VIMINFO (then Ctrl-Z), or put set viminfo= in your .VIMRC. Without any .VIMRC, or with the example vimrc, defaults.vim turns syntax and filetype detection on and $ VIM FILE.TXT crashes (see above). Without a vimrc at all you can still run $ VIM -u NONE FILE.TXT . Colour for the file types that work (C, DCL, Vim script, Python), checked with -es: $ VIM -u NONE -c "set nocp" -c "syntax on" FILE.C (the -c commands run after the file is loaded; do not do this for .TXT or unknown types). Notes ----- * The runtime tree is deeper than 8 directory levels below SYS$COMMON:[SYSLIB] (pack/dist/opt/netrw/autoload/netrw/...); VMS allows that only through a rooted (concealed) logical name, which is why VIM_SETUP defines VIMROOT that way and why the installer restores through one. Vim cannot use a rooted name directly as VIMRUNTIME (it appends "syntax/syntax.vim" to the translation); hence VIM and VIMRUNTIME are ordinary names that point into VIMROOT. * ODS-2 limits a file name to 39 characters. 8 of the 4766 files in the runtime zip have longer names and cannot exist on this file system; UNZIP reports "%RMS-F-FNM, error in file name" for them and they are NOT in this kit. They are Vim's own syntax regression-test inputs and expected screen dumps below vim92/syntax/testdir; nothing needs them to run Vim. The consequence: Vim's own syntax test suite (make test in syntax/testdir) cannot be run from this install on ODS-2. The omitted files (name in the zip, size, SHA-256): syntax/testdir/input/vim9_ex_function_def_tail_comment_errors.vim 787 9202156fd85c009981e40f534db406ce1bb1ee373021c294cf3e56a4252c2992 syntax/testdir/input/setup/vim9_ex_function_def_tail_comment_errors.vim 73 cbfaaa04dc0c65eaa1609c9e8d6ee29829214f355cb2f79d5ef3f434e0c1837a syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_00.dump 1759 9346a08fe7ae513a5914daf6b0877d1efdaa2f8b929ec1152f50bb03c677ebfe syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_01.dump 2068 eecedbb31de83635a728c86b7b4d1faed95422f2eacb6e51dd5fc0d3165cda88 syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_02.dump 1572 979f1f5cd710320f1846cf80ff793348068bc6c7318f000c7e9b95bdc3c875e4 syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_00.dump 1729 e9b702864e7cd7b7b113507ea3438ccf57e83d99e93e79e333cd339220603870 syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_01.dump 2064 0e34bdef76cef21d9be58bf4f49fca4a9fbd1ff1c32097b49e9be7efa88b50a5 syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_02.dump 1421 2b1c4379931f4adefed02ec445f47b61abfd2210b502a31c06ae93392408f1d5