os_vms.txt ForVim version 9.2. Last change: 2026 Feb 14VIM REFERENCE MANUALVMSvmsThis file contains the particularities for theVMS version of Vim.You can reach this information file by typing:helpVMS in Vim commandprompt. 1. Getting startedvms-started 2. Download filesvms-download 3. Compilingvms-compiling 4. Problemsvms-problems 5. Deployvms-deploy 6. Practical usagevms-usage 7.GUI mode questionsvms-gui 8. Useful notesvms-notes 9.VMS related changesvms-changes10. Authorsvms-authors==============================================================================1. Getting startedvms-startedVim (Vi IMproved)isa Vi-compatible text editor that runs on nearly everyoperating system known to humanity. Now use Vim on OpenVMS too, in characteror X/Motif environment. Itis fully featured and absolutely compatible withVim on other operating systems.==============================================================================2. Download filesvms-downloadYou candownload the Vim source code from the official Vim site:https://github.com/vim/vim/archive/refs/heads/master.zipOr using git:git clone https://github.com/vim/vim.gitOlder release archives are also available at:https://ftp.nluug.nl/pub/vim/Or use one of the mirrors:https://ftp.nluug.nl/pub/vim/MIRRORSNote: theftp server has been retired andis no longer updated.You candownload precompiled executables from:http://www.polarhome.com/vim/To use the precompiled binary version, you need one of these archives: vim-XX-exe-x86-gui.zipX86_64 GUI/Motif executables vim-XX-exe-x86-term.zipX86_64 console executables vim-XX-exe-ia64-gui.zipIA64 GUI/Motif executables vim-XX-exe-ia64-gtk.zipIA64 GUI/GTK executables vim-XX-exe-ia64-term.zipIA64 console executables vim-XX-exe-axp-gui.zipAlpha GUI/Motif executables vim-XX-exe-axp-gtk.zipAlpha GUI/GTK executables vim-XX-exe-axp-term.zipAlpha console executables vim-XX-exe-vax-gui.zipVAXGUI executables vim-XX-exe-vax-term.zipVAX console executablesand of course (optional) vim-XX-runtime.zipruntime filesThe binary archives contain: vim.exe, ctags.exe, xxd.exe files.ForGTK executables you will need GTKLIB thatis available forAlpha and IA64 platforms.==============================================================================3. Compilingvms-compilingSee the file [.SRC]INSTALLVMS.TXT.==============================================================================4. Problemsvms-problemsThe code has been tested under OpenVMS 6.2- 9.2 on Alpha, VAX, IA64 andX86_64 platforms with the DECC compiler. It should work without majorproblems. If your system does not have some include libraries you can tune inthe OS_VMS_CONF.H file.If you decided to build Vim with +perl, +python, etc. options, first you needtodownload OpenVMS distributions ofPerl and Python. Build and deploy thelibraries and change adequate lines in MAKE_VMS.MMS file. There should not bea problem from Vim side.Also GTK, XPM library paths should be configured in MAKE_VMS.MMSNote: Under VAXit should work with the DECC compiler without problems. TheVAXC compileris not fully ANSIC compatible in pre-processor directivessemantics, therefore you have to usea converter program that willdo the lionpart of the job. For detailed instructions read file INSTALLvms.txtTo build XXD.EXE, you should change to the subdirectory and builditseparately.CTAGSis not part of the Vim sourcedistribution anymore, however the OpenVMSspecific source might contain CTAGS source filesas described above.You can find more information about CTAGS onVMSathttp://www.polarhome.com/ctags/Advanced users may try some acrobatics in FEATURE.H fileas well.Itis possible to compile with+xfontset+ximoptions too, but then you haveto set upGUI fonts etc. correctly. See:helpxim from Vim command prompt.You may want to useGUI withGTK icons, then you have todownload andinstallGTK for OpenVMS orat least runtime shareable images- LIBGTK frompolarhome.comPost 7.2 Vim uses GTK2+ while the lastGTK on OpenVMSis 1.2.10, thereforetheGTK buildis no longer available.For more advanced questions, please send your problem to Vim onVMS mailinglist <vim-vms@polarhome.com>More about the vim-vmslist can be found at:http://www.polarhome.com/mailman/listinfo/vim-vms==============================================================================5. Deployvms-deployVim usesa special directory structure to hold the document and runtime files: vim (or wherever) |- tmp |- vim57 |----- doc |-----syntax |- vim62 |----- doc |-----syntax |- vim64 |----- doc |-----syntaxvimrc (system rc files)gvimrcUse:define/nolog VIMdevice:[path.vim]define/nolog VIMRUNTIME device:[path.vim.vim60]define/nolog TMPdevice:[path.tmp]To get vim.exe to find its document, filetype, andsyntax files, and tospecifya directory where temporary files will be located. Copy the "runtime"subdirectory of the Vimdistribution to vimruntime.Logicals$VIMRUNTIME and $TMP are optional.If$VIMRUNTIMEis not set, Vim will guess and try to set up automatically.Read more aboutitat:help runtimeIf $TMPis not set, you will not be able to use somefunctionsas CTAGS,XXD,printing etc. that use temporary directory for normal operation.The $TMP directory should be readable and writable by the user(s).The easiest way to set up $TMPis to definea logical:define/nolog TMP SYS$SCRATCHor as:define/nolog TMP SYS$LOGIN==============================================================================6. Practical usagevms-usageUsually, you want to run just one version of Vim on your system, thereforeitis enough to dedicate one directory for Vim.Copy the whole Vim runtime directory structure to the deployment position.Add the following lines to your LOGIN.COM (in SYS$LOGIN directory).Set up the logical$VIM as:$ define VIM device:<path>Set up some symbols:$ ! vi starts Vim in chr. mode.$ vi*m :== mcr VIM:VIM.EXE$ !gvi starts Vim in GUI mode.$ gv*im :== spawn/nowait mcr VIM:VIM.EXE -gPlease, check the notes for customization and configuration of symbols.You may want to create.vimrc and.gvimrc files in yourhome directory(SYS$LOGIN) to overwrite default settings.The easiest wayis just rename example files. You may leave the menu file(MENU.VIM) and filesvimrc andgvimrc in the original$VIM directory. It willbe the default setup for all users, and for usersitis enough to just havetheir own additions or resetting in theirhome directory in files.vimrc and.gvimrc. It should work without problems.Note: Remember, system rc files (default for all users) don't havea leading".". So, system rc files are:$VIM:vimrc$VIM:gvimrc$VIM:menu.vimand user customized rc files are:sys$login:.vimrcsys$login:.gvimrcYou can check that everythingisat the right place with the:version command.Example LOGIN.COM:$ define/nolog VIM DKA0:[UTIL.VIM81]$ vi*m :== mcr VIM:VIM.EXE$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40$ set term/inq/ins ! inquire the terminal capabilities$ set disp/create/node=192.168.10.202/trans=tcpipNote: This set-up should be enough, if you are working ona standalone serveror clustered environment, but if you want to use Vimas an internode editor inDECNET environment,it will satisfyas well.You just have to define the "whole" path:$ define VIM "<server_name>[""user password""]::device:<path>"$ vi*m :== "mcr VIM:VIM.EXE"For example:$ define VIM "PLUTO::RF10:[UTIL.VIM]"$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd requiredYou can also use the$VIMRUNTIME logical to point to the proper version of Vimif you have installed more versionsat the same time. If$VIMRUNTIMEis notdefined Vim will borrow its value from the$VIM logical. You can find moreinformation about the$VIMRUNTIME logical by typing:help runtimeasa Vimcommand.System administrators might want to set upa system wide Vim installation,then add to the SYS$STARTUP:SYLOGICALS.COM$ define/nolog/sys VIM device:<path>$ define/nolog/sys TMP SYS$SCRATCHAnd to the SYS$STARTUP:SYLOGIN.COM$ vi*m :== mcr VIM:VIM.EXE$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40It will set upa normal Vim work environment for every user on the system.IMPORTANT: Vim on OpenVMS (and on othercase insensitive system) command lineparameters are assumed to be lowercase. In order to indicate thata commandline parameterisuppercase "/" signmust be used.Examples:vim -R filename ! means: -r List swap files and exitvim -/r filename ! means: -R Readonly mode (like "view")vim -u<vimrc> ! means: -u Use <vimrc> instead of any .vimrcvim -/u <gvimrc> ! means: -U Use <gvimrc> instead of any .gvimrc==============================================================================7.GUI mode questionsvms-guiOpenVMSisa real mainframe OS, therefore even ifit hasaGUI console, mostof the usersdo not usea native X/Window environment during normal operation.Itis not possible to start Vim inGUI mode "just like that". But anyhowitis not too complicated either.First of all: you will need an executable thatis built with theGUI enabled.Second: you need to have installed DECW/Motif on yourVMS server, otherwiseyou will geterrors that some shareable libraries are missing.Third: If you choose to run Vim with extra features suchas GUI/GTK then youneedaGTK installation too orat leastaGTK runtime environment (LIBGTKcan be downloaded fromhttp://www.polarhome.com/vim/).1) If you are working on theVMS X/Motif console: Start Vim with the command:$ mc device:<path>VIM.EXE -g or type:guiasa command to the Vim command prompt. For more info:helpgui2) If you are working on some other X/Window environment likeUnix ora remoteXVMS console. Set up display to your host with:$ set disp/create/node=<your IP address>/trans=<transport-name> and start Vimas in point 1. You can find morehelp inVMS documentation or type:help set disp inVMS prompt. Examples:$ set disp/create/node=192.168.5.159 ! default trans is DECnet$ set disp/create/node=192.168.5.159/trans=tcpip ! TCP/IP network$ set disp/create/node=192.168.5.159/trans=local ! display on the same nodeNote: you should define just one of these.For more information type $help set disp inVMS prompt.3) Another elegant solutionis XDM if you have installed on OpenVMS box. Itis possible to work from XDM clientas fromGUI console.4) If you are working onMS-Windows or some other non X/Window environment you need to set up oneX server and run Vimas in point 2. ForMS-Windows there are available freeX serversas MIX, OmniX etc.,as wellas excellent commercial productsas eXcursion or ReflectionX with built-in DEC support.Please note, that executables withoutGUI are slightly faster duringstartupthan with enabledGUI in character mode. Therefore, if youdo not useGUIfeatures,itis worth to choose nonGUI executables.==============================================================================8. Useful notesvms-notes8.1 Backspace/delete8.2 Filters8.3VMS file version numbers8.4 Directory conversion8.5 Remote host invocation8.6 Terminal problems8.7 Hex-editing and other external tools8.8 Sourcingvimrc andgvimrc8.9 Printing from Vim8.10 Setting up the symbols8.11diff and other GNU programs8.12diff-mode8.13 Allow '$' inC keywords8.14 VIMTUTOR for beginners8.15 Slow start in console mode issue8.16 Common VIM directory- different architectures8.1 Backspace/deleteThere are backspace/delete key inconsistencies with VMS.:fixdel doesn'tdo the trick, but the solutionis (without "<" in'cpo')::inoremap <C-?> <C-H>" for terminal mode:inoremap <Del> <C-H>" for gui modeRead more in ch: 8.6 (Terminal problems).(Bruce Hunsaker <BNHunsaker@chq.byu.edu> Vim 5.3)8.2 FiltersVim supports filters, i.e., if you havea sort program that can handleinput/output redirection likeUnix (<infile >outfile), you could use:map \s 0!'aqsort<CR>(Charles E. Campbell, Jr. <cec@gryphon.gsfc.nasa.gov> Vim 5.4)8.3VMS file version numbersVimis saving files intoa new file with the next higher file versionnumber, try these settings.:set nobackup " does not create *.*_ backup files:set nowritebackup " does not have any purpose on VMS. It's the " default.Recoveryis working perfectlyas well from the default swap file.Read more with:help swapfile(Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan ArpadffyVim 5.6)8.4 Directory conversionVim will internally convert any unix-style paths and even mixed unix/VMSpaths intoVMS style paths. Some typical conversions resemble:/abc/def/ghi-> abc:[def]ghi./abc/def/ghi.j-> abc:[def]ghi.j/abc/def/ghi.j;2-> abc:[def]ghi.j;2/abc/def/ghi/jkl/mno-> abc:[def.ghi.jkl]mno.abc:[def.ghi]jkl/mno-> abc:[def.ghi.jkl]mno. ./-> current directory ../-> relative parent directory [.def.ghi]-> relative child directory ./def/ghi-> relative child directoryNote: You may use <,> bracketsas well (device:<path>file.ext;version)asrf10:<user.zay.work>test.c;1(David Elins <delins@foliage.com>, Jerome Lauret<JLAURET@mail.chem.sunysb.edu> Vim 5.6)8.5 Remote host invocationItis possible to use Vimas an internode editor.1. Edit some file from remote node:vi "<server>""username passwd""::<device>:<path><filename>;<version>"Example:vi "pluto""zay passwd""::RF10:<USER.ZAY.WORK>TEST.C;1"Note:syntaxis very important, otherwiseVMS will recognize more parametersinstead of one (resulting with: file not found)2. Set up Vimas your internode editor. If Vimis not installed on yourhost, just set up your IP address, the full Vim path including the server nameand run the command procedure below:$ if (p1 .eqs. "") .OR. (p2 .eqs. "") then goto usage$ set disp/create/node=<your_IP_here>/trans=tcpip$ define "VIM "<vim_server>""''p1' ''p2'""::<device>:<vim_path>"$ vi*m :== "mcr VIM:VIM.EXE"$ gv*im :== "spawn/nowait mcr VIM:VIM.EXE -g"$ goto end$ usage:$ write sys$output " Please enter username and password as a parameter."$ write sys$output " Example: @SETVIM.COM username passwd"$ end:Note: Never useit ina clustered environment (youdo not need it), loadingcould be very-very slow, but even faster thana local Emacs. :-)(Zoltan Arpadffy, Vim 5.6)8.6 Terminal problemsIf yourterminal nameis not known to Vim anditis trying to find the defaultone you will get the following message during start-up:---Terminal entry not found intermcap'unknown-terminal' not known. Available built-in terminals are: builtin_gui builtin_riscos builtin_amiga builtin_ansi builtin_vt320 builtin_vt52 builtin_pcansi builtin_win32 builtin_xterm builtin_iris-ansi builtin_debug builtin_dumbdefaulting to 'vt320'---Try to force to inquire theterminal capabilities with:$ set term/inquireIf the inquire did not help, the solutionsis to define the defaultterminalname:$ ! unknown terminal name. Let us use vt320 or ansi instead.$ ! Note: it's case sensitive$ define term "vt320"Terminals from VT100 to VT320 (as V300, VT220, VT200)do not need any extrakeyboard mappings. They should work perfectlyas they are, including arrows,Ins, Del buttons etc., except Backspace inGUI mode. To solve it, add to.gvimrc:inoremap <Del> <BS>Vim will also recognize that they are fast terminals.If you're using Vim on remote host or througha very slow connection, youmight want to reset fastterminal option with:set nottyfast " set terminal to slow mode8.7 Hex-editing and other external toolsA very important difference between OpenVMS and other systemsis thatVMS usesspecial commands to execute executables:RUN <path>filenameMCR <path>filename <parameters>OpenVMS users always have to be aware that the Vim command:! "just" drop themto DCL prompt. This featureis possible to use without any problem with allDCL commands, but if we want to execute some programs suchas XXD, CTAGS,JTAGS, etc. we're running into trouble if we follow the Vim documentation(see:help xxd).Solution: Execute with the MC command and add the full path to the executable.Example: Instead of :%!xxd command use::%!mc vim:xxd... or in general::!mc <path>filename <parameters>Note: You can use XXD and CTAGS fromGUI menu.To customizectagsitis possible to define the logical $CTAGS with standardparameters as:define/nolog CTAGS "--totals -o sys$login:tags"For additional information, please read:help tagsearch and CTAGSdocumentationathttp://ctags.sourceforge.net/ctags.html.(Zoltan Arpadffy, Vim 5.6-70)8.8 Sourcingvimrc andgvimrcIf you want to use your.vimrc and.gvimrc from other platforms (e.g. Windows)you can get in trouble if youftp that file(s):VMS has different end-of-lineindication.The symptomis that Vimis not sourcing your .vimrc/.gvimrc, even if you say::so sys$login:.vimrcOne trickis tocompress (e.g. zip) the files on the other platform anduncompressit on VMS; if you have the same symptom, try to create the fileswith copy-paste (for this you need both op. systems reachable from onemachine, e.g. an Xterm on Windows or telnet to Windows from VMS).(Sandor Kopanyi, <sandor.kopanyi@mailbox.hu> Vim 6.0a)8.9 Printing from VimTo be able to print from Vim (running inGUI mode) underVMS you have to setup $TMP logical which should point to some temporary directory and logicalSYS$PRINT to your default print queue.Example:$define SYS$PRINT HP5ANSIYou can print out the whole buffer or just the marked area.More info under:help hardcopy(Zoltan Arpadffy, Vim 6.0c)8.10 Setting up the symbolsWhenI usegvim this way and pressCTRL-Y in the parent terminal,gvim exits.I now usea different symbol that seems to work OK and fixes the problem.I suggest this instead:$ GV*IM:==SPAWN/NOWAIT/INPUT=NLA0: MCR VIM:VIM.EXE -G -GEOMETRY 80X40The /INPUT=NLA0: separates the standard input of thegvim process from theparent terminal, to block signals from the parent window.Without the -GEOMETRY, thegvimwindow size will be minimal and the menuwill be confused aftera window-resize.(Carlo Mekenkamp, Coen Engelbarts, Vim 6.0ac)8.11diff and other GNU programsFrom 6.0diff functionality has been implemented, but OpenVMS does not useGNU/Unix likediff therefore built indiff does not work.Thereisa simple solution to solve this anomaly. InstallaUnix likediffand Vim will work perfectly indiff mode too. You just have to redefine yourdiff program as:define /nolog diff <GNU_PATH>diff.exeAnother, more sophisticated solutionis described below (8.12 diff-mode)There are other programs suchas patch, make etc that may cause the sameproblems. At www.polarhome.comis possible todownload an GNU package forAlpha and VAX boxes thatis meant to solve GNU problems on OpenVMS.(Zoltan Arpadffy, Vim 6.1)8.12diff-modeVim 6.0 and higher supports Vimdiff-mode (Seenew-diff-mode,diff-modeand08.7). This uses the external program'diff' and expectsa Unix-likeoutput format from diff. The standardVMSdiff hasa different outputformat. To use Vim onVMS in diff-mode, you need to: 1 Installa Unix-likediff program, e.g. GNUdiff 2 Tell Vim to use the Unix-likediff for diff-mode.You candownload GNUdiff from the VIM-VMS website,itis one of the GNUtools inhttp://www.polarhome.com/vim/files/gnu_tools.zip.I suggest tounpackit ina separate directory "GNU" and createa logical GNU: thatpoints to that directory, e.g: DEFINE GNU <DISK>:[<DIRECTORY>.BIN.GNU]You may also want to definea symbol GDIFF, to use the GNUdiff from the DCLprompt: GDIFF :== $GNU:DIFF.EXENow you need to tell Vim to use the newdiff program. Take the examplesettings fromdiff-diffexpr and change the call to the externaldiffprogram to the newdiff on VMS. Add this to your.vimrc file: " Set up vimdiff options if v:version >= 600" Use GNU diff on VMSset diffexpr=MyDiff()function MyDiff() let opt = "" if &diffopt =~ "icase" let opt = opt .. "-i " endif if &diffopt =~ "iwhite" let opt = opt .. "-b " endif silent execute "!mc GNU:diff.exe -a " .. opt .. v:fname_in .. " " .. v:fname_new ..\ " > " .. v:fname_outendfunction endifYou can now use Vim in diff-mode, e.g. to compare two files in read-onlymode: $ VIM -D/R <FILE1> <FILE2>You can also define new symbols for vimdiff, e.g.: $ VIMDIFF :== 'VIM' -D/R $ GVIMDIFF :== 'GVIM' -D/RYou can now compare files in 4 ways: 1. VMS diff: $ DIFF <FILE1> <FILE2> 2. GNU diff: $ GDIFF <FILE1> <FILE2> 3. VIM diff: $ VIMDIFF <FILE1> <FILE2> 4. GVIM diff: $ GVIMDIFF <FILE1> <FILE2>(Coen Engelbarts, Vim 6.1)8.13 Allow '$' inC keywordsDECC uses many identifiers with '$' in them. Thisis not allowed in ANSI C,and Vim recognises the '$'as theend of the identifier. You can change thiswith the'iskeyword' option.Add this command to your.vimrc file: autocmd FileType c,cpp,cs set iskeyword+=$You can also create the file(s) $VIM/FTPLUGIN/C.VIM (and/or CPP.VIM andCS.VIM) and add this command:set iskeyword+=$Now word-based commands, e.g. the'*'-search-command and theCTRL-]tag-lookup, work on the whole identifier. (Ctags onVMS also supports '$' inC keywords sincectags version 5.1.)(Coen Engelbarts, Vim 6.1)8.14 VIMTUTOR for beginnersThe VIMTUTOR.COM DCLscript canhelp Vim beginners to learn/make their firststeps with Vim on OpenVMS. Depending of binarydistribution you may startitwith:@vim:vimtutor(Thomas.R.Wyant III, Vim 6.1)8.16 Slow start in console mode issueAs GUI/GTK Vim works equally well in console mode, many administratorsdeploy those executables system wide.Unfortunately, ona remote slow connections GUI/GTK executables behave ratherslow when user wants to run Vim just in the console mode- because ofXenvironment detection timeout.Luckily, thereisa simple solution for that. Administrators need to deployboth GUI/GTK build and just console build executables, like below: |- vim73 |----- doc |----- syntax vimrc (system rc files) gvimrc gvim.exe (the renamed GUI or GTK built vim.exe) vim.exe (the console only executable)Define system symbols like below in forex in LOGIN.COM or SYLOGIN.COM:$ define/nolog VIM RF10:[UTIL.VIM73] ! where you VIM directory is$ vi*m :== mcr VIM:VIM.EXE$ gvi*m :== mcr VIM:GVIM.EXE$ ! or you can try to spawn with$ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40Like this, users thatdo not haveX environment and want to use Vim just inconsole mode can avoid performance problems.(Zoltan Arpadffy, Vim 7.2)8.15 Common VIM directory- different architecturesIna cluster that contains nodes with different architectures like below:$show clusterView of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31+---------------------------------+| SYSTEMS | MEMBERS |+-----------------------+---------|| NODE | SOFTWARE | STATUS |+--------+--------------+---------|| TOR |VMS V7.3-2 | MEMBER || TITAN2 |VMS V8.3 | MEMBER || ODIN |VMS V7.3-2 | MEMBER |+---------------------------------+Itis convenient to havea common VIM directory but execute differentexecutables.There are several solutions for this problem:Solution 1. All executables in the same directory with different namesThisis easily done with the followingscript that can be addedto the login.com or sylogin.com:$ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"$ then$ say "VAX platform"$ vi*m:== mcr vim:VIM.EXE_VAX$ endif$ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"$ then$ say "ALPHA platform"$ vi*m :== mcr vim:VIM.EXE_AXP$ endif$ if f$getsyi("ARCH_NAME") .eqs. "IA64"$ then$ say "IA64 platform"$ vi*m :== mcr vim:VIM.EXE_IA64$ endifSolution 2. Different directories:$ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"$ then$ say "VAX platform"$ define/nolog VIM RF10:[UTIL.VAX_EXE] ! VAX executables$ endif$ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"$ then$ say "ALPHA platform"$ define/nolog VIM RF10:[UTIL.AXP_EXE] ! AXP executables$ endif$ if f$getsyi("ARCH_NAME") .eqs. "IA64"$ then$ say "IA64 platform"$ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables$ endif$! VIMRUNTIME must be defined in order to find runtime files$ define/nolog VIMRUNTIME RF10:[UTIL.VIM73]A good example for this approachis the[GNU]gnu_tools.comscript fromGNU_TOOLS.ZIP package downloadable fromhttp://www.polarhome.com/vim/(Zoltan Arpadffy, Vim 7.2)==============================================================================9.VMS related changesvms-changesVersion 9.0 (2023 Nov 27)- Vimis ported to the X86_64 architecture- IMPORTANT: because of the getline function name used in structs likein ex_cmds.h on X86_64 the CRTL_VERis kept under 80500000 level. Theproper solution would be to rename the getline function to somethingelse in the struct (and in all placesitis used)- and avoiding touse POSIXfunctions in structs, but this change would impact on allother operating systems. (added to theVMS TODO list)Read more about at:https://forum.vmssoftware.com/viewtopic.php?f=38&t=8914&p=20049- os_vms_conf.h includes have been reviewed for all architectures- added support for the MODIFIED_BY defineVersion 8.2 (2020 Feb 6)- make all changes needed for clean compile build of v8.2 onVMS on all platforms- fix the call mkdir bug (vicente_polo@yahoo.es)- test on VSI OpenVMS Alpha and Itanium platforms- added LUA support- added XPM support-MotifGUI with toolbar on all platforms- XPM v3.4.11 libraries for IA64, AXP and VAX are added- start integrating the new test scriptsVersion 8.1 (2019 Jan 9)- make necessary changes to build v8.1 onVMS- GTK1.2.10 on VAXVersion 8.0 (2016 Nov 21)- solve the 100% cpu usage issue while waiting fora keystroke- correct theVMS warnings anderrors around handling the INFINITY (used in json.c)- minorVMS port related changes- correct the make_vms.mms file for 8.0- fix [.TESTDIR]make_vms.mms for 8.0Version 7.4 (2013 Aug 10)- Undo:VMS can not handle more than one dot in the filenames use "dir/name"-> "dir/_un_name" add _un_at the beginning to keep the extension- correct swap file namewildcard handling- handle iconv usage correctly-do not optimize on vax- otherwiseit hangs compiling crypto files- fileio.c fix the comment- correct RealWaitForChar- after 7.4-119 use differentfunctions lib$cvtf_to_internal_time because Alpha and VAX have G_FLOAT but IA64 uses IEEE float otherwise Vim crashes- guard against crashes that are caused by mixed filenames-[TESTDIR]make_vms.mms changed to see the output files- Improve tests, update known issues- minor compiler warnings fixed- CTAGS 5.8 +regex includedVersion 7.3 (2010 Aug 15)- CTAGS 5.8 included-VMS compile warnings fixed- floating-point overflow warning corrected on VAX- filepath completion corrected- too many chars were escaped in filename and shell commands- the following plugins are included intoVMS runtime:genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,bufexplorer 7.1.7, taglist 4.5- minor changes invimrc (just inVMS runtime)- make_vms.mms- HUGE modelis the default-[TESTDIR]make_vms.mms includeas many tests possible- modify test30 and test54 forVMS- enable FLOAT feature inVMS port-os_vms.txt updatedVersion 7.2 (2008 Aug 9)- VCF files write corrected- CTAGS 5.7 included- corrected make_vms.mms (on VAX gavesyntax error)Version 7.1 (2007 Jun 15)- create TAGS file from menuVersion 7 (2006 May 8)- Improved low level char input (affects just console mode)- Fixedplugin bug- CTAGS 5.6 includedVersion 6.4 (2005 Oct 15)- GTKLIB and Vim build on IA64- colors interminal mode-syntax highlighting interminal mode- write problem fixed (extra CR)- ESC and ESC sequence recognition interminal mode- make file changed to support new MMS version- env variable expansion in path corrected-printing problems corrected-help text added forcase insensitive argumentsVersion 6.3 (2004 May 10)- Improved vms_read function- CTAGS v5.5.4 included- Documentation corrected and updatedVersion 6.2 (2003 May 7)- CorrectedVMS system call results- Low level character inputis rewritten- Correction intag andquickfix handling- FirstGTK build- Make file changes-GTK feature added- Define for OLD_VMS- OpenVMS version 6.2 or older- Documentation updated withGTK features- CTAGS v5.5 included-VMS VIMtutor createdVersion 6.1 (2002 Mar 25)-TCL init_tcl() problem fixed- CTAGS v5.4 included- GNU tools binaries for OpenVMS- Make file changes- PERL, PYTHON andTCL support improved- InstallVMS.txt hasa detailed description HOWTO build- VMS/Unix file handling rewritten- Minor casting and bug fixesVersion 6.0 (2001 Sep 28)-Unix andVMS code has been merged- separated "really"VMS related code- included all possibleUnix functionality- simplified or deleted the configuration files- makefile MAKE_VMS.MMS reviewed- menu changes (fixed printing, CTAGS and XXD usage)- fixed variable RMS record format handling anomaly- corrected syntax,ftplugin etc files load- changed expand_wildcards and expandpathfunctions to work more general- created OS_VMS_FILTER.COM- DECC->VAXC pre-processor directive convert script.- Improved code's VAXC and new DECC compilers compatibility- changedquickfix parameters:- errormessage format to suite DECC- search, make and other commands to suiteVMS system- updated and renamed MMS make files for Vim and CTAGS.- CTAGS has been removed from sourcedistribution of Vim butit will remain in OpenVMS binary distributions.- simplified build/configuration procedure- created INSTALLvms.txt- detailed compiling instructions under VMS.- updated test scripts.Version 5.8 (2001 Jun 1)- OS_VMS.TXT updated with new features.- other minor fixes.- documentation updated- this version had been tested much more than any other OpenVMS version earlierVersion 5.7 (2000 Jun 24)- New CTAGS v5.0 indistribution- Documentation updatedVersion 5.6 (2000 Jan 17)-VMS filename related changes:- version handling (open everything, save to new version)- correct file extension matching forsyntax (version problem)- handle <,> characters and passwords in directory definition- handle internode/remote invocation and editing with passwords- OpenVMS files will be treatedcase insensitive from now- corrected response of expand("%:.") etc path relatedfunctions(in one word:VMS directory handling internally)- version command- corrected (+,-) information data- added compiler and OS version- added user and host information- resolving$VIM and$VIMRUNTIME logicals-VMS portis in MAX_FEAT (maximum features) club with Unix,Win32 and OS/2.- enabled farsi, rightleft etc. features-undo level raised up to 1000- Updated OS_VMS.MMS file.- maximum features ONis default- Vimis compilable with +perl,+python and+tcl features.- improved MMK compatibility- Created MAKEFILE_VMS.MMS, makefile fortesting Vim during development.- Defined DECterminal VT320- compatibility for VT3*0, VT2*0 and VT1*0- ANSI terminals backwards, but not VT340 and newer with colour capability.- VT320is defaultterminal for OpenVMS- these new terminals are also fast ttys (default for OpenVMS).- allowed dec_mouse ttym- Updated filesvimrc andgvimrc withVMS specific suggestions.- OS_VMS.TXT updated with new features.Version 5.5 (1999 Dec 3)- Popup menu line crash corrected.- Handle full file names with version numbers.- Directory handling (CD command etc.)- Corrected file name conversionVMS toUnix and v.v.- Correct response of expandwildcards- Recoveryis working from this version underVMSas well.- Improvedterminal and signal handing.- Improved OS_VMS.TXTVersion 5.4 (1999 Sep 9)- Cut and paste mismatch corrected.-Motif directories during open and save are corrected.Version 5.3 (1998 Oct 12)- Minor changes in the code- Standarddistribution with +GUI optionVersion 5.1 (1998 Apr 21)-Syntax and DECC changes in the code- Fixing problems with the /doc subdirectory- Improve OS_VMS.MMSVersion 4.5 (1996 Dec 16)- FirstVMS port by Henk Elbers <henk@xs4all.nl>==============================================================================10. Authorsvms-authorsOpenVMS documentation and executables are maintained by:Zoltan Arpadffy <zoltan.arpadffy@gmail.com>OpenVMS Vim page:http://www.polarhome.com/vim/This document uses parts and remarks from earlier authors and contributorsof OS_VMS.TXT:Charles E. Campbell, Jr. <cec@gryphon.gsfc.nasa.gov>Bruce Hunsaker <BNHunsaker@chq.byu.edu>Sandor Kopanyi <sandor.kopanyi@mailbox.hu> vim:tw=78:ts=8:noet:ft=help:norl: