*os_vms.txt* For Vim version 5.3. Last modification: 1998 Aug 17 VIM REFERENCE MANUAL by Bruce Hunsaker and Sandor Kopanyi *VMS* This file contains the particularities for the VMS version of Vim. Here is some information about building VIM 5.3 for VMS. My experience is on DEC Alpha's running VMS 7.1. 1) You will need VMS version of unzip to unpack the distribution. Trying to copy an already unpacked source tree to VMS did not work well for me (via FTP). Binaries for these 2 utilites are readily available on the WWW. 2) You will need either the DECSET mms utility or the freely available clone of it called mmk. (VMS has no make utility in the standard distribution.) I found a binary of 'mmk' which worked well. 3) I suggest unpacking the distribution to the location that will be used at run-time. This will avoid problems trying to decide what to move to the final 'install' directory, since there is no 'install' target in the makefile. 3) Once unpacked, change to the vim/src directory and do: mmk/descrip=os_vms_x.mms This builds a version of VIM with Terminal and X-windows support. To build just a character mode VIM do: mmk/descrip=os_vms.mms (or use 'mms' instead of 'mmk' if you have it) 4) Copy the executable (vim.exe) to a common location. (I set up a [usr.bin] directory for this. 5) To run, I added the following lines in my LOGIN.COM: $ vi*m :== $lib_disk:[usr.bin]vim.exe $ define tmp tmp_disk:[tmp] $ define vim "/lib_disk/usr/lib/vim-5_1/" $ define vim_hlp lib_disk:[usr.lib.vim-5_1.doc] Your names for devices and directories will need to be changed to match your system. After the setup is complete I run VIM with either 'vi' or 'vi -g'. Note: 'vi -g' will not start in the background. In order to do that I have to resort to: 'pipe vi -g &' WARNING, this breaks ':sh', but you can do ':!create/term/detach' to spawn a sub-shell. 6) Create .vimrc and .gvimrc files in your home directory. I suggest copying the supplied example files in the distribution, and using them as a starting point. 7) There are backspace/delete key inconsistencies with VMS. :fixdel dosen't do the trick. I had to add: " for terminal mode inoremap ^? ^H " for gui mode inoremap ^H For compiling Vim on alpha running VMS, just invoke mms /descrip=os_vms.mms I've worked (and compiled) only the console version, not the GUI. It's OK. The arrow keys didn't worked, I've mapped them: :map <^V + Left-arrow> and so on. Bruce Hunsaker Some and changes from Sandor Kopanyi (this changes -hopefully - will be included in the standard distribution): - in proto/os_vms.pro: the first parameter of vul_desc() is DESC, not int. - in os_vms.c: added a new (unused) parameter when calling mch_setenv() - in os_vms.h: VIM_HLP changed from $VIM/doc/help.txt to $VIM_DOC/help.txt (because VMS doesn't handles "/" in the file name). - in fileio.c there was a VMS specific section regarding creation of temporary files ("mktemp not working..." etc., "use tempnam() instead..."). Well, tempnam didn't work (for me, at least), mktemp seems to work, so I removed that section. And 2 programs more: - in ctags/ctags.h: appended "... || defined (VMS)" when defining HAVE_STDLIB_H - in xxd/ : new file ("makefile") for VMS: os_vms.mms And a problem (nothing is perfect :-): I run ViM in an X-emulator; when I paste a lot of long rows (more than ~7 rows), Vim becomes "confused", and only some parts of the rows appears, but even that ones "mixed". There is no problem with short rows (less then ~25 chars). vim:ts=8:sw=8:tw=78: