summaryrefslogtreecommitdiff
path: root/usr.bin/vim/doc/vim_dos.txt
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/vim/doc/vim_dos.txt')
-rw-r--r--usr.bin/vim/doc/vim_dos.txt240
1 files changed, 240 insertions, 0 deletions
diff --git a/usr.bin/vim/doc/vim_dos.txt b/usr.bin/vim/doc/vim_dos.txt
new file mode 100644
index 00000000000..6e1ba5b8bcd
--- /dev/null
+++ b/usr.bin/vim/doc/vim_dos.txt
@@ -0,0 +1,240 @@
+*vim_dos.txt* For Vim version 4.2. Last modification: 1996 June 13
+
+This file contains the particularities for the MS-DOS version of Vim.
+
+There are Three versions of Vim that can be used with MS-DOS machines:
+
+16-bit 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.
+32-bit version Requires 386 processor and a DPMI driver, uses all
+ available memory. Supports long file names where available.
+Win32 version Requires Windows 95 or Windows NT, uses all available
+ memory, supports long file names, etc. See |vim_w32.txt|
+
+It is recommended to use the 32-bit or Win32 version. Although the 16-bit
+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 16-bit version is the fastest of the three on DOS or Windows 95; on
+Windows NT, the Win32 version is just as fast.
+
+For the 32-bit 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
+run already. If you get the message "No DPMI", you need to install a DPMI
+driver. Such a driver is included with the executable. The latest version of
+"CWSDPMI.ZIP" can be obtained from: "ftp.neosoft.com:pub/users/s/sandmann".
+
+Known 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.
+- The 16 bits MS-DOS 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.
+- The 32 bits MS-DOS version runs out of file descriptors when using a command
+ like ":r!ls"; Vim crashes after about five to twelve tries.
+
+Using backslashes in file names can be a problem. Vi halves the number of
+backslashes for some commands. Vim is a bit more tolerant and backslashes
+are not removed from a file name, so ":e c:\foo\bar" works as expected. But
+when a backslash is used before a special character (space, comma, backslash,
+etc.), it is removed. Use slashes to avoid problems: ":e c:/foo/bar" works
+fine. Vim will replace the slashes with backslashes internally, to avoid
+problems with some MS-DOS programs.
+
+The default output method for the screen is to use bios calls. This will work
+right away on most systems. You do not need ansi.sys. You can use ":mode" to
+set the current screen mode. See vim_ref.txt, section 20.3 |:mode|.
+
+You can set the color used in five modes with nine termcap options. Which of
+the five modes is used for which action depends on the 'highlight' ('hl')
+option. See vim_ref.txt |'highlight'|.
+
+ ":set t_mr=^V^[\|xxm" start of invert mode
+ ":set t_md=^V^[\|xxm" start of bold mode
+ ":set t_me=^V^[\|xxm" back to normal text
+
+ ":set t_so=^V^[\|xxm" start of standout mode
+ ":set t_se=^V^[\|xxm" back to normal text
+
+ ":set t_us=^V^[\|xxm" start of underline mode
+ ":set t_ue=^V^[\|xxm" back to normal text
+
+ ":set t_ZH=^V^[\|xxm" start of italics mode
+ ":set t_ZR=^V^[\|xxm" back to normal text
+
+^V is CTRL-V
+^[ is <Esc>
+xx must be replaced with a decimal code: The foreground color number and
+ background color number added together:
+
+COLOR FOREGROUND BACKGROUND
+black 0 0
+blue 1 16
+green 2 32
+cyan 3 48
+red 4 64
+magenta 5 80
+brown 6 96
+lighgray 7 112
+darkgray 8
+lightblue 9
+lightgreen 10
+lighcyan 11
+lightred 12
+lighmagenta 13
+yellow 14
+white 15
+blink 128
+
+When you use 0, the color is reset to the one used when you started Vim. This
+is the default for t_me. The default for t_mr is black on grey, 0 + 112 = 112.
+The default for t_md is white on cyan, 15 + 48 = 63. The default for t_so is
+white on blue, 15 + 16 = 31. These colors were chosen, because they also look
+good when using an inverted display. But you can change them as you like.
+
+The termcap codes that are translated into bios calls are:
+ t_cl <Esc>|J clear screen
+ t_ce <Esc>|K clear to end of line
+ t_al <Esc>|L insert line
+ t_dl <Esc>|M delete line
+ t_cm <Esc>|{row};{col}H position cursor
+ t_cs <Esc>|{row};{row}r set scrolling region
+ t_.. <Esc>|attrm set character attribute
+
+If you set these with the ":set" command, don't forget to put a backslash
+before the '|', otherwise it will be recognized as the end of the command.
+
+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 chapter 20 of vim_ref.txt |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.
+
+If the "tx" (textmode) option is set (which is the default), Vim will accept
+a single <NL> or a <CR><NL> pair for end-of-line. When writing a file, Vim
+will use <CR><NL>. Thus, if you edit a file and write it, <NL> is replaced
+with <CR><NL>. If the "tx" option is not set, the single <NL> will be used
+for end-of-line. A <CR> will be shown as ^M. You can use Vim to replace
+<NL> with <CR><NL> by reading in any mode and writing in text mode (":se
+tx"). You can use Vim to replace <CR><NL> with <NL> by reading in text mode
+and writing in non-text mode (":se notx"). 'textmode' is set automatically
+when 'textauto' is on (which is the default), so you don't really have to
+worry about what you are doing.
+ |'textmode'| |'textauto'|
+
+If you want to edit a script file or a binary file, you should reset the
+'textmode' and 'textauto' options before loading the file. Script files and
+binary files may contain single <NL> characters which would be replaced with
+<CR><NL>. You can reset 'textmode' and 'textauto' automatically by starting
+Vim with the "-b" (binary) option.
+
+You should set the environment variable "VIM" to the directory where the Vim
+documentation files are. If "VIM" is used but not defined, "HOME" is tried
+too.
+
+If the HOME environment variable is not set, the value "C:/" is used as a
+default.
+
+The default help filename is "$VIM\vim_help.txt". If the environment variable
+$VIM is not defined or the file is not found, the DOS search path is used to
+search for the file "vim_help.txt". If you do not want to put "vim_help.txt"
+in your search path, use the command ":set helpfile=pathname" to tell Vim
+where the help file is. |'helpfile'|
+
+Vim will look for initializations in eight places. The first that is found
+is used and the others are ignored. The order is
+ - The environment variable VIMINIT
+ - The file "$VIM/_vimrc"
+ - The file "$HOME/_vimrc"
+ - The file "$VIM/.vimrc"
+ - The file "$HOME/.vimrc"
+ - The environment variable EXINIT
+ - The file "$VIM/_exrc"
+ - The file "$HOME/_exrc"
+
+The ":cd" command recognizes the drive specifier and changes the current
+drive. Use ":cd c:" to make drive C the active drive. Use ":cd d:\dos" to go
+to the directory "dos" in the root of drive D. |:cd|
+
+Use CTRL-break instead of CTRL-C to interrupt searches. The CTRL-C is not
+detected until a key is read.
+
+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.
+
+Temporary files (for filtering) are put in the current directory.
+
+The default for the sh (shell) option is "command". If COMSPEC is defined it
+is used instead. External commands are started with "command /c
+<command_name>". Typing CTRL-Z starts a new command shell. Return to Vim with
+"exit".
+
+MS-DOS allows for only one filename extension. Therefore, when appending an
+extension, the '.' in the original filename 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.
+
+If the 32-bit DOS version is run on Windows 95 or Windows NT, it can use long
+filenames, as can the Win32 version.
+
+The MS-DOS binary was compiled with Borland-C++ version 4.0, using
+makefile.bcc. Other compilers should also work. Use makefile.dos for
+Turbo-C 2.0. Use makefile.bcc for other Borland compilers, also Turbo-C++
+3.0 (with small changes). If you get all kinds of strange error messages
+when compiling, try adding <CR> characters at the end of each line. This can
+be done with the addcr program: "make addcr". This will compile addcr.c to
+addcr.exe and then execute the addcr.bat file. Sometimes this fails. In
+that case, execute the addcr.bat file from the DOS prompt.
+
+
+The "spawno" library by Ralf Brown was used in order to free memory when Vim
+starts a shell or other external command. Only about 200 bytes are taken from
+conventional memory. When recompiling get the spawno library from Simtel,
+directory "msdos/c". It is called something like "spwno413.zip". Or remove
+the library from the makefile.
+
+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 16-bit version.
+
+In the 16-bit 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.
+
+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.
+
+In the 32-bit version, extended memory is used to avoid these problems.
+
+About using Vim to edit a symbolically linked file on a Unix NFS file server:
+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'|