diff options
Diffstat (limited to 'runtime/doc/os_msdos.txt')
-rw-r--r-- | runtime/doc/os_msdos.txt | 270 |
1 files changed, 270 insertions, 0 deletions
diff --git a/runtime/doc/os_msdos.txt b/runtime/doc/os_msdos.txt new file mode 100644 index 000000000..01290e9ff --- /dev/null +++ b/runtime/doc/os_msdos.txt @@ -0,0 +1,270 @@ +*os_msdos.txt* For Vim version 7.0aa. Last change: 2001 Sep 03 + + + VIM REFERENCE MANUAL by Bram Moolenaar + + + *msdos* *ms-dos* *MSDOS* *MS-DOS* +This file contains the particularities for the MS-DOS version of Vim. + +1. Two versions for MS-DOS |msdos-versions| +2. Known problems |msdos-problems| +3. Long file names |msdos-longfname| +4. Termcap codes |msdos-termcap| +5. Shifted arrow keys |msdos-arrows| +6. Filename extensions |msdos-fname-extensions| +7. Memory usage and limitations |msdos-limitations| +8. Symbolically linked files |msdos-linked-files| +9. Copy/paste in a dos box |msdos-copy-paste| + +Additionally, there are a number of common Win32 and DOS items: +File locations |dos-locations| +Using backslashes |dos-backslash| +Standard mappings |dos-standard-mappings| +Screen output and colors |dos-colors| +File formats |dos-file-formats| +:cd command |dos-:cd| +Interrupting |dos-CTRL-Break| +Temp files |dos-temp-files| +Shell option default |dos-shell| + +For compiling Vim see src/INSTALL.pc. *msdos-compiling* + +============================================================================== +1. Two versions for MS-DOS *msdos-versions* + +There are two versions of Vim that can be used with MS-DOS machines: + + *dos16* +Dos16 version Can be used on any MS-DOS system, only uses up to 640 Kbyte of + memory. Also runs on OS/2, Windows 95, and NT. Excludes some + Vim-specific features (autocommands, syntax highlighting, + etc.). Recommended for use on pre-386 machines. + *dos32* +Dos32 version Requires 386 processor and a |DPMI| driver, uses all + available memory. Supports long file names and the Windows + clipboard, but NOT on Windows NT. Recommended for MS-DOS, + Windows 3.1 and Windows 95. + +There are also two versions that run under Windows: +Win32 version Requires Windows 95 or Windows NT, uses all available + memory, supports long file names, etc. Has some problems on + Windows 95. Recommended for Windows NT. See |os_win32.txt| +Win32 GUI Requirements like the Win32 version, but runs in its own + window, instead of a console. Has scrollbars, menu, etc. + Recommended for Windows 95 and Windows NT. See |gui-w32|. + +It is recommended to use the Dos32 or Win32 version. Although the Dos16 +version is able to edit very big files, it quickly runs out of memory when +making big changes. Disabling undo helps: ":set ul=-1". The screen updating +of the Dos16 version is the fastest of the three on DOS or Windows 95; on +Windows NT, the Win32 version is just as fast. + + *DPMI* +For the Dos32 version, you may need a DPMI driver when running in MS-DOS. If +you are running Windows or installed a clever memory manager, it will probably +work already. If you get the message "No DPMI", you need to install a DPMI +driver. Such a driver is included with the executable in CSDPMI4B.ZIP. Run +"cwsdpmi" just before starting Vim each time. Or you might want to include +"cwsdpmi -p" in your autoexec.bat to make it resident. The latest version of +"CSDPMI*.ZIP" can be obtained from: "ftp.neosoft.com:pub/users/s/sandmann". + + *minimal-features* +The 16 bit DOS version has been compiled with minimal features. Check the +|+feature-list| which ones are included (marked with a "T"). +You can include more features by editing feature.h and recompiling. + +============================================================================== +2. Known problems *msdos-problems* + +When using smartdrive (MS-DOS 6.x) with write-behind caching, it is possible +that Vim will try to create a swap file on a read-only file system (e.g. +write protected floppy). You will then be given the message > + A serious disk error has occurred .., Retry (r)? +There is nothing you can do but unprotect the floppy or switch off the +computer. Even CTRL-ALT-DEL will not get you out of this. This is really a +problem of smartdrive, not Vim. Smartdrive works fine otherwise. If this +bothers you, don't use the write-behind caching. + +Vim can't read swap files that have been opened already, unless the "share" +command has been used. If you see stray warnings for existing swap files, +include the "share" command in your config.sys or autoexec.bat (see your MSDOS +documentation). + +The Dos16 version can only have about 10 files open (in a window or hidden) at +one time. With more files you will get error messages when trying to read or +write a file, and for filter commands. Or Vim runs out of memory, and random +problems may result. + +The Dos32 version cannot have an unlimited number of files open at any one +time. The limit depends on the setting of FILES in your CONFIG.SYS. This +defaults to 15; if you need to edit a lot of files, you should increase this. +If you do not set FILES high enough, you can get strange errors, and shell +commands may cause a crash! + +The Dos32 version can work with long file names. When doing file name +completion, matches for the short file name will also be found. But this will +result in the corresponding long file name. For example, if you have the long +file name "this_is_a_test" with the short file name "this_i~1", the command +":e *1" will start editing "this_is_a_test". + +When using the Dos32 version and you run into problems with DPMI support, +check if there is a program in your config.sys that eats resources. One +program known to cause this problem is "netx", which says "NetWare v. 3.26 +Workstation shell". Replace it with version 3.32 to fix the problem. + +The Dos32 version will parse its arguments to handle quotation. This is good +to edit a file with spaces in its name, for example: > + vim "program files\accessories\ppp.scp" +A side effect is that single quotes are removed. Insert a backslash to avoid +that. For example, to edit the file "fi'le.txt": > + vim fi\'le.txt + +============================================================================== +3. Long file names *msdos-longfname* + +If the Dos32 version is run on Windows 95, it can use long file names. It +will work by default. If you want to disable this, use this setting: + set LFN=N +You can put this in your autoexec.bat file. + +Note: If you have installed DJGPP on your machine, you probably have a +"djgpp.env" file, which contains "LFN=n". You need to use "LFN=Y" to switch +on using long file names then. + +============================================================================== +4. Termcap codes *msdos-termcap* + +If you want to use another output method (e.g., when using a terminal on a COM +port), set the terminal name to "pcansi". You can change the termcap options +when needed (see |terminal-options|). Note that the +normal IBM ansi.sys does not support all the codes of the builtin pcansi +terminal. If you use ansi.sys, you will need to delete the termcap entries +t_al and t_dl with > + :set t_al= t_dl= +Otherwise, the screen will not be updated correctly. It is better to use +nansi.sys, nnansi.sys, or the like instead of ansi.sys. + +If you want to use Vim on a terminal connected to a COM: port, reset the +'bioskey' option. Otherwise the commands will be read from the PC keyboard. +CTRL-C and CTRL-P may not work correctly with 'bioskey' reset. + +============================================================================== +5. Shifted arrow keys *msdos-arrows* + +Use CTRL-arrow-left and CTRL-arrow-right instead of SHIFT-arrow-left and +SHIFT-arrow-right. The arrow-up and arrow-down cannot be used with SHIFT or +CTRL. + +============================================================================== +6. Filename extensions *msdos-fname-extensions* + +MS-DOS allows for only one file name extension. Therefore, when appending an +extension, the '.' in the original file name is replaced with a '_', the name +is truncated to 8 characters, and the new extension (e.g., ".swp") is +appended. Two examples: "test.c" becomes "test_c.bak", "thisisat.est" +becomes "thisisat.bak". To reduce these problems, the default for +'backupext' is "~" instead of ".bak". The backup file for "thisisat.est" +then becomes "thisisat.es~". The 'shortname' option is not available, +because it would always be set. + +============================================================================== +7. Memory usage and limitations *msdos-limitations* + +A swap file is used to store most of the text. You should be able to edit +very large files. However, memory is used for undo and other things. If you +delete a lot of text, you can still run out of memory in the Dos16 version. + +If Vim gives an "Out of memory" warning, you should stop editing. The result +of further editing actions is unpredictable. Setting 'undolevels' to 0 saves +some memory. Running the maze macros on a big maze is guaranteed to run out +of memory, because each change is remembered for undo. In this case set +'undolevels' to a negative number. This will switch off undo completely. + + *msdos-clipboard-limits* +In the Dos32 version, extended memory is used to avoid these problems. +However, if you are using the clipboard, you can still run into memory +limitations because the Windows clipboard can only communicate with Vim using +Dos memory. This means that the largest amount of text that can be sent to +or received from the Windows clipboard is limited by how much free Dos memory +is available on your system. + +You can usually maximize the amount of available Dos memory by adding the +following lines to Dos's "config.sys" file: > + + DOS=HIGH,UMB + DEVICE=C:\WINDOWS\himem.sys + DEVICE=C:\WINDOWS\emm386.exe RAM + +Modifying config.sys in this way will also help to make more memory available +for the Dos16 version, if you are using that. + +In the Dos16 version the line length is limited to about 32000 characters. +When reading a file the lines are automatically split. But editing a line +in such a way that it becomes too long may give unexpected results. + +============================================================================== +8. Symbolically linked files *msdos-linked-files* + +When using Vim to edit a symbolically linked file on a unix NFS file server, +you may run into problems. +When writing the file, Vim does not "write through" the symlink. Instead, it +deletes the symbolic link and creates a new file in its place. + On Unix, Vim is prepared for links (symbolic or hard). A backup copy of +the original file is made and then the original file is overwritten. This +assures that all properties of the file remain the same. On non-Unix systems, +the original file is renamed and a new file is written. Only the protection +bits are set like the original file. However, this doesn't work properly when +working on an NFS-mounted file system where links and other things exist. The +only way to fix this in the current version is not making a backup file, by +":set nobackup nowritebackup" |'writebackup'| + +============================================================================== +9. Copy/paste in a dos box *msdos-copy-paste* + + *E450* *E451* *E452* *E453* *E454* +The 32 bit version can copy/paste from/to the Windows clipboard directly. Use +the "* register. Large amounts of text can be copied this way, but it must be +possible to allocate memory for it, see |msdos-clipboard-limits|. When moving +text from one Vim to another, the type of the selection +(characterwise/linewise/blockwise) is passed on. + +In other versions, the following can be used. + +(posted to comp.editors by John Velman <velman@igate1.hac.com>) + +How to copy/paste text from/to vim in a dos box: + +1) to get VIM to run in a window, instead of full screen, press alt+enter. + This toggles back and forth between full screen and a dos window. + NOTE: In Windows 95 you must have the property "Fast Pasting" unchecked! + In the properties dialog box for the MS-DOS window, go to "MS-DOS + Prompt/Misc/Fast pasting" and make sure that it is NOT checked. + To make this permanent, change the properties for + "\windows\system\conagent.exe" (from Philip Nelson, unverified). + +2) To paste something _into_ Vim, put Vim in insert mode. + +3) put the text you want to paste on the windows clipboard. + +4) Click the control box in the upper left of the Vim window. (This looks + like a big minus sign). If you don't want to use the mouse, you can get + this with alt+spacebar. +5) on the resulting dropdown menu choose "Edit" +6) on the child dropdown menu choose "Paste" + +To copy something from the Vim window to the clipboard, + +1) select the control box to get the control drop down menu. +2) select "Edit". +3) select "Mark" +4) using either the keys or the mouse, select the part of the Vim window that + you want to copy. To use the keys, use the arrow keys, and hold down shift + to extend the selection. +5) when you've completed your selection, press 'enter.' The selection + is now in the windows clipboard. By the way, this can be any + rectangular selection, for example columns 4-25 in rows 7-10. It can + include anything in the VIM window: the output of a :!dir, for + example. + + vim:tw=78:ts=8:ft=help:norl: |