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.txt254
1 files changed, 185 insertions, 69 deletions
diff --git a/usr.bin/vim/doc/vim_dos.txt b/usr.bin/vim/doc/vim_dos.txt
index 6e1ba5b8bcd..5a0860839ba 100644
--- a/usr.bin/vim/doc/vim_dos.txt
+++ b/usr.bin/vim/doc/vim_dos.txt
@@ -1,15 +1,21 @@
-*vim_dos.txt* For Vim version 4.2. Last modification: 1996 June 13
+*vim_dos.txt* For Vim version 4.4. Last modification: 1996 Aug 17
This file contains the particularities for the MS-DOS version of Vim.
+
+THREE VERSIONS FOR MS-DOS
+
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.
+ Recommended for use on pre-386 machines.
32-bit version Requires 386 processor and a DPMI driver, uses all
available memory. Supports long file names where available.
+ Recommended for MS-DOS, Windows 3.1 and Windows 95.
Win32 version Requires Windows 95 or Windows NT, uses all available
- memory, supports long file names, etc. See |vim_w32.txt|
+ memory, supports long file names, etc. Has some problems on
+ Windows 95. Recommended for Windows NT. 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
@@ -23,7 +29,12 @@ 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:
+If the 32-bit DOS version is run on Windows 95 or Windows NT, it can use long
+filenames, as can the Win32 version.
+
+
+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
@@ -35,8 +46,45 @@ Known problems:
- 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.
+- The 32 bit version can work with long filenames. When doing filename
+ completion, matches for the short filename will also be found. But this
+ will result in the corresponding long filename. For example, if you have
+ the long file name "this_is_a_test" with the short filename "this_i~1", the
+ command ":e *1" will start editing "this_is_a_test".
+- When using the 32 bit 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.
+
+
+LOCATION OF DOCUMENTATION and VIMRC FILE
+
+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"
+
+
+USING BACKSLASHES
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
@@ -46,13 +94,15 @@ 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.
+
+SCREEN OUTPUT AND COLORS
+
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'|.
+the five modes is used for which action depends on the |'highlight'| option.
":set t_mr=^V^[\|xxm" start of invert mode
":set t_md=^V^[\|xxm" start of bold mode
@@ -69,33 +119,60 @@ option. See vim_ref.txt |'highlight'|.
^V is CTRL-V
^[ is <Esc>
-xx must be replaced with a decimal code: The foreground color number and
- background color number added together:
+xx must be replaced with a decimal code, which is 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.
+ 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 128 *
+ lightblue 9 144 *
+ lightgreen 10 160 *
+ lighcyan 11 176 *
+ lightred 12 192 *
+ lightmagenta 13 208 *
+ yellow 14 224 *
+ white 15 240 *
+
+* Depending on the display mode, the color codes above 128 may not be
+ available, and code 128 will make the text blink.
+
+When you use 0, the color is reset to the one used when you started Vim.
+This is the default for t_me.
+
+The defaults for the various highlight modes are:
+ t_mr 112 reverse mode: black text (0) on lightgray (112)
+ t_md 63 bold mode: white text (15) on cyan (48)
+ t_me 0 normal mode (revert to default)
+
+ t_so 31 standout mode: white (15) text on blue (16)
+ t_se 0 standout mode end (revert to default)
+
+ t_czh 225 italic mode: blue text (1) on yellow (224)
+ t_czr 0 italic mode end (revert to default)
+
+ t_us 67 underline mode: cyan text (3) on red (64)
+ t_ue 0 underline mode end (revert to default)
+
+These colors were chosen because they also look good when using an inverted
+display, but you can change them to your liking.
+
+Example:
+:set t_mr=^V^[\|97m " start of invert mode: blue (1) on brown (96)
+:set t_md=^V^[\|67m " start of bold mode: cyan (3) on red (64)
+:set t_me=^V^[\|112m " back to normal mode: black (0) on light gray (112)
+
+:set t_so=^V^[\|37m " start of standout mode: magenta (5) on green (32)
+:set t_se=^V^[\|112m " back to normal mode: black (0) on light gray (112)
+
+
+SPECIAL TERMCAP CODES and NOT USING VIM ON THE PC CONSOLE
The termcap codes that are translated into bios calls are:
t_cl <Esc>|J clear screen
@@ -123,17 +200,19 @@ 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.
+
+TEXTMODE or NON-MS-DOS FILES
+
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
+with <CR><NL>. If the "tx" option is not set, a 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'|
+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
@@ -141,47 +220,47 @@ 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"
+:CD COMMAND
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|
+
+INTERRUPTING
+
Use CTRL-break instead of CTRL-C to interrupt searches. The CTRL-C is not
detected until a key is read.
+
+SHIFTED ARROW KEYS
+
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.
+
+TEMP FILES
+
+Temporary files (for filtering) are put in the first directory in the next
+list that exists and where a file can be created:
+ $TMP
+ $TEMP
+ C:\TMP
+ C:\TEMP
+ current directory
+
+
+SHELL OPTION DEFAULT
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".
+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".
+
+
+FILENAME EXTENSIONS
MS-DOS allows for only one filename extension. Therefore, when appending an
extension, the '.' in the original filename is replaced with a '_', the name
@@ -192,8 +271,8 @@ becomes "thisisat.bak". To reduce these problems, the default for
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.
+
+COMPILING
The MS-DOS binary was compiled with Borland-C++ version 4.0, using
makefile.bcc. Other compilers should also work. Use makefile.dos for
@@ -204,21 +283,19 @@ 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.
+
+MEMORY USAGE and 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 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
@@ -227,7 +304,13 @@ of memory, because each change is remembered for undo. In this case set
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:
+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.
+
+
+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
@@ -238,3 +321,36 @@ 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'|
+
+
+HOW TO COPY/PASTE TEXT FROM/TO VIM IN A DOS BOX
+
+(posted to comp.editors by John Velman <velman@igate1.hac.com>)
+
+1) to get VIM to run in a window, instead of full screen, press alt+enter
+ (I've always used alt+shift+enter, but either one seems to work). This
+ toggles back and forth between full screen and a dos window.
+
+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 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.