|Official VIM Home Page||http://www.vim.org|
|Official VIM Documentation Page||http://vimdoc.sourceforge.net|
|Vi Lovers Home Page||http://www.thomer.com/thomer/vi/vi.html|
|Information about the VMS operating system||http://www.polarhome.com/vms/|
|Online Vim ref. manual v9.0 in HTML||http://www.polarhome.com/vim/manual/v90|
|Online Vim user manual v9.0 in HTML||http://www.polarhome.com/vim/manual/v90|
|Online OpenVMS users manual v9.0||http://www.polarhome.com/vim/manual/v90|
|Developer releases, new sources||http://www.polarhome.com/vim|
|Older releases, helps, sources||http://www.polarhome.com/vim/old.html|
|Older manuals, documentation and user guides||http://www.polarhome.com/vim/manual|
|CTAGS development on VMS, sources||http://www.polarhome.com/ctags|
|Online http Vim on VMS file archive||http://www.polarhome.com/vim/files|
|Online ftp Vim on VMS file archive||ftp://ftp.polarhome.com/pub/vim|
:version VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Nov 28 2023 12:07:57) OpenVMS version - x86_64 Included patches: 1-2134 Modified by Zoltan Arpadffy http://polarhome.com/vim/ Compiled by SYSTEM@X86VMS::X86VMS.POLARHOME.COM Huge version with X11-Motif GUI. Features included (+) or not (-): +acl +file_in_path +mouse_xterm -tcl +arabic +find_in_path +multi_byte +termguicolors +autocmd +float +multi_lang -terminal +autochdir +folding -mzscheme +termresponse -autoservername -footer -netbeans_intg +textobjects +balloon_eval -gettext +num64 +textprop +balloon_eval_term -hangul_input +packages +tgetent +browse -iconv +path_extra +timers ++builtin_terms +insert_expand -perl +title +byte_offset +ipv6 +persistent_undo -toolbar -channel -job +popupwin +user_commands +cindent +jumplist +postscript +vartabs +clientserver +keymap +printer +vertsplit +clipboard +lambda +profile +vim9script +cmdline_compl +langmap -python +viminfo +cmdline_hist -libcall -python3 +virtualedit +cmdline_info +linebreak +quickfix +visual +comments +lispindent +reltime +visualextra +conceal +listcmds +rightleft +vreplace +cryptv +localmap -ruby +wildignore -cscope -lua +scrollbind +wildmenu +cursorbind +menu +signs +windows +cursorshape +mksession +smartindent -writebackup +dialog_con_gui +modify_fname -sodium +X11 +diff +mouse -sound -xattr +digraphs +mouseshape +spell +xfontset -dnd +mouse_dec +startuptime -xim -ebcdic -mouse_gpm +statusline -xpm +emacs_tags -mouse_jsbterm -sun_workshop -xsmp +eval +mouse_netterm +syntax +xterm_clipboard +ex_extra +mouse_sgr +tag_binary -xterm_save +extra_search -mouse_sysmouse -tag_old_static -farsi +mouse_urxvt -tag_any_white system vimrc file: "$VIM/vimrc" user vimrc file: "sys$login:.vimrc" 2nd user vimrc file: "sys$login:vimfiles/vimrc" 3rd user vimrc file: "sys$login:_vimrc" user exrc file: "sys$login:.exrc" 2nd user exrc file: "sys$login:_exrc" system gvimrc file: "$VIM/gvimrc" user gvimrc file: "sys$login:.gvimrc" 2nd user gvimrc file: "sys$login:vimfiles/gvimrc" 3rd user gvimrc file: "sys$login:_gvimrc" defaults file: "$VIMRUNTIME/defaults.vim" system menu file: "$VIMRUNTIME/menu.vim" Compilation: cc/def=(FEAT_HUGE,HAVE_CONFIG_H,FEAT_GUI_MOTIF ,__CRTL_VER_OVERRIDE=80400000) /opt/prefix=all/name=(upper,short)/WARNINGS=(DISABLE=MACROREDEF) /include=([.proto],decw$include: ,[.xdiff]) Compiler: VSI C x86-64 X7.4-843 (GEM 50XB9) on OpenVMS x86_64 V9.2-1 Linking: link /exe=vim.exe ALL_OBJS_LIST.OPT/OPT ,OS_VMS_MOTIF.OPT/OPT
- There is no port for GTK2 on OpenVMS and from Vim 7.3 GTK is not supported - it means there are no GTK executables from 7.3.
Full list of VMS related issues can be found in the polarhome's ticketing system:
Please, feel free to open a new ticket/issue, if needed.
For compatibility reasons executables have been built on lowest available OpenVMS version.
Currently 9.2 for X86_64, 8.3 for IA64, v7.3 for AXP and v7.3 for VAX environment.
GTK version for AXP requires at least v7.3-2, for IA64 v8.2 and of course installed LIBGTK (if used with provided LIBGTK).
CTAGS and XXD are compilable with VAXC without modifications. Read more about VAXC related issues in INSTALLvms.txt (comes with the source package)
%MMS-I-IDENT, MMS V4.0-4 ¿ Copyright 2022 VMS Software, Inc and Hewlett-Packard Development Company, L.P.
%MMS-I-IDENT, MMS V3.8-2 ? Copyright 2007 Hewlett-Packard Development Company, L.P. fails to build Vim - use MMK insted
%MMS-I-IDENT, MMS V3.7 © Copyright 2005 Hewlett-Packard Development Company, L.P.
%MMS-I-IDENT, MMS T3.6-4 © 2004 Hewlett-Packard Development Company, L.P.
%MMS-I-IDENT, MMS V3.5 © 2003 Hewlett-Packard Development Company, L.P.
%MMS-I-IDENT, MMS V3.3-4 © Digital Equipment Corporation 1989, 1998. All rights reserved.© Electronic Data Systems Limited 1995, 1998
%MMS-I-IDENT, MMS V3.4-3 © Compaq Computer Corporation 2000. © Electronic Data Systems Limited 1995, 2000
%MMK-I-IDENT, this is the MadGoat Make Utility V3.4-10
-MMK-I-COPYRIGHT, Copyright © 1992-1996, MadGoat Software. All Rights Reserved.
%MMK-I-IDENT, this is the MadGoat Make Utility V3.9-2
-MMK-I-COPYRIGHT, Copyright © 1992-2001, MadGoat Software. All Rights Reserved.
%MMK-I-IDENT, this is the MadGoat Make Utility V3.9-9
-MMK-I-COPYRIGHT, Copyright ? 1992-2004, MadGoat Software. All Rights Reserved.
%MMK-I-IDENT, this is the MMK Make Utility V5.1
-MMK-I-COPYRIGHT, Copyright (c) 2008, Matthew Madison. Copyright (c) 2014, Endless Software Solutions.
Tests: most of the tests passed, but
Test 21 : Failed on 7.2 systems and lower (VAX, Alpha)
Test 32 : Failed on 7.1 systems and lower (VAX, Alpha)
Test 47 : Failed - VMS diff not implemented yet. (have to use Unix like diff, provided in GNU_TOOLS below)
Test 58 : Failed/Hangs - VMS does not support spell files (file names with too many dots).
Test 59 : Failed - VMS does not support spell files (file names with too many dots).
Test 72 : Bug - Vim hangs at :rename (while rename works well otherwise)
Test 78 : Bug - Vim dies at :recover Xtest
Test 89 : Bug - findfile() does not work on VMS (just in the current directory)
Test 97 : Just ODS-5 supports space and special chars in the filename. On ODS-2 tests fail.
Test 102: Same like test97
$ define VIM <full path to VIM directory>
NOTE: actually logical $VIMRUNTIME is used for syntax, help and other runtime resources. If this logical does not exist Vim defines it in the process job table during first run. If user does not have permissions or has quota limitations that pervent creating this logical by Vim executable - system adminstrators should define it globally. $VIMRUNTIME logical should point to runtime resources path - usually where $VIM points.
System menu file should be (actually just in GUI mode): "$VIM:menu.vim" or defined by command source <path>menu.vim in .gvimrc
Exemple part of LOGIN.COM vim related lines:
$ define VIM RF10:[UTIL.VIM90] ! vim main directory. $ vi*m :== mcr VIM:VIM.EXE ! vi starts vim in chr. mode. $ gv*im :== spawn/nowait mcr VIM:GVIM.EXE -g ! gvi starts vim in GUI mode (NOTE: rename VIM.EXE to GVIM.EXE!) $ set terminal/inquire/insert ! (optional) ensure right terminal detection $ def VIMRUNTIME RF10:[UTIL.VIM90] ! (optional) full path to runtime environment if different than VIM
You can find more information about setting up the the environment in os_vms.txt ... command :help vms from Vim
How does it look like now? Check some screen shots
Live demonstration at gate.polarhome.com port 702 (username: guest password: guest) (VAX system console and Motif)
Live demonstration at gate.polarhome.com port 762 (username: guest password: guest) (Alpha system console, Motif and GTK)
Live demonstration at gate.polarhome.com port 982 (username: guest password: guest) (Itanium system console, Motif and GTK)
...or from IPv6 network by vax.polarhome.com and alpha.polarhome.com and ia64.polarhome.com
If you are VIM (or any open source project) developer on OpenVMS without develpment environment, please apply for account at root(at)polarhome.com. Please, note that "simple" polarhome accounts does not have enough high quota for advanced development.
|Executables only packages|
|vim-90-exe-x86-gui.zip(X86_64)||GUI/Motif binaries without documentation and runtime files - X86_64|
|vim-90-exe-x86-term.zip(X86_64)||Console binaries without documentation and runtime files - X86_64|
|vim-90-exe-ia64-gui.zip(IA64)||GUI/Motif binaries without documentation and runtime files - IA64|
|vim-90-exe-ia64-term.zip(IA64)||Console binaries without documentation and runtime files - IA64|
|vim-90-exe-axp-gui.zip(AXP)||GUI/Motif binaries without documentation and runtime files - AXP|
|vim-90-exe-axp-term.zip(AXP)||Console binaries without documentation and runtime files - AXP|
|vim-90-exe-vax-gui.zip(VAX)||GUI/Motif binaries without documentation and runtime files - VAX|
|vim-90-exe-vax-term.zip(VAX)||Console binaries without documentation and runtime files - VAX|
|Deployment ready packages|
|vim-90-x86.zip (X86_64)||GUI/Motif and Console binaries with documentation, runtime files, CTAGS and XXD - X86_64|
|vim-90-ia64.zip (IA64)||GUI/Motif and Console binaries with documentation, runtime files, CTAGS and XXD - IA64|
|vim-90-axp.zip (AXP)||GUI/Motif and Console binaries with documentation, runtime files, CTAGS and XXD - AXP|
|vim-90-vax.zip (VAX)||GUI/Motif and Console binaries with documentation, runtime files, CTAGS and XXD - VAX|
|vim-90-runtime.zip||Patched Vim 9.0 - runtime files, updated to recent patch - without executables|
|Source code and other packages|
|vim-90-src-vms.zip||Source code used for compiling current version under OpenVMS|
|vim90html.zip||Compressed Vim 9.0 manual in HTML - read online|
|GNU tools (Alpha and VAX)||GNU programs (diff, patch, make, gzip, tar, sed, gawk etc.) that Vim uses or because of Unix compatibility behave better with Vim than OpenVMS versions (optional)|
|LIBGTK(AXP)||Runtime GTK library for AXP - needed to run Vim with GTK GUI - OpenVMS 7.2-2 or above
|LIBGTK (IA64)||Runtime GTK library for IA64- needed to run Vim with GTK GUI - OpenVMS 8.2 or above|
|unzip.exe(VAX)||unzip utility for VAX
|unzip.exe (AXP)||unzip utility for AXP
|unzip.exe (IA64)||unzip utility for IA64
|unzip.exe (X86_64)||unzip utility for X86_64
|mmk_vax.exe||MMK, free make utility for VAX
|mmk_alpha.exe||MMK, free make utility for AXP
|mmk_ia64.exe||MMK, free make utility for IA64
|mmk_x86.exe||MMK, free make utility for X86_64
|cvs_alpha.exe||ConcurrentVersions System (CVS) is a tool for version control
(more information at http://www.cyclic.com )
Here is the list of Vim enthusiasts
who contributed in development, testing, bug rapport, suggestions,
fixes, solutions and documentation for OpenVMS version so far.
|Charles E. Campbell, Jr||<cec(at)gryphon.gsfc.nasa.gov>|
|Stephen P. Wall||<hitched97(at)velnet.com>|
|John W. Hamill||<jhamill3(at)ford.com>|
|Coen Engelbarts||e-mail not shown|
Vim on VMS archive: http://www.polarhome.com/vim/files or ftp://ftp.polarhome.com/pub/vim/
HOWTO build on VMS: INSTALLvms.txt
Recent Vim source code:http://vim.sourceforge.net/cvsdocs/ - CVS is DEPRECATED by the Vim development team
Recent Vim source code:https://github.com/vim/vim - Github
(downloadable compressed packages) - CVS mirror is DEPRECATED by Vim development team
Recent Vim source code:http://www.polarhome.com/svn (downloadable compressed packages) - Subversion mirror is DEPRECATED by Vim development team
Recent Vim source code:http://www.polarhome.com/hg (downloadable compressed packages) - Mercurial mirror.
Recent Vim source code:http://www.polarhome.com/git (downloadable compressed packages) - Git mirror - PREFERED by the Vim deveopment team
Last patch changes : README
Official Changes (from OpenVMS point of view)
Version 9.0 (2023 Nov 27)
- Vim is ported to the X86_64 architecture
- IMPORTANT: because of the getline function name used in stucts like in ex_cmds.h
on X86_64 the CRTL_VER is kept under 80500000 level. The proper solution would be
to rename the getline function to something else in the struct (and in all places
it is used) - and avoiding to use POSIX functions in structs, but this change would
impact on all other operating systems. (added the the VMS 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 define
Version 8.2 (2020 Feb 6)
- make all changes needed for clean compile build of v8.2 on VMS on all platforms
- fix the call mkdir bug (email@example.com)
- test on VSI OpenVMS Alpha and Itanium platforms
- added LUA support
- added XPM support - Motif GUI with toolbar on all platforms
- XPM v3.4.11 libraries for IA64, AXP and VAX are added
- start integrating the new test scripts
Version 8.1 (2019 Jan 9)
- make necessary changes to build v8.1 on VMS
- GTK1.2.10 on VAX
Version 8.0 (2016 Nov 21)
- solve the 100% cpu usage issue while waiting for a keystroke
- correct the VMS warnings and erros around handeling the INFINITY (used in json.c)
- minor VMS port related changes
- correct the make_vms.mms file for 8.0
- fix <.testdir>make_vms.mms for 8.0
Version 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 name wildcard handling
- handle iconv usage correctly
- do not optimize on vax - otherwise it hangs compiling crypto files
- fileio.c fix a comment
- correct RealWaitForChar
- after 7.4-119 use different functions 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 included
- dividing with 0 bug fixed
- [TESTDIR]make_vms.mms changed to see the output files
- minor compiler warnings fixed
Version 7.3 (2010 Aug 15)
- CTAGS 5.8 included
- VMS compile warnings fixed
- floating-point overflow warning corrected on VAX
- filepath completition corrected - too many chars were escaped in filename and shell commands
- the following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
bufexplorer 7.1.7, taglist 4.5
- minor changes in vimrc (just in VMS runtime)
- make_vms.mms - HUGE model is the default
- [TESTDIR]make_vms.mms include as many tests possible
- modify test30 and test54 for VMS
- enable FLOAT feature in VMS port
- os_vms.txt updated
Version 7.2 (2008 Aug 14)
- VCF files write corrected
- CTAGS 5.7 included
- corrected make_vms.mms (on VAX gave syntax error)
Version 7.1 (2007 Jun 15)
- create TAGS file from the menu
Version 7 (2006 May 8)
- Improved low level char input (affects just console mode)
- Fixed plugin bug
- CTAGS 5.6 included
Version 6.4 (2005 Oct 15)
- GTKLIB and Vim build on IA64
- colors in terminal mode
- syntax highlighting in terminal mode
- write problem fixed (extra CR)
- ESC and ESC sequence recognition in terminal mode
- make file changed to support new MMS version
- env variable expansion in path corrected
- printing problems corrected
- help text added for case insensitive arguments
Version 6.3 (2004 May 10)
- Improved vms_read function
- CTAGS v5.5.4 included
- Documentation corrected and updated
Version 6.2 (2003 May 7)
- Corrected VMS system call results
- Low level character input is rewritten
- Correction in tag and quickfix handling
- First GTK build
- Make file changes
- GTK feature added
- Define for OLD_VMS OpenVMS version 6.2 or older
- Documentation updated with GTK features
- CTAGS v5.5 included
- VMS VIM tutor created
Version 6.1 (2002 Mar 25)
- TCL init_tcl() problem fixed
- CTAGS v5.4 included
- GNU tools binaries for OpenVMS
- Make file changes
- PERL, PYTHON and TCL support improved
- InstallVMS.txt has a detailed description HOWTO build
- VMS/Unix file handling rewritten
- Minor casting and bug fixes
Version 6.0(2001 Sep 28)
- Unix and VMS code has been merged
- separated "really" VMS related code
- included all possible Unix 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 expandpath functions 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
- changed quickfix parameters:
- errormessage format to suite DECC
- search, make and other commands to suite VMS system
- updated and renamed MMS make files for Vim and CTAGS.
- CTAGS has been removed from source distribution of Vim but it 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 earlier.
Version 5.7 (2000 Jun 24)
- New CTAGS v5.0 in distribution
- Documentation updated
Version 5.6 (2000 Jan 17)
- VMS filename related changes:
- version handling (open everything, save to new version)
- correct file extension matching for syntax (version problem)
- handle <,> characters and passwords in directory definition
- handle internode/remote invocation and editing with passwords
- OpenVMS files will be treated case insensitive from now
- corrected response of expand("%:.") etc path related functions (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 port is 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 ON is default
- Vim is compilable with +perl, +python and +tcl features.
- improved MMK compatibility
- Created MAKEFILE_VMS.MMS, makefile for testing Vim during development.
- Defined DEC terminal VT320
- compatibility for VT3*0, VT2*0 and VT1*0 - ANSI terminals backwards, but not VT340 and newer with colour capability.
- VT320 is default terminal for OpenVMS
- these new terminals are also fast ttys (default for OpenVMS).
- allowed dec_mouse ttym
- Updated files vimrc and gvimrc with VMS 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 conversion VMS to Unix and v.v.
- Correct response of expand wildcards
- Recovery is working from this version under VMS as well.
- Improved terminal and signal handing.
- Improved OS_VMS.TXT
Version 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
- Standard distribution with +GUI option
Version 5.1 (1998 Apr 21)
- Zoltan Arpadffy takes over the VMS port
- Syntax and DEC C changes in the code
- Fixing problems with the /doc subdirectory
- Improve OS_VMS.MMS
(1996 Dec 16)
- First VMS port by Henk Elbers <firstname.lastname@example.org>
Please, note that old list vim-vms(at)polarfox.com moved to vim-vms(at)polarhome.com to achieve better functionality, spam controll and subscriber privacy.
Please, answer the following questions in order to achieve better optimization of development, prioritization of bugs and executables.
What platform and OpenVMS version do you use?
In what mode do you use Vim on OpenVMS?
Last Modified: Tue, Nov 28, 2023.
Zoltan Arpadffy (zoltan.arpadffy(at)gmail.com)
Vote for polarhome