Mercurial > vim
annotate runtime/doc/os_msdos.txt @ 4546:c10cff3ab921
Added tag v7-3-1020 for changeset f7944ce459ac
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sat, 25 May 2013 23:15:27 +0200 |
parents | 073ff46fe397 |
children | 6ec6b7ff2d43 |
rev | line source |
---|---|
2572
ee53a39d5896
Last changes for the 7.3 release!
Bram Moolenaar <bram@vim.org>
parents:
2561
diff
changeset
|
1 *os_msdos.txt* For Vim version 7.3. Last change: 2005 Mar 29 |
7 | 2 |
3 | |
4 VIM REFERENCE MANUAL by Bram Moolenaar | |
5 | |
6 | |
7 *msdos* *ms-dos* *MSDOS* *MS-DOS* | |
8 This file contains the particularities for the MS-DOS version of Vim. | |
9 | |
10 1. Two versions for MS-DOS |msdos-versions| | |
11 2. Known problems |msdos-problems| | |
12 3. Long file names |msdos-longfname| | |
13 4. Termcap codes |msdos-termcap| | |
14 5. Shifted arrow keys |msdos-arrows| | |
15 6. Filename extensions |msdos-fname-extensions| | |
16 7. Memory usage and limitations |msdos-limitations| | |
17 8. Symbolically linked files |msdos-linked-files| | |
18 9. Copy/paste in a dos box |msdos-copy-paste| | |
19 | |
20 Additionally, there are a number of common Win32 and DOS items: | |
21 File locations |dos-locations| | |
22 Using backslashes |dos-backslash| | |
23 Standard mappings |dos-standard-mappings| | |
24 Screen output and colors |dos-colors| | |
25 File formats |dos-file-formats| | |
26 :cd command |dos-:cd| | |
27 Interrupting |dos-CTRL-Break| | |
28 Temp files |dos-temp-files| | |
29 Shell option default |dos-shell| | |
30 | |
31 For compiling Vim see src/INSTALL.pc. *msdos-compiling* | |
32 | |
33 ============================================================================== | |
34 1. Two versions for MS-DOS *msdos-versions* | |
35 | |
36 There are two versions of Vim that can be used with MS-DOS machines: | |
37 | |
38 *dos16* | |
39 Dos16 version Can be used on any MS-DOS system, only uses up to 640 Kbyte of | |
40 memory. Also runs on OS/2, Windows 95, and NT. Excludes some | |
41 Vim-specific features (autocommands, syntax highlighting, | |
42 etc.). Recommended for use on pre-386 machines. | |
43 *dos32* | |
44 Dos32 version Requires 386 processor and a |DPMI| driver, uses all | |
45 available memory. Supports long file names and the Windows | |
46 clipboard, but NOT on Windows NT. Recommended for MS-DOS, | |
47 Windows 3.1 and Windows 95. | |
48 | |
49 There are also two versions that run under Windows: | |
50 Win32 version Requires Windows 95 or Windows NT, uses all available | |
51 memory, supports long file names, etc. Has some problems on | |
52 Windows 95. Recommended for Windows NT. See |os_win32.txt| | |
53 Win32 GUI Requirements like the Win32 version, but runs in its own | |
54 window, instead of a console. Has scrollbars, menu, etc. | |
55 Recommended for Windows 95 and Windows NT. See |gui-w32|. | |
56 | |
57 It is recommended to use the Dos32 or Win32 version. Although the Dos16 | |
58 version is able to edit very big files, it quickly runs out of memory when | |
59 making big changes. Disabling undo helps: ":set ul=-1". The screen updating | |
60 of the Dos16 version is the fastest of the three on DOS or Windows 95; on | |
61 Windows NT, the Win32 version is just as fast. | |
62 | |
63 *DPMI* | |
64 For the Dos32 version, you may need a DPMI driver when running in MS-DOS. If | |
65 you are running Windows or installed a clever memory manager, it will probably | |
66 work already. If you get the message "No DPMI", you need to install a DPMI | |
67 driver. Such a driver is included with the executable in CSDPMI4B.ZIP. Run | |
68 "cwsdpmi" just before starting Vim each time. Or you might want to include | |
69 "cwsdpmi -p" in your autoexec.bat to make it resident. The latest version of | |
70 "CSDPMI*.ZIP" can be obtained from: "ftp.neosoft.com:pub/users/s/sandmann". | |
71 | |
72 *minimal-features* | |
73 The 16 bit DOS version has been compiled with minimal features. Check the | |
74 |+feature-list| which ones are included (marked with a "T"). | |
75 You can include more features by editing feature.h and recompiling. | |
76 | |
77 ============================================================================== | |
78 2. Known problems *msdos-problems* | |
79 | |
80 When using smartdrive (MS-DOS 6.x) with write-behind caching, it is possible | |
81 that Vim will try to create a swap file on a read-only file system (e.g. | |
82 write protected floppy). You will then be given the message > | |
83 A serious disk error has occurred .., Retry (r)? | |
84 There is nothing you can do but unprotect the floppy or switch off the | |
85 computer. Even CTRL-ALT-DEL will not get you out of this. This is really a | |
86 problem of smartdrive, not Vim. Smartdrive works fine otherwise. If this | |
87 bothers you, don't use the write-behind caching. | |
88 | |
89 Vim can't read swap files that have been opened already, unless the "share" | |
90 command has been used. If you see stray warnings for existing swap files, | |
91 include the "share" command in your config.sys or autoexec.bat (see your MSDOS | |
92 documentation). | |
93 | |
94 The Dos16 version can only have about 10 files open (in a window or hidden) at | |
95 one time. With more files you will get error messages when trying to read or | |
96 write a file, and for filter commands. Or Vim runs out of memory, and random | |
97 problems may result. | |
98 | |
99 The Dos32 version cannot have an unlimited number of files open at any one | |
236 | 100 time. The limit depends on the setting of FILES in your CONFIG.SYS. This |
7 | 101 defaults to 15; if you need to edit a lot of files, you should increase this. |
102 If you do not set FILES high enough, you can get strange errors, and shell | |
103 commands may cause a crash! | |
104 | |
105 The Dos32 version can work with long file names. When doing file name | |
106 completion, matches for the short file name will also be found. But this will | |
107 result in the corresponding long file name. For example, if you have the long | |
108 file name "this_is_a_test" with the short file name "this_i~1", the command | |
109 ":e *1" will start editing "this_is_a_test". | |
110 | |
111 When using the Dos32 version and you run into problems with DPMI support, | |
112 check if there is a program in your config.sys that eats resources. One | |
113 program known to cause this problem is "netx", which says "NetWare v. 3.26 | |
114 Workstation shell". Replace it with version 3.32 to fix the problem. | |
115 | |
116 The Dos32 version will parse its arguments to handle quotation. This is good | |
117 to edit a file with spaces in its name, for example: > | |
118 vim "program files\accessories\ppp.scp" | |
119 A side effect is that single quotes are removed. Insert a backslash to avoid | |
120 that. For example, to edit the file "fi'le.txt": > | |
121 vim fi\'le.txt | |
122 | |
123 ============================================================================== | |
124 3. Long file names *msdos-longfname* | |
125 | |
126 If the Dos32 version is run on Windows 95, it can use long file names. It | |
127 will work by default. If you want to disable this, use this setting: | |
128 set LFN=N | |
129 You can put this in your autoexec.bat file. | |
130 | |
131 Note: If you have installed DJGPP on your machine, you probably have a | |
132 "djgpp.env" file, which contains "LFN=n". You need to use "LFN=Y" to switch | |
133 on using long file names then. | |
134 | |
135 ============================================================================== | |
136 4. Termcap codes *msdos-termcap* | |
137 | |
138 If you want to use another output method (e.g., when using a terminal on a COM | |
139 port), set the terminal name to "pcansi". You can change the termcap options | |
140 when needed (see |terminal-options|). Note that the | |
141 normal IBM ansi.sys does not support all the codes of the builtin pcansi | |
142 terminal. If you use ansi.sys, you will need to delete the termcap entries | |
143 t_al and t_dl with > | |
144 :set t_al= t_dl= | |
145 Otherwise, the screen will not be updated correctly. It is better to use | |
146 nansi.sys, nnansi.sys, or the like instead of ansi.sys. | |
147 | |
148 If you want to use Vim on a terminal connected to a COM: port, reset the | |
149 'bioskey' option. Otherwise the commands will be read from the PC keyboard. | |
150 CTRL-C and CTRL-P may not work correctly with 'bioskey' reset. | |
151 | |
152 ============================================================================== | |
153 5. Shifted arrow keys *msdos-arrows* | |
154 | |
155 Use CTRL-arrow-left and CTRL-arrow-right instead of SHIFT-arrow-left and | |
156 SHIFT-arrow-right. The arrow-up and arrow-down cannot be used with SHIFT or | |
157 CTRL. | |
158 | |
159 ============================================================================== | |
160 6. Filename extensions *msdos-fname-extensions* | |
161 | |
162 MS-DOS allows for only one file name extension. Therefore, when appending an | |
163 extension, the '.' in the original file name is replaced with a '_', the name | |
164 is truncated to 8 characters, and the new extension (e.g., ".swp") is | |
165 appended. Two examples: "test.c" becomes "test_c.bak", "thisisat.est" | |
166 becomes "thisisat.bak". To reduce these problems, the default for | |
167 'backupext' is "~" instead of ".bak". The backup file for "thisisat.est" | |
168 then becomes "thisisat.es~". The 'shortname' option is not available, | |
169 because it would always be set. | |
170 | |
171 ============================================================================== | |
172 7. Memory usage and limitations *msdos-limitations* | |
173 | |
174 A swap file is used to store most of the text. You should be able to edit | |
175 very large files. However, memory is used for undo and other things. If you | |
176 delete a lot of text, you can still run out of memory in the Dos16 version. | |
177 | |
178 If Vim gives an "Out of memory" warning, you should stop editing. The result | |
179 of further editing actions is unpredictable. Setting 'undolevels' to 0 saves | |
180 some memory. Running the maze macros on a big maze is guaranteed to run out | |
181 of memory, because each change is remembered for undo. In this case set | |
182 'undolevels' to a negative number. This will switch off undo completely. | |
183 | |
184 *msdos-clipboard-limits* | |
185 In the Dos32 version, extended memory is used to avoid these problems. | |
186 However, if you are using the clipboard, you can still run into memory | |
187 limitations because the Windows clipboard can only communicate with Vim using | |
188 Dos memory. This means that the largest amount of text that can be sent to | |
189 or received from the Windows clipboard is limited by how much free Dos memory | |
190 is available on your system. | |
191 | |
192 You can usually maximize the amount of available Dos memory by adding the | |
193 following lines to Dos's "config.sys" file: > | |
194 | |
195 DOS=HIGH,UMB | |
196 DEVICE=C:\WINDOWS\himem.sys | |
197 DEVICE=C:\WINDOWS\emm386.exe RAM | |
198 | |
199 Modifying config.sys in this way will also help to make more memory available | |
200 for the Dos16 version, if you are using that. | |
201 | |
202 In the Dos16 version the line length is limited to about 32000 characters. | |
203 When reading a file the lines are automatically split. But editing a line | |
204 in such a way that it becomes too long may give unexpected results. | |
205 | |
206 ============================================================================== | |
207 8. Symbolically linked files *msdos-linked-files* | |
208 | |
209 When using Vim to edit a symbolically linked file on a unix NFS file server, | |
22 | 210 you may run into problems. When writing the file, Vim does not "write |
211 through" the symlink. Instead, it deletes the symbolic link and creates a new | |
212 file in its place. | |
213 | |
214 On Unix, Vim is prepared for links (symbolic or hard). A backup copy of the | |
215 original file is made and then the original file is overwritten. This assures | |
216 that all properties of the file remain the same. On non-Unix systems, the | |
217 original file is renamed and a new file is written. Only the protection bits | |
218 are set like the original file. However, this doesn't work properly when | |
7 | 219 working on an NFS-mounted file system where links and other things exist. The |
220 only way to fix this in the current version is not making a backup file, by | |
221 ":set nobackup nowritebackup" |'writebackup'| | |
222 | |
22 | 223 A similar problem occurs when mounting a Unix filesystem through Samba or a |
224 similar system. When Vim creates a new file it will get the default user ID | |
225 for the mounted file system. This may be different from the original user ID. | |
226 To avoid this set the 'backupcopy' option to "yes". | |
227 | |
7 | 228 ============================================================================== |
229 9. Copy/paste in a dos box *msdos-copy-paste* | |
230 | |
231 *E450* *E451* *E452* *E453* *E454* | |
232 The 32 bit version can copy/paste from/to the Windows clipboard directly. Use | |
233 the "* register. Large amounts of text can be copied this way, but it must be | |
234 possible to allocate memory for it, see |msdos-clipboard-limits|. When moving | |
235 text from one Vim to another, the type of the selection | |
236 (characterwise/linewise/blockwise) is passed on. | |
237 | |
238 In other versions, the following can be used. | |
239 | |
240 (posted to comp.editors by John Velman <velman@igate1.hac.com>) | |
241 | |
242 How to copy/paste text from/to vim in a dos box: | |
243 | |
236 | 244 1) To get VIM to run in a window, instead of full screen, press alt+enter. |
7 | 245 This toggles back and forth between full screen and a dos window. |
246 NOTE: In Windows 95 you must have the property "Fast Pasting" unchecked! | |
247 In the properties dialog box for the MS-DOS window, go to "MS-DOS | |
248 Prompt/Misc/Fast pasting" and make sure that it is NOT checked. | |
249 To make this permanent, change the properties for | |
250 "\windows\system\conagent.exe" (from Philip Nelson, unverified). | |
251 | |
252 2) To paste something _into_ Vim, put Vim in insert mode. | |
253 | |
236 | 254 3) Put the text you want to paste on the windows clipboard. |
7 | 255 |
236 | 256 4) Click the control box in the upper left of the Vim window. (This looks |
257 like a big minus sign.) If you don't want to use the mouse, you can get | |
7 | 258 this with alt+spacebar. |
236 | 259 5) On the resulting dropdown menu choose "Edit". |
260 6) On the child dropdown menu choose "Paste". | |
7 | 261 |
262 To copy something from the Vim window to the clipboard, | |
263 | |
236 | 264 1) Select the control box to get the control drop down menu. |
265 2) Select "Edit". | |
266 3) Select "Mark". | |
267 4) Using either the keys or the mouse, select the part of the Vim window that | |
268 you want to copy. To use the keys, use the arrow keys, and hold down shift | |
7 | 269 to extend the selection. |
236 | 270 5) When you've completed your selection, press 'enter'. The selection |
271 is now in the windows clipboard. By the way, this can be any | |
272 rectangular selection, for example columns 4-25 in rows 7-10. It can | |
7 | 273 include anything in the VIM window: the output of a :!dir, for |
274 example. | |
275 | |
276 vim:tw=78:ts=8:ft=help:norl: |