1 *os_os2.txt* For Vim version 5.8. Last change: 1999 Sep 14
4 VIM REFERENCE MANUAL by Paul Slootman
8 This file contains the particularities for the OS/2 version of Vim.
10 At present there is no native PM version of the GUI version of vim: The OS/2
11 version is a console application. However, there is now a Win32s-compatible
12 GUI version, which should be usable by owners of Warp 4 (which supports
13 Win32s) in a Win-OS/2 session. The notes in this file refer to the native
19 This OS/2 port works well for me and a couple of other OS/2 users; however,
20 since I haven't had much feedback, that either means no (OS/2-specific) bugs
21 exist (besides the ones mentioned below), or no one has yet created a
22 situation in which any bugs are apparent. File I/O in Dos and Unix mode,
23 binary mode, and FAT handling all seem to work well, which would seem to be
24 the most likely places for trouble.
26 A known problem is that files opened by Vim are inherited by other programs
27 that are started via a shell escape from within Vim. This specifically means
28 that Vim won't be able to remove the swap file(s) associated with buffers open
29 at the time the other program was started, until the other program is stopped.
30 At that time, the swap file may be removed, but if Vim could not do that the
31 first time, it won't be removed at all. You'll get warnings that some other
32 Vim session may be editing the file when you start Vim up again on that file.
33 This can be reproduced with ":!start epm". Now quit Vim, and start Vim again
34 with the file that was in the buffer at the time epm was started. I'm working
37 A second problem is that Vim doesn't understand the situation when using it
38 when accessing the OS/2 system via the network, e.g. using telnet from a Unix
39 system, and then starting Vim. The problem seems to be that OS/2 =sometimes=
40 recognizes function / cursor keys, and tries to convert those to the
41 corresponding OS/2 codes generated by the "normal" PC keyboard. I've been
42 testing a workaround (mapping the OS/2 codes to the correct functions), but so
43 far I can't say anything conclusive (this is on Warp 3, by the way). In the
44 meantime any help will be appreciated.
49 To run Vim, you need the emx runtime environment (at least rev. 0.9b). This
50 is generally available as (ask Archie about it):
52 emxrt.zip emx runtime package
54 I've included a copy of emx.dll, which should be copied to one of the
55 directories listed in your LIBPATH. Emx is GPL'ed, but the emx.dll library is
56 not (read COPYING.EMX to find out what that means to you).
58 This emx.dll is from the emxfix04.zip package, which unfortunately has a bug,
59 eh, I mean a POSIX feature, in select(). Versions of Vim before 3.27 will
60 appear to hang when starting (actually, while processing vimrc). Hit return a
61 couple of times until Vim starts working if this happens. Next, get an up to
67 If you unpack the archive that Vim came in and run Vim directly from where it
68 was unpacked, Vim should be able to find the runtime files and your .vimrc
71 If you put the runtime files separately from the binary, the VIM environment
72 variable is used to find the location of the help files and the system .vimrc.
73 Place an entry such as this in CONFIG.SYS:
75 > SET VIM=c:/local/lib/vim
77 Put your .vimrc and your other Vim files in this directory. Copy the runtime
78 directory to this directory. Each version of Vim has its own runtime
79 directory. It will be called something like "c:/local/lib/vim/vim54". Thus
80 you get a tree of Vim files like this:
81 c:/local/lib/vim/.vimrc
82 c:/local/lib/vim/vim54/filetype.vim
83 c:/local/lib/vim/vim54/doc/help.txt
86 Note: .vimrc may also be called _vimrc to accommodate those who have chosen to
87 install OS/2 on a FAT file system. Vim first tries to find .vimrc and if that
88 fails, looks for _vimrc in the same place. The existence of a .vimrc or
89 _vimrc file influences the 'compatible' options, which can have unexpected side
90 effects. See |'compatible'|.
92 If you're using network drives with OS/2, then you can install Vim on a
93 network drive (including .vimrc; this is then called the "system" vimrc file),
94 and then use a personal copy of .vimrc (the "user" vimrc file). This should be
95 located in a directory indicated by the HOME environment variable.
98 ENVIRONMENT VARIABLES IN FILE NAMES
100 This HOME environment variable is also used when using ~ in file names, so
101 ":e ~/textfile" will edit the file "textfile" in the directory referred to by
102 HOME. Additionally you can use other environment variables in file names, as
105 The HOME environment variable is also used to locate the .viminfo file
106 (see |viminfo-file|). There is no support yet for .viminfo on FAT file
107 systems yet, sorry. You could try the -i startup flag (as in "vim -i
108 $HOME/_viminfo") however.
110 If the HOME environment variable is not set, the value "C:/" is used as a
116 Using slashes ('/') and backslashes ('\') can be a bit of a problem (see
117 |dos-backslash| for more explanation), but in almost all cases Vim does "The
118 Right Thing". Vim itself uses backslashes in file names, but will happily
119 accept forward slashes if they are entered (in fact, sometimes that works
125 Temporary files (for filtering) are put in the first directory in the next
126 list that exists and where a file can be created:
137 Use "os2ansi" as the TERM environment variable (or don't set it at all, as the
138 default is the correct value). You can set term to os2ansi in the .vimrc, in
139 case you need TERM to be a different value for other applications. The
140 problem is that OS/2 ANSI emulation is quite limited (it doesn't have insert /
141 delete line, for example).
143 If you want to use a different value for TERM (because of other programs, for
144 example), make sure that the termcap entry for that TERM value has the
145 appropriate key mappings. The termcap.dat distributed with emx does not always
146 have them. Here are some suitable values to add to the termcap entry of your
147 choice; these allow the cursor keys and the named function keys (such as
150 :ku=\316H:kd=\316P:kl=\316K:kr=\316M:%i=\316t:#4=\316s:\
151 :kD=\316S:kI=\316R:kN=\316Q:kP=\316I:kh=\316G:@7=\316O:\
152 :k1=\316;:k2=\316<:k3=\316=:k4=\316>:k5=\316?:k6=\316@:\
153 :k7=\316A:k8=\316B:k9=\316C:k;=\316D:
161 A suggestion from Steven Tryon, on how to run Vim in a bigger window:
163 When I call Vim from an OS/2 WPS application such as PMMail it comes up
164 in the default 25-line mode. To get a more useful window size I make
165 my external editor "vimbig.cmd" which in turn calls "vimbig2.cmd".
166 Brute force and awkwardness, perhaps, but it works.
170 > start "Vi Improved" /f vimbig2.cmd %1 %2 %3 %4
175 > vim.exe %1 %2 %3 %4