home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-20 | 59.6 KB | 1,741 lines |
- Newsgroups: comp.sources.misc
- From: mool@oce.nl (Bram Moolenaar)
- Subject: v41i053: vim - Vi IMitation editor, v2.0, Part03/25
- Message-ID: <1993Dec21.034342.27031@sparky.sterling.com>
- X-Md4-Signature: 4a4205fc214a0707effa8c55425a46b3
- Keywords: utility, editor, vi, vim
- Sender: kent@sparky.sterling.com (Kent Landfield)
- Organization: Sterling Software
- Date: Tue, 21 Dec 1993 03:43:42 GMT
- Approved: kent@sparky.sterling.com
-
- Submitted-by: mool@oce.nl (Bram Moolenaar)
- Posting-number: Volume 41, Issue 53
- Archive-name: vim/part03
- Environment: UNIX, AMIGA, MS-DOS
- Supersedes: vim: Volume 37, Issue 1-24
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 3 (of 25)."
- # Contents: vim/doc/msdos.doc vim/src/arp_proto.h vim/src/cmdtab.h
- # vim/src/cmdtab.tab vim/src/makefile.unix vim/src/param.h
- # vim/src/regsub.c vim/todo
- # Wrapped by mool@oce-rd2 on Wed Dec 15 09:50:04 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'vim/doc/msdos.doc' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/doc/msdos.doc'\"
- else
- echo shar: Extracting \"'vim/doc/msdos.doc'\" \(6542 characters\)
- sed "s/^X//" >'vim/doc/msdos.doc' <<'END_OF_FILE'
- XThis file contains the particularities for the MSDOS version of Vim.
- X
- XThe default output method is to use bios calls. This will work right away on
- Xmost systems. You do not need ansi.sys.
- X
- XYou can set the color used in vim with two termcap options:
- X
- X ":set t_tp=^V^[\|xxm" for normal text
- X ":set t_ti=^V^[\|xxm" for error messages and visual mode
- X
- X^V is CTRL-V
- X^[ is ESC
- Xxx must be replaced by a decimal code: The foreground color number and
- X background color number added together:
- X
- XCOLOR FOREGROUND BACKGROUND
- Xblack 0 0
- Xblue 1 16
- Xgreen 2 32
- Xcyan 3 48
- Xred 4 64
- Xmagenta 5 80
- Xbrown 6 96
- Xlighgray 7 112
- Xdarkgray 8
- Xlightblue 9
- Xlightgreen 10
- Xlighcyan 11
- Xlightred 12
- Xlighmagenta 13
- Xyellow 14
- Xwhite 15
- Xblink 128
- X
- XWhen you use 0, the color is reset to the one used when you started Vim. This
- Xis the default for t_tp. The default for t_ti is white on red, 15 + 64 = 79.
- X
- XThe termcap codes that are translated into bios calls are:
- X ESC |J clear screen
- X ESC |K clear to end of line
- X ESC |L insert line
- X ESC |M delete line
- X ESC |row;colH position cursor
- X ESC |attrm set character attribute
- X
- XIf you want to use another output method (e.g. when using a terminal on a COM
- Xport), set the terminal name to "pcansi". You can change the termcap options
- Xwhen needed (see chapter 20 of reference.doc). Note that the normal IBM
- Xansi.sys does not support all the codes of the builtin pcansi terminal. If
- Xyou use ansi.sys you will need to delete the termcap entries t_il and t_dl
- Xwith
- X ":set t_il= t_dl=".
- XOtherwise the screen will not be updated correctly. It is better to use
- Xnansi.sys, nnansi.sys or the like instead of ansi.sys.
- X
- XIf you want to use Vim on a terminal connected to a COM: port, reset the
- X'bioskey' option. Otherwise the commands will be read from the PC keyboard.
- XCTRL-C and CTRL-P may not work correctly with 'bioskey' reset.
- X
- XIf the "tx" (textmode) option is set (which is the default), Vim will accept a
- Xsingle <LF> or a <CR><LF> pair for end-of-line. When writing a file Vim will
- Xuse <CR><LF>. Thus if you edit a file and write it, <LF> is replaced with
- X<CR><LF>. If the "tx" option is not set the single <LF> will be used for
- Xend-of-line. A <CR> will be shown as ^M. You can use Vim to replace <LF> by
- X<CR><LF> by reading in any mode and writing in text mode. You can use Vim to
- Xreplace <CR><LF> by <LF> by reading in text mode and writing in non-text
- Xmode. 'textmode' is set automatically when 'textauto' is on (which is the
- Xdefault), so you don't really have to worry about what you are doing.
- X
- XIf you want to edit a script file or a binary file you should reset the
- X'textmode' and 'textauto' options before loading the file. Script files
- Xcontain single <LF> characters which would be replaced by <CR><LF>. You can
- Xdo this by starting Vim with the "-b" (binary) option.
- X
- XThe default help filename is "$VIM\vim.hlp". If the environment variable $VIM
- Xis not defined or the file is not found, the DOS search path is used to
- Xsearch for the file "vim.hlp". If you do not want to put "vim.hlp" in your
- Xsearch path, use the command ":set helpfile=pathname" to tell Vim where the
- Xhelp file is.
- X
- XThe ":cd" command recognizes the drive specifier and changes the current
- Xdrive. Use ":cd c:" to make drive C the active drive. Use ":cd d:\dos" to go
- Xto the directory "dos" in the root of drive D.
- X
- XThe files "_vimrc" and "_exrc" are used instead of ".vimrc" and ".exrc".
- XThe files "$VIM\_vimrc" and "$VIM\_exrc" are used instead of "s:.vimrc" and
- X"s:.exrc". To use the file "c:\_vimrc" use the command "set vim=c:".
- X
- XUse CTRL-break instead of CTRL-C to interrupt searches. The CTRL-C is not
- Xdetected until a key is read.
- X
- XUse CTRL-arrow-left and CTRL-arrow-right instead of SHIFT-arrow-left and
- XSHIFT-arrow-right. The arrow-up and arrow-down cannot be used with SHIFT or
- XCTRL.
- X
- XTemporary files (for filtering) are put in the current directory.
- X
- XThe default for the sh (shell) option is "command". External commands are
- Xstarted with "command /c <command_name>". Typing CTRL-Z starts a new command
- Xshell. Return to Vim with "exit".
- X
- XIf you want to use different colors set the termcap code t_tp (for normal
- Xtext) and/or t_ti (for inverted text).
- X
- XStandard ANSI escape sequences are used. The codes are:
- X30 black foreground 40 black background 0 all attributes off
- X31 red foreground 41 red background 1 high intensity (bold)
- X32 green foreground 42 green background 2 normal intensity
- X33 yellow foreground 43 yellow background 4 underline
- X34 blue foreground 44 blue background 5 blinking
- X35 magenta foreground 45 magenta background 7 reverse video
- X36 cyan foreground 46 cyan background 8 invisible
- X37 white foreground 47 white background
- X
- XThe codes can be combined by separating them with a semicolon. For example to
- Xget white text on a blue background:
- X :set t_tp=^V<ESC>[0;37;44m
- X
- X
- XMS-DOS allows for only one filename extention. Therefore, in the original
- Xfilename the '.' is replaced by a '_', the name is truncated to 8 characters
- Xand the new extention ".vim" or ".bak" is appended. Two examples: "test.c"
- Xbecomes "test_c.bak", "ditiseen.tst" becomes "ditiseen.bak". The 'shortname'
- Xoption is not available.
- X
- XThe MS-DOS binary was compiled with Borland-C++ version 3.1, using
- Xmakefile.bcc. Other compilers should also work. Use makefile.dos for Turbo-C
- X2.0. Use makefile.bcc for other Borland compilers, also Turbo-C++ 3.0 (with
- Xsmall changes). If you get all kinds of strange error messages when compiling,
- Xyou have to add <CR> characters at the end of each line. This can be done with
- Xthe addcr program: "make addcr". This will compile addcr.c to addcr.exe and
- Xexecute the addcr.bat file. Sometimes this fails. Then execute the addcr.bat
- Xfile from the DOS prompt.
- X
- XAll text is kept in memory. This limits the size of the file you can edit,
- Xthe number of undo levels that can be remembered, etc.. If Vim gives an "Out
- Xof memory" warning you should stop editing. Result of further editing actions
- Xis unpredictable. Setting 'undolevels' to 0 saves some memory. Running the
- Xmaze macros on a big maze is guaranteed to run out of memory, because each
- Xchange is remembered for undo. In this case set 'undolevels' to a negative
- Xnumber. This will switch off undo completely. In a future release extended
- Xmemory and/or a swap file will be used to avoid these problems.
- X
- XThe *.info files are for the Amiga. You don't need them with MSDOS.
- END_OF_FILE
- if test 6542 -ne `wc -c <'vim/doc/msdos.doc'`; then
- echo shar: \"'vim/doc/msdos.doc'\" unpacked with wrong size!
- fi
- chmod +x 'vim/doc/msdos.doc'
- # end of 'vim/doc/msdos.doc'
- fi
- if test -f 'vim/src/arp_proto.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/arp_proto.h'\"
- else
- echo shar: Extracting \"'vim/src/arp_proto.h'\" \(6655 characters\)
- sed "s/^X//" >'vim/src/arp_proto.h' <<'END_OF_FILE'
- X#ifndef PROTO_ARP_H
- X#define PROTO_ARP_H 1
- X
- X/*
- X ************************************************************************
- X * The arp copies of the dos.library calls... *
- X ************************************************************************
- X */
- X
- X/* Only include these if you can use ARP.library without dos.library... */
- X#ifdef DO_ARP_COPIES
- X#pragma amicall(ArpBase, 0x1E, Open(d1, d2))
- X#pragma amicall(ArpBase, 0x24, Close(d1))
- X#pragma amicall(ArpBase, 0x2A, Read(d1, d2, d3))
- X#pragma amicall(ArpBase, 0x30, Write(d1, d2, d3))
- X#pragma amicall(ArpBase, 0x36, Input())
- X#pragma amicall(ArpBase, 0x3C, Output())
- X#pragma amicall(ArpBase, 0x42, Seek(d1, d2, d3))
- X#pragma amicall(ArpBase, 0x48, DeleteFile(d1))
- X#pragma amicall(ArpBase, 0x4E, Rename(d1, d2))
- X#pragma amicall(ArpBase, 0x54, Lock(d1, d2))
- X#pragma amicall(ArpBase, 0x5A, UnLock(d1))
- X#pragma amicall(ArpBase, 0x60, DupLock(d1))
- X#pragma amicall(ArpBase, 0x66, Examine(d1, d2))
- X#pragma amicall(ArpBase, 0x6C, ExNext(d1, d2))
- X#pragma amicall(ArpBase, 0x72, Info(d1, d2))
- X#pragma amicall(ArpBase, 0x78, CreateDir(d1))
- X#pragma amicall(ArpBase, 0x7E, CurrentDir(d1))
- X#pragma amicall(ArpBase, 0x84, IoErr())
- X#pragma amicall(ArpBase, 0x8A, CreateProc(d1, d2, d3, d4))
- X#pragma amicall(ArpBase, 0x90, Exit(d1))
- X#pragma amicall(ArpBase, 0x96, LoadSeg(d1))
- X#pragma amicall(ArpBase, 0x9C, UnLoadSeg(d1))
- X#pragma amicall(ArpBase, 0xAE, DeviceProc(d1))
- X#pragma amicall(ArpBase, 0xB4, SetComment(d1, d2))
- X#pragma amicall(ArpBase, 0xBA, SetProtection(d1, d2))
- X#pragma amicall(ArpBase, 0xC0, DateStamp(d1))
- X#pragma amicall(ArpBase, 0xC6, Delay(d1))
- X#pragma amicall(ArpBase, 0xCC, WaitForChar(d1, d2))
- X#pragma amicall(ArpBase, 0xD2, ParentDir(d1))
- X#pragma amicall(ArpBase, 0xD8, IsInteractive(d1))
- X#pragma amicall(ArpBase, 0xDE, Execute(d1, d2, d3))
- X#endif
- X
- X/*
- X ************************************************************************
- X * Stuff only in arp.library *
- X ************************************************************************
- X */
- X/* amicall(ArpBase, 0x0E4, Printf(a0, a1)) This does not work without glue */
- X/* amicall(ArpBase, 0x0EA, FPrintf(d0, a0, a1)) This does not work without glue */
- X#pragma amicall(ArpBase, 0x0F0, Puts(a1))
- X#pragma amicall(ArpBase, 0x0F6, Readline(a0))
- X#pragma amicall(ArpBase, 0x0FC, GADS(a0, d0, a1, a2, a3))
- X#pragma amicall(ArpBase, 0x102, Atol(a0))
- X#pragma amicall(ArpBase, 0x108, EscapeString(a0))
- X#pragma amicall(ArpBase, 0x10E, CheckAbort(a1))
- X#pragma amicall(ArpBase, 0x114, CheckBreak(d1, a1))
- X#pragma amicall(ArpBase, 0x11A, Getenv(a0, a1, d0))
- X#pragma amicall(ArpBase, 0x120, Setenv(a0, a1))
- X#pragma amicall(ArpBase, 0x126, FileRequest(a0))
- X#pragma amicall(ArpBase, 0x12C, CloseWindowSafely(a0, a1))
- X#pragma amicall(ArpBase, 0x132, CreatePort(a0, d0))
- X#pragma amicall(ArpBase, 0x138, DeletePort(a1))
- X#pragma amicall(ArpBase, 0x13E, SendPacket(d0, a0, a1))
- X#pragma amicall(ArpBase, 0x144, InitStdPacket(d0, a0, a1, a2))
- X#pragma amicall(ArpBase, 0x14A, PathName(d0, a0, d1))
- X#pragma amicall(ArpBase, 0x150, Assign(a0, a1))
- X#pragma amicall(ArpBase, 0x156, DosAllocMem(d0))
- X#pragma amicall(ArpBase, 0x15C, DosFreeMem(a1))
- X#pragma amicall(ArpBase, 0x162, BtoCStr(a0, d0, d1))
- X#pragma amicall(ArpBase, 0x168, CtoBStr(a0, d0, d1))
- X#pragma amicall(ArpBase, 0x16E, GetDevInfo(a2))
- X#pragma amicall(ArpBase, 0x174, FreeTaskResList())
- X#pragma amicall(ArpBase, 0x17A, ArpExit(d0, d2))
- X#pragma amicall(ArpBase, 0x180, ArpAlloc(d0))
- X/* amicall(ArpBase, 0x186, ArpAllocMem(d0, d1)) Secondary result - IoErr() */
- X/* amicall(ArpBase, 0x18C, ArpOpen(d1, d2)) Secondary result - IoErr() */
- X/* amicall(ArpBase, 0x192, ArpDupLock(d1)) Secondary result - IoErr() */
- X/* amicall(ArpBase, 0x198, ArpLock(d1, d2)) Secondary result - IoErr() */
- X/* amicall(ArpBase, 0x19E, RListAlloc(a0, d0)) Secondary result - IoErr() */
- X#pragma amicall(ArpBase, 0x1A4, FindCLI(d0))
- X#pragma amicall(ArpBase, 0x1AA, QSort(a0, d0, d1, a1))
- X
- X#pragma amicall(ArpBase, 0x1B0, PatternMatch(a0, a1))
- X#pragma amicall(ArpBase, 0x1B6, FindFirst(d0, a0))
- X#pragma amicall(ArpBase, 0x1BC, FindNext(a0))
- X#pragma amicall(ArpBase, 0x1C2, FreeAnchorChain(a0))
- X
- X#pragma amicall(ArpBase, 0x1C8, CompareLock(d0, d1))
- X
- X#pragma amicall(ArpBase, 0x1CE, FindTaskResList())
- X#pragma amicall(ArpBase, 0x1D4, CreateTaskResList())
- X#pragma amicall(ArpBase, 0x1DA, FreeResList(a1))
- X#pragma amicall(ArpBase, 0x1E0, FreeTrackedItem(a1))
- X/* amicall(ArpBase, 0x1E6, GetTracker()) Stores the ID in the tracker */
- X
- X#pragma amicall(ArpBase, 0x1EC, GetAccess(a1))
- X#pragma amicall(ArpBase, 0x1F2, FreeAccess(a1))
- X
- X#pragma amicall(ArpBase, 0x1F8, FreeDAList(a1))
- X#pragma amicall(ArpBase, 0x1FE, AddDANode(a0, a1, d0, d1))
- X#pragma amicall(ArpBase, 0x204, AddDADevs(a0, d0))
- X
- X#pragma amicall(ArpBase, 0x20A, Strcmp(a0, a1))
- X#pragma amicall(ArpBase, 0x210, Strncmp(a0, a1, d0))
- X#pragma amicall(ArpBase, 0x216, Toupper(d0))
- X#pragma amicall(ArpBase, 0x21C, SyncRun(a0, a1, d0, d1))
- X
- X/*
- X ************************************************************************
- X * Added V32 of arp.library *
- X * Note that SpawnShell is ASyncRun but was added at V39 of arp... *
- X ************************************************************************
- X */
- X#pragma amicall(ArpBase, 0x222, ASyncRun(a0, a1, a2))
- X#pragma amicall(ArpBase, 0x222, SpawnShell(a0, a1, a2))
- X#pragma amicall(ArpBase, 0x228, LoadPrg(d1))
- X#pragma amicall(ArpBase, 0x22E, PreParse(a0, a1))
- X
- X/*
- X ************************************************************************
- X * Added V33 of arp.library *
- X ************************************************************************
- X */
- X#pragma amicall(ArpBase, 0x234, StamptoStr(a0))
- X#pragma amicall(ArpBase, 0x23A, StrtoStamp(a0))
- X
- X#pragma amicall(ArpBase, 0x240, ObtainResidentPrg(a0))
- X#pragma amicall(ArpBase, 0x246, AddResidentPrg(d1, a0))
- X#pragma amicall(ArpBase, 0x24C, RemResidentPrg(a0))
- X#pragma amicall(ArpBase, 0x252, UnLoadPrg(d1))
- X#pragma amicall(ArpBase, 0x258, LMult(d0, d1))
- X#pragma amicall(ArpBase, 0x25E, LDiv(d0, d1))
- X#pragma amicall(ArpBase, 0x264, LMod(d0, d1))
- X
- X#pragma amicall(ArpBase, 0x26A, CheckSumPrg(d1))
- X#pragma amicall(ArpBase, 0x270, TackOn(a0, a1))
- X#pragma amicall(ArpBase, 0x276, BaseName(a0))
- X#pragma amicall(ArpBase, 0x27C, ReleaseResidentPrg(d1))
- X
- X/*
- X ************************************************************************
- X * Added V36 of arp.library *
- X ************************************************************************
- X */
- X/* amicall(ArpBase, 0x282, SPrintf(d0, a0, a1)) This does not work without glue */
- X#pragma amicall(ArpBase, 0x288, GetKeywordIndex(a0, a1))
- X/* amicall(ArpBase, 0x28E, ArpOpenLibrary(a1, d0)) Secondary result - IoErr() */
- X#pragma amicall(ArpBase, 0x294, ArpAllocFreq())
- X
- X#endif
- END_OF_FILE
- if test 6655 -ne `wc -c <'vim/src/arp_proto.h'`; then
- echo shar: \"'vim/src/arp_proto.h'\" unpacked with wrong size!
- fi
- chmod +x 'vim/src/arp_proto.h'
- # end of 'vim/src/arp_proto.h'
- fi
- if test -f 'vim/src/cmdtab.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/cmdtab.h'\"
- else
- echo shar: Extracting \"'vim/src/cmdtab.h'\" \(7223 characters\)
- sed "s/^X//" >'vim/src/cmdtab.h' <<'END_OF_FILE'
- X/* vi:ts=4
- X *
- X * VIM - Vi IMproved
- X *
- X * Code Contributions By: Bram Moolenaar mool@oce.nl
- X * Tim Thompson twitch!tjt
- X * Tony Andrews onecom!wldrdg!tony
- X * G. R. (Fred) Walter watmath!watcgl!grwalter
- X */
- X
- X/*
- X * THIS FILE IS AUTOMATICALLY PRODUCED - DO NOT EDIT
- X */
- X
- X#define RANGE 0x01 /* allow a linespecs */
- X#define BANG 0x02 /* allow a ! after the command name */
- X#define EXTRA 0x04 /* allow extra args after command name */
- X#define XFILE 0x08 /* expand wildcards in extra part */
- X#define NOSPC 0x10 /* no spaces allowed in the extra part */
- X#define DFLALL 0x20 /* default file range is 1,$ */
- X#define NODFL 0x40 /* do not default to the current file name */
- X#define NEEDARG 0x80 /* argument required */
- X#define TRLBAR 0x100 /* check for trailing vertical bar */
- X#define REGSTR 0x200 /* allow "x for register designation */
- X#define COUNT 0x400 /* allow count in argument */
- X#define NOTRLCOM 0x800 /* no trailing comment allowed */
- X#define ZEROR 0x1000 /* zero line number allowed */
- X#define USECTRLV 0x2000 /* do not remove CTRL-V from argument */
- X#define FILES (XFILE + EXTRA) /* multiple extra files allowed */
- X#define WORD1 (EXTRA + NOSPC) /* one extra word allowed */
- X#define FILE1 (FILES + NOSPC) /* 1 file allowed, defaults to current file */
- X#define NAMEDF (FILE1 + NODFL) /* 1 file allowed, defaults to "" */
- X#define NAMEDFS (FILES + NODFL) /* multiple files allowed, default is "" */
- X
- X/*
- X * This array maps ex command names to command codes. The order in which
- X * command names are listed below is significant -- ambiguous abbreviations
- X * are always resolved to be the first possible match (e.g. "r" is taken
- X * to mean "read", not "rewind", because "read" comes before "rewind").
- X * Not supported commands are included to avoid ambiguities.
- X */
- Xstatic struct
- X{
- X char *cmd_name; /* name of the command */
- X short cmd_argt; /* command line arguments permitted/needed/used */
- X} cmdnames[] =
- X{
- X {"append", BANG+RANGE+TRLBAR}, /* not supported */
- X#define CMD_append 0
- X {"abbreviate", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_abbreviate 1
- X {"args", TRLBAR},
- X#define CMD_args 2
- X {"change", BANG+RANGE+COUNT+TRLBAR}, /* not supported */
- X#define CMD_change 3
- X {"cabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_cabbrev 4
- X {"cc", TRLBAR+WORD1+BANG},
- X#define CMD_cc 5
- X {"cd", NAMEDF+TRLBAR},
- X#define CMD_cd 6
- X {"center", TRLBAR+RANGE+EXTRA},
- X#define CMD_center 7
- X {"cf", TRLBAR+FILE1+BANG},
- X#define CMD_cf 8
- X {"chdir", NAMEDF+TRLBAR},
- X#define CMD_chdir 9
- X {"cl", TRLBAR},
- X#define CMD_cl 10
- X {"cmap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_cmap 11
- X {"cn", TRLBAR+BANG},
- X#define CMD_cn 12
- X {"cnoremap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_cnoremap 13
- X {"cnoreabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_cnoreabbrev 14
- X {"copy", RANGE+EXTRA+TRLBAR},
- X#define CMD_copy 15
- X {"cp", TRLBAR+BANG},
- X#define CMD_cp 16
- X {"cq", TRLBAR+BANG},
- X#define CMD_cq 17
- X {"cunmap", BANG+EXTRA+TRLBAR+USECTRLV},
- X#define CMD_cunmap 18
- X {"cunabbrev", EXTRA+TRLBAR+USECTRLV},
- X#define CMD_cunabbrev 19
- X {"delete", RANGE+REGSTR+COUNT+TRLBAR},
- X#define CMD_delete 20
- X {"display", TRLBAR},
- X#define CMD_display 21
- X {"digraphs", EXTRA+TRLBAR},
- X#define CMD_digraphs 22
- X {"edit", BANG+FILE1+TRLBAR},
- X#define CMD_edit 23
- X {"ex", BANG+FILE1+TRLBAR},
- X#define CMD_ex 24
- X {"file", FILE1+TRLBAR},
- X#define CMD_file 25
- X {"files", TRLBAR},
- X#define CMD_files 26
- X {"global", RANGE+BANG+EXTRA+DFLALL},
- X#define CMD_global 27
- X {"help", TRLBAR},
- X#define CMD_help 28
- X {"insert", BANG+RANGE+TRLBAR}, /* not supported */
- X#define CMD_insert 29
- X {"iabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_iabbrev 30
- X {"imap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_imap 31
- X {"inoremap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_inoremap 32
- X {"inoreabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_inoreabbrev 33
- X {"iunmap", BANG+EXTRA+TRLBAR+USECTRLV},
- X#define CMD_iunmap 34
- X {"iunabbrev", EXTRA+TRLBAR+USECTRLV},
- X#define CMD_iunabbrev 35
- X {"join", RANGE+COUNT+TRLBAR},
- X#define CMD_join 36
- X {"jumps", TRLBAR},
- X#define CMD_jumps 37
- X {"k", RANGE+WORD1+TRLBAR},
- X#define CMD_k 38
- X {"list", RANGE+COUNT+TRLBAR},
- X#define CMD_list 39
- X {"left", TRLBAR+RANGE+EXTRA},
- X#define CMD_left 40
- X {"move", RANGE+EXTRA+TRLBAR},
- X#define CMD_move 41
- X {"mark", RANGE+WORD1+TRLBAR},
- X#define CMD_mark 42
- X {"marks", TRLBAR},
- X#define CMD_marks 43
- X {"map", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_map 44
- X {"make", NEEDARG+EXTRA+TRLBAR+XFILE},
- X#define CMD_make 45
- X {"mkexrc", BANG+FILE1+TRLBAR},
- X#define CMD_mkexrc 46
- X {"mkvimrc", BANG+FILE1+TRLBAR},
- X#define CMD_mkvimrc 47
- X {"next", RANGE+BANG+NAMEDFS+TRLBAR},
- X#define CMD_next 48
- X {"number", RANGE+COUNT+TRLBAR},
- X#define CMD_number 49
- X {"noremap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_noremap 50
- X {"noreabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X#define CMD_noreabbrev 51
- X {"Next", RANGE+BANG+TRLBAR},
- X#define CMD_Next 52
- X {"print", RANGE+COUNT+TRLBAR},
- X#define CMD_print 53
- X {"pop", RANGE+TRLBAR+ZEROR},
- X#define CMD_pop 54
- X {"put", RANGE+BANG+REGSTR+TRLBAR},
- X#define CMD_put 55
- X {"previous", RANGE+BANG+TRLBAR},
- X#define CMD_previous 56
- X {"pwd", TRLBAR},
- X#define CMD_pwd 57
- X {"quit", BANG+TRLBAR},
- X#define CMD_quit 58
- X {"read", RANGE+NAMEDF+NEEDARG+TRLBAR+ZEROR},
- X#define CMD_read 59
- X {"rewind", BANG+TRLBAR},
- X#define CMD_rewind 60
- X {"recover", FILE1+TRLBAR}, /* not supported */
- X#define CMD_recover 61
- X {"redo", TRLBAR},
- X#define CMD_redo 62
- X {"right", TRLBAR+RANGE+EXTRA},
- X#define CMD_right 63
- X {"substitute", RANGE+EXTRA},
- X#define CMD_substitute 64
- X {"suspend", TRLBAR+BANG},
- X#define CMD_suspend 65
- X {"set", EXTRA+TRLBAR},
- X#define CMD_set 66
- X {"setkeymap", NAMEDF+TRLBAR},
- X#define CMD_setkeymap 67
- X {"shell", TRLBAR},
- X#define CMD_shell 68
- X {"source", NAMEDF+NEEDARG+TRLBAR},
- X#define CMD_source 69
- X {"stop", TRLBAR+BANG},
- X#define CMD_stop 70
- X {"t", RANGE+EXTRA+TRLBAR},
- X#define CMD_t 71
- X {"tag", RANGE+BANG+WORD1+TRLBAR+ZEROR},
- X#define CMD_tag 72
- X {"tags", TRLBAR},
- X#define CMD_tags 73
- X {"undo", TRLBAR},
- X#define CMD_undo 74
- X {"unabbreviate", EXTRA+TRLBAR+USECTRLV},
- X#define CMD_unabbreviate 75
- X {"unmap", BANG+EXTRA+TRLBAR+USECTRLV},
- X#define CMD_unmap 76
- X {"vglobal", RANGE+EXTRA+DFLALL},
- X#define CMD_vglobal 77
- X {"version", TRLBAR},
- X#define CMD_version 78
- X {"visual", RANGE+BANG+FILE1+TRLBAR},
- X#define CMD_visual 79
- X {"write", RANGE+BANG+FILE1+DFLALL+TRLBAR},
- X#define CMD_write 80
- X {"wnext", RANGE+BANG+FILE1+TRLBAR},
- X#define CMD_wnext 81
- X {"winsize", EXTRA+NEEDARG+TRLBAR},
- X#define CMD_winsize 82
- X {"wq", BANG+FILE1+DFLALL+TRLBAR},
- X#define CMD_wq 83
- X {"xit", BANG+FILE1+DFLALL+TRLBAR},
- X#define CMD_xit 84
- X {"yank", RANGE+REGSTR+COUNT+TRLBAR},
- X#define CMD_yank 85
- X {"z", RANGE+COUNT+TRLBAR}, /* not supported */
- X#define CMD_z 86
- X {"@", RANGE+EXTRA+TRLBAR},
- X#define CMD_at 87
- X {"!", RANGE+NAMEDFS},
- X#define CMD_bang 88
- X {"<", RANGE+COUNT+TRLBAR},
- X#define CMD_lshift 89
- X {">", RANGE+COUNT+TRLBAR},
- X#define CMD_rshift 90
- X {"=", RANGE+TRLBAR},
- X#define CMD_equal 91
- X {"&", RANGE+EXTRA},
- X#define CMD_and 92
- X {"~", RANGE+TRLBAR} /* not supported */
- X#define CMD_tilde 93
- X#define CMD_SIZE 94
- X
- X};
- END_OF_FILE
- if test 7223 -ne `wc -c <'vim/src/cmdtab.h'`; then
- echo shar: \"'vim/src/cmdtab.h'\" unpacked with wrong size!
- fi
- chmod +x 'vim/src/cmdtab.h'
- # end of 'vim/src/cmdtab.h'
- fi
- if test -f 'vim/src/cmdtab.tab' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/cmdtab.tab'\"
- else
- echo shar: Extracting \"'vim/src/cmdtab.tab'\" \(5314 characters\)
- sed "s/^X//" >'vim/src/cmdtab.tab' <<'END_OF_FILE'
- X/* vi:ts=4
- X *
- X * VIM - Vi IMproved
- X *
- X * Code Contributions By: Bram Moolenaar mool@oce.nl
- X * Tim Thompson twitch!tjt
- X * Tony Andrews onecom!wldrdg!tony
- X * G. R. (Fred) Walter watmath!watcgl!grwalter
- X */
- X
- X/*
- X * |This file is read by mkcmdtab to produce cmdtab.h.
- X *
- X * The bars are used to recognize file positions. Do not insert/delete them.|
- X */
- X
- X#define RANGE 0x01 /* allow a linespecs */
- X#define BANG 0x02 /* allow a ! after the command name */
- X#define EXTRA 0x04 /* allow extra args after command name */
- X#define XFILE 0x08 /* expand wildcards in extra part */
- X#define NOSPC 0x10 /* no spaces allowed in the extra part */
- X#define DFLALL 0x20 /* default file range is 1,$ */
- X#define NODFL 0x40 /* do not default to the current file name */
- X#define NEEDARG 0x80 /* argument required */
- X#define TRLBAR 0x100 /* check for trailing vertical bar */
- X#define REGSTR 0x200 /* allow "x for register designation */
- X#define COUNT 0x400 /* allow count in argument */
- X#define NOTRLCOM 0x800 /* no trailing comment allowed */
- X#define ZEROR 0x1000 /* zero line number allowed */
- X#define USECTRLV 0x2000 /* do not remove CTRL-V from argument */
- X#define FILES (XFILE + EXTRA) /* multiple extra files allowed */
- X#define WORD1 (EXTRA + NOSPC) /* one extra word allowed */
- X#define FILE1 (FILES + NOSPC) /* 1 file allowed, defaults to current file */
- X#define NAMEDF (FILE1 + NODFL) /* 1 file allowed, defaults to "" */
- X#define NAMEDFS (FILES + NODFL) /* multiple files allowed, default is "" */
- X
- X/*
- X * This array maps ex command names to command codes. The order in which
- X * command names are listed below is significant -- ambiguous abbreviations
- X * are always resolved to be the first possible match (e.g. "r" is taken
- X * to mean "read", not "rewind", because "read" comes before "rewind").
- X * Not supported commands are included to avoid ambiguities.
- X */
- Xstatic struct
- X{
- X char *cmd_name; /* name of the command */
- X short cmd_argt; /* command line arguments permitted/needed/used */
- X} cmdnames[] =
- X{
- X| {"append", BANG+RANGE+TRLBAR}, /* not supported */
- X {"abbreviate", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"args", TRLBAR},
- X {"change", BANG+RANGE+COUNT+TRLBAR}, /* not supported */
- X {"cabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"cc", TRLBAR+WORD1+BANG},
- X {"cd", NAMEDF+TRLBAR},
- X {"center", TRLBAR+RANGE+EXTRA},
- X {"cf", TRLBAR+FILE1+BANG},
- X {"chdir", NAMEDF+TRLBAR},
- X {"cl", TRLBAR},
- X {"cmap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"cn", TRLBAR+BANG},
- X {"cnoremap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"cnoreabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"copy", RANGE+EXTRA+TRLBAR},
- X {"cp", TRLBAR+BANG},
- X {"cq", TRLBAR+BANG},
- X {"cunmap", BANG+EXTRA+TRLBAR+USECTRLV},
- X {"cunabbrev", EXTRA+TRLBAR+USECTRLV},
- X {"delete", RANGE+REGSTR+COUNT+TRLBAR},
- X {"display", TRLBAR},
- X {"digraphs", EXTRA+TRLBAR},
- X {"edit", BANG+FILE1+TRLBAR},
- X {"ex", BANG+FILE1+TRLBAR},
- X {"file", FILE1+TRLBAR},
- X {"files", TRLBAR},
- X {"global", RANGE+BANG+EXTRA+DFLALL},
- X {"help", TRLBAR},
- X {"insert", BANG+RANGE+TRLBAR}, /* not supported */
- X {"iabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"imap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"inoremap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"inoreabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"iunmap", BANG+EXTRA+TRLBAR+USECTRLV},
- X {"iunabbrev", EXTRA+TRLBAR+USECTRLV},
- X {"join", RANGE+COUNT+TRLBAR},
- X {"jumps", TRLBAR},
- X {"k", RANGE+WORD1+TRLBAR},
- X {"list", RANGE+COUNT+TRLBAR},
- X {"left", TRLBAR+RANGE+EXTRA},
- X {"move", RANGE+EXTRA+TRLBAR},
- X {"mark", RANGE+WORD1+TRLBAR},
- X {"marks", TRLBAR},
- X {"map", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"make", NEEDARG+EXTRA+TRLBAR+XFILE},
- X {"mkexrc", BANG+FILE1+TRLBAR},
- X {"mkvimrc", BANG+FILE1+TRLBAR},
- X {"next", RANGE+BANG+NAMEDFS+TRLBAR},
- X {"number", RANGE+COUNT+TRLBAR},
- X {"noremap", BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"noreabbrev", EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
- X {"Next", RANGE+BANG+TRLBAR},
- X {"print", RANGE+COUNT+TRLBAR},
- X {"pop", RANGE+TRLBAR+ZEROR},
- X {"put", RANGE+BANG+REGSTR+TRLBAR},
- X {"previous", RANGE+BANG+TRLBAR},
- X {"pwd", TRLBAR},
- X {"quit", BANG+TRLBAR},
- X {"read", RANGE+NAMEDF+NEEDARG+TRLBAR+ZEROR},
- X {"rewind", BANG+TRLBAR},
- X {"recover", FILE1+TRLBAR}, /* not supported */
- X {"redo", TRLBAR},
- X {"right", TRLBAR+RANGE+EXTRA},
- X {"substitute", RANGE+EXTRA},
- X {"suspend", TRLBAR+BANG},
- X {"set", EXTRA+TRLBAR},
- X {"setkeymap", NAMEDF+TRLBAR},
- X {"shell", TRLBAR},
- X {"source", NAMEDF+NEEDARG+TRLBAR},
- X {"stop", TRLBAR+BANG},
- X {"t", RANGE+EXTRA+TRLBAR},
- X {"tag", RANGE+BANG+WORD1+TRLBAR+ZEROR},
- X {"tags", TRLBAR},
- X {"undo", TRLBAR},
- X {"unabbreviate", EXTRA+TRLBAR+USECTRLV},
- X {"unmap", BANG+EXTRA+TRLBAR+USECTRLV},
- X {"vglobal", RANGE+EXTRA+DFLALL},
- X {"version", TRLBAR},
- X {"visual", RANGE+BANG+FILE1+TRLBAR},
- X {"write", RANGE+BANG+FILE1+DFLALL+TRLBAR},
- X {"wnext", RANGE+BANG+FILE1+TRLBAR},
- X {"winsize", EXTRA+NEEDARG+TRLBAR},
- X {"wq", BANG+FILE1+DFLALL+TRLBAR},
- X {"xit", BANG+FILE1+DFLALL+TRLBAR},
- X {"yank", RANGE+REGSTR+COUNT+TRLBAR},
- X {"z", RANGE+COUNT+TRLBAR}, /* not supported */
- X {"@", RANGE+EXTRA+TRLBAR},
- X {"!", RANGE+NAMEDFS},
- X {"<", RANGE+COUNT+TRLBAR},
- X {">", RANGE+COUNT+TRLBAR},
- X {"=", RANGE+TRLBAR},
- X {"&", RANGE+EXTRA},
- X {"~", RANGE+TRLBAR} /* not supported */
- X|
- X};
- X|
- END_OF_FILE
- if test 5314 -ne `wc -c <'vim/src/cmdtab.tab'`; then
- echo shar: \"'vim/src/cmdtab.tab'\" unpacked with wrong size!
- fi
- chmod +x 'vim/src/cmdtab.tab'
- # end of 'vim/src/cmdtab.tab'
- fi
- if test -f 'vim/src/makefile.unix' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/makefile.unix'\"
- else
- echo shar: Extracting \"'vim/src/makefile.unix'\" \(7083 characters\)
- sed "s/^X//" >'vim/src/makefile.unix' <<'END_OF_FILE'
- X#
- X# Makefile for Vim on Unix, using gcc or standard cc
- X#
- X
- X#>>>>> choose BSD_UNIX for Sun, Linux, IRIX, NeXT, POSIX and SYSV R4
- X# or Apollo DOMAIN (with SYSTYPE = bsd4.3, change CC below)
- X# or BSD_UNIX with TERMINFO for HPUX
- X# or BSD_UNIX for Convex
- X# or SYSV_UNIX for Dynix/PTX, SCO-UNIX, UNICOS and SYSV R3
- X# or SOLARIS
- X# or UNICOS
- X# or AIX (rs6000) (disable termcap below)
- X# or UTS2 for Amdahl UTS 2.1.x (disable termcap below)
- X# or UTS4 for Amdahl UTS 4.x
- X# or USL for Unix Systems Laboratories (SYSV 4.2)
- XMACHINE = -DBSD_UNIX
- X#MACHINE = -DBSD_UNIX -DDOMAIN
- X#MACHINE = -DBSD_UNIX -DTERMINFO
- X#MACHINE = -DBSD_UNIX -DCONVEX
- X#
- X#MACHINE = -DSYSV_UNIX
- X#MACHINE = -DSYSV_UNIX -DSOLARIS -DTERMINFO
- X#MACHINE = -DSYSV_UNIX -DUNICOS
- X#MACHINE = -DSYSV_UNIX -DAIX
- X#MACHINE = -DSYSV_UNIX -DUTS2
- X#MACHINE = -DSYSV_UNIX -DUTS4 -Xa
- X#MACHINE = -DSYSV_UNIX -DUSL
- X
- X#>>>>> choose one compiler
- X### standard C compiler, with optimizer, debugger or vanilla
- XCC=cc -O
- X#CC=cc -g
- X#CC=cc
- X
- X### GCC on sun, Dynix
- X#CC=gcc -O -Wall -traditional
- X
- X### GCC 2.2.2d on Linux (works for Sun OS also)
- X#CC=gcc -O6 -Wall
- X
- X### GCC on SCO 3.2 and GCC 2.4.5 on NeXT
- X#CC=gcc -O -Wall
- X
- X### GCC on another SCO Unix
- X#CC=gcc -O6 -g -fpcc-struct-return -fwritable-strings
- X
- X### CenterLine cc
- X#CC=clcc -O
- X
- X### Apollo Domain cc
- X#CC=cc -O -A systype,bsd4.3
- X
- X#>>>>> choose options for install
- X### Name of target
- XTARGET = vim
- X
- X### Prefix for location of files
- XPREFIX = /usr/local
- X
- X### Location of binary
- XBINLOC = $(PREFIX)/bin
- X
- X### Location of man page
- XMANLOC = $(PREFIX)/man/man1
- X
- X### Location of help file
- XHELPLOC = $(PREFIX)/lib
- X
- X### Permissions for vim binary
- XBINMOD = 755
- X
- X### Permissions for man page
- XMANMOD = 644
- X
- X### Permissions for help file
- XHELPMOD = 644
- X
- XMANFILE = ../doc/vim.1
- X
- XHELPFILE = ../doc/vim.hlp
- X
- X#>>>>> choose options:
- X### -DDIGRAPHS digraph support
- X### -DNO_FREE_NULL do not call free() with a null pointer
- X### -DCOMPATIBLE start in vi-compatible mode
- X### -DNOBACKUP default is no backup file
- X### -DDEBUG output a lot of debugging garbage
- X### -DSTRNCASECMP use strncasecmp() instead of internal function
- X### -DUSE_LOCALE use setlocale() to change ctype() and others
- X### -DTERMCAP full termcap file support
- X### -DTERMINFO use terminfo entries for builtin termcaps
- X### -DNO_BUILTIN_TCAPS do not include builtin termcap entries
- X### (use only with -DTERMCAP)
- X### -DSOME_BUILTIN_TCAPS include most useful builtin termcap entries
- X### (use only without -DNO_BUILTIN_TCAPS)
- X### -DALL_BUILTIN_TCAPS include all builtin termcap entries
- X### (use only without -DNO_BUILTIN_TCAPS)
- X### -DMAXNAMLEN 31 maximum length of a file name (if not defined in sys/dir.h)
- X### -Dconst= for compilers that don't have type const
- X### -DVIMRC_FILE name of the .vimrc file in current dir
- X### -DEXRC_FILE name of the .exrc file in current dir
- X### -DSYSVIMRC_FILE name of the global .vimrc file
- X### -DSYSEXRC_FILE name of the global .exrc file
- X### -DDEFVIMRC_FILE name of the system-wide .vimrc file
- X### -DVIM_HLP name of the help file
- X### -DUSE_SYSTEM use system() instead of fork/exec for starting a shell
- X### -DVIM_ISSPACE use when isspace() can't handle meta chars
- X### -DSCO SCO UNIX
- X### -UM_XENIX needed on SCO UNIX when using gcc
- XDEFS = -DDIGRAPHS -DTERMCAP -DSOME_BUILTIN_TCAPS -DNO_FREE_NULL \
- X -DSYSVIMRC_FILE=\"\$$HOME/.vimrc\" -DSYSEXRC_FILE=\"\$$HOME/.exrc\" \
- X -DDEFVIMRC_FILE=\"/etc/vimrc\" -DVIM_HLP=\"$(HELPLOC)/vim.hlp\"
- X
- X#>>>>> link with termlib or termcap only if TERMCAP is defined
- X### default
- XLIBS = -ltermlib
- X
- X### termcap is for linux, HPUX, NeXT and others
- X#LIBS = -ltermcap
- X
- X### for IRIX (Silicon Graphics Indigo, __sgi will be defined)
- X#LIBS = -ltermlib -lmalloc -lc_s
- X
- X### UTS 2.1.6a (Amdahl UTS, _UTS will be defined)
- X#LIBS = -ltermlib -lsocket
- X
- X### for SCO UNIX 3.2
- X#LIBS = -ltinfo
- X
- X### for some SCO UNIX with gcc
- X#LIBS = -ltermlib -lmalloc
- X
- X### without TERMCAP defined
- X#LIBS =
- X
- X#>>>>> end of choices
- X###########################################################################
- X
- XCFLAGS = -c $(MACHINE) $(DEFS)
- X
- XINCL = vim.h globals.h param.h keymap.h macros.h ascii.h term.h unix.h debug.h
- X
- XOBJ = alloc.o unix.o buffers.o charset.o cmdline.o csearch.o digraph.o \
- X edit.o fileio.o help.o linefunc.o main.o mark.o message.o misccmds.o \
- X normal.o ops.o param.o quickfix.o regexp.o regsub.o screen.o \
- X script.o search.o storage.o tag.o term.o undo.o
- X
- X$(TARGET): $(OBJ) version.c
- X $(CC) $(CFLAGS) version.c
- X $(CC) -o $(TARGET) $(OBJ) version.o $(LIBS)
- X
- Xdebug: $(OBJ) version.c
- X $(CC) $(CFLAGS) version.c
- X $(CC) -o $(TARGET) -g $(OBJ) version.o $(LIBS)
- X
- Xctags:
- X csh -c ctags *.c *.h
- X
- Xinstall: $(TARGET)
- X chmod $(BINMOD) $(TARGET)
- X cp $(TARGET) $(BINLOC)
- X chmod $(MANMOD) $(MANFILE)
- X cp $(MANFILE) $(MANLOC)
- X chmod $(HELPMOD) $(HELPFILE)
- X cp $(HELPFILE) $(HELPLOC)
- X
- Xclean:
- X -rm -f $(OBJ) mkcmdtab.o version.o core $(TARGET) mkcmdtab
- X -rm -f *.bak
- X
- X#use this in case the files have been transported via an MSDOS system
- X
- XFILES = *.c *.h makefile makefile.* cmdtab.tab proto/*.pro tags
- X
- Xdos2unix:
- X -mv arp_prot.h arp_proto.h
- X -mv ptx_stdl.h ptx_stdlib.h
- X -mv sun_stdl.h sun_stdlib.h
- X -mv makefile.dic makefile.dice
- X -mv makefile.uni makefile.unix
- X -mv makefile.man makefile.manx
- X -mv makefile.6sa makefile.6sas
- X -mv makefile.5sa makefile.5sas
- X for i in $(FILES); do tr -d '\r\032' < $$i > ~tmp~; mv ~tmp~ $$i; echo $$i; done
- X
- X###########################################################################
- X
- Xalloc.o: alloc.c $(INCL)
- X $(CC) $(CFLAGS) alloc.c
- X
- Xunix.o: unix.c $(INCL) unix.h
- X $(CC) $(CFLAGS) unix.c
- X
- Xbuffers.o: buffers.c $(INCL)
- X $(CC) $(CFLAGS) buffers.c
- X
- Xcharset.o: charset.c $(INCL)
- X $(CC) $(CFLAGS) charset.c
- X
- Xcmdline.o: cmdline.c $(INCL) cmdtab.h
- X $(CC) $(CFLAGS) cmdline.c
- X
- Xcsearch.o: csearch.c $(INCL)
- X $(CC) $(CFLAGS) csearch.c
- X
- Xdigraph.o: digraph.c $(INCL)
- X $(CC) $(CFLAGS) digraph.c
- X
- Xedit.o: edit.c $(INCL)
- X $(CC) $(CFLAGS) edit.c
- X
- Xfileio.o: fileio.c $(INCL)
- X $(CC) $(CFLAGS) fileio.c
- X
- Xhelp.o: help.c $(INCL)
- X $(CC) $(CFLAGS) help.c
- X
- Xlinefunc.o: linefunc.c $(INCL)
- X $(CC) $(CFLAGS) linefunc.c
- X
- Xmain.o: main.c $(INCL)
- X $(CC) $(CFLAGS) main.c
- X
- Xmark.o: mark.c $(INCL)
- X $(CC) $(CFLAGS) mark.c
- X
- Xmessage.o: message.c $(INCL)
- X $(CC) $(CFLAGS) message.c
- X
- Xmisccmds.o: misccmds.c $(INCL)
- X $(CC) $(CFLAGS) misccmds.c
- X
- Xnormal.o: normal.c $(INCL) ops.h
- X $(CC) $(CFLAGS) normal.c
- X
- Xops.o: ops.c $(INCL) ops.h
- X $(CC) $(CFLAGS) ops.c
- X
- Xparam.o: param.c $(INCL)
- X $(CC) $(CFLAGS) param.c
- X
- Xquickfix.o: quickfix.c $(INCL)
- X $(CC) $(CFLAGS) quickfix.c
- X
- Xregexp.o: regexp.c $(INCL)
- X $(CC) $(CFLAGS) regexp.c
- X
- Xregsub.o: regsub.c $(INCL)
- X $(CC) $(CFLAGS) regsub.c
- X
- Xscreen.o: screen.c $(INCL)
- X $(CC) $(CFLAGS) screen.c
- X
- Xscript.o: script.c $(INCL)
- X $(CC) $(CFLAGS) script.c
- X
- Xsearch.o: search.c $(INCL)
- X $(CC) $(CFLAGS) search.c
- X
- Xstorage.o: storage.c $(INCL)
- X $(CC) $(CFLAGS) storage.c
- X
- Xtag.o: tag.c $(INCL)
- X $(CC) $(CFLAGS) tag.c
- X
- Xterm.o: term.c $(INCL)
- X $(CC) $(CFLAGS) term.c
- X
- Xundo.o: undo.c $(INCL)
- X $(CC) $(CFLAGS) undo.c
- X
- Xcmdtab.h: cmdtab.tab mkcmdtab
- X ./mkcmdtab cmdtab.tab cmdtab.h
- X
- Xmkcmdtab: mkcmdtab.o
- X $(CC) -o mkcmdtab mkcmdtab.o
- END_OF_FILE
- if test 7083 -ne `wc -c <'vim/src/makefile.unix'`; then
- echo shar: \"'vim/src/makefile.unix'\" unpacked with wrong size!
- fi
- chmod +x 'vim/src/makefile.unix'
- # end of 'vim/src/makefile.unix'
- fi
- if test -f 'vim/src/param.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/param.h'\"
- else
- echo shar: Extracting \"'vim/src/param.h'\" \(6735 characters\)
- sed "s/^X//" >'vim/src/param.h' <<'END_OF_FILE'
- X/* vi:ts=4:sw=4
- X *
- X * VIM - Vi IMproved
- X *
- X * Code Contributions By: Bram Moolenaar mool@oce.nl
- X * Tim Thompson twitch!tjt
- X * Tony Andrews onecom!wldrdg!tony
- X * G. R. (Fred) Walter watmath!watcgl!grwalter
- X */
- X
- X/*
- X * param.h: definition of global variables for settable parameters
- X *
- X * EXTERN is only defined in main.c (and vim.h)
- X */
- X
- X#ifndef EXTERN
- X# define EXTERN extern
- X# define INIT(x)
- X#else
- X# ifndef INIT
- X# define INIT(x) x
- X# endif
- X#endif
- X
- X/*
- X * The following are actual variabables for the parameters
- X */
- X
- XEXTERN int p_ai INIT(= FALSE); /* auto-indent */
- XEXTERN int p_aw INIT(= FALSE); /* auto-write */
- XEXTERN long p_bs INIT(= 0); /* backspace over newlines in insert mode */
- X#if defined(COMPATIBLE) || defined(NOBACKUP)
- XEXTERN int p_bk INIT(= FALSE); /* make backups when writing out files */
- X#else
- XEXTERN int p_bk INIT(= TRUE); /* make backups when writing out files */
- X#endif
- XEXTERN int p_bin INIT(= FALSE); /* editing binary file */
- X#ifdef MSDOS
- XEXTERN int p_biosk INIT(= TRUE); /* Use bioskey() instead of kbhit() */
- X#endif
- X#ifdef UNIX
- XEXTERN char *p_bdir INIT(= BACKUPDIR); /* directory for backups */
- X#endif
- XEXTERN int p_cp INIT(= FALSE); /* vi-compatible */
- X#ifdef DIGRAPHS
- XEXTERN int p_dg INIT(= FALSE); /* enable digraphs */
- X#endif /* DIGRAPHS */
- XEXTERN char *p_dir INIT(= ""); /* directory for autoscript file */
- XEXTERN char *p_ep INIT(= "indent"); /* program name for '=' command */
- XEXTERN int p_ed INIT(= FALSE); /* :s is ed compatible */
- XEXTERN int p_eb INIT(= FALSE); /* ring bell for errors */
- X#ifdef AMIGA
- XEXTERN char *p_ef INIT(= "AztecC.Err"); /* name of errorfile */
- X#else
- XEXTERN char *p_ef INIT(= "errors"); /* name of errorfile */
- X#endif
- X#ifdef AMIGA
- XEXTERN char *p_efm INIT(= "%f>%l:%c:%t:%n:%m");/* error format */
- X#else
- XEXTERN char *p_efm INIT(= "\"%f\",%*[^0123456789]%l: %m"); /* error format */
- X#endif
- X#ifdef COMPATIBLE
- XEXTERN int p_ek INIT(= FALSE); /* function keys with ESC in insert mode */
- X#else
- XEXTERN int p_ek INIT(= TRUE); /* function keys with ESC in insert mode */
- X#endif
- XEXTERN int p_et INIT(= FALSE); /* expand tabs into spaces */
- XEXTERN int p_exrc INIT(= FALSE); /* read .exrc in current dir */
- XEXTERN char *p_fp INIT(= ""); /* name of format program */
- X#ifdef MSDOS
- XEXTERN int p_gr INIT(= TRUE); /* display graphic characters */
- X#else
- XEXTERN int p_gr INIT(= FALSE); /* display graphic characters */
- X#endif
- XEXTERN long p_hi INIT(= 20); /* command line history size */
- XEXTERN char *p_hf INIT(= VIM_HLP); /* name of help file */
- XEXTERN int p_ic INIT(= FALSE); /* ignore case in searches */
- XEXTERN int p_im INIT(= FALSE); /* start editing in input mode */
- XEXTERN char *p_kp INIT(= "ref"); /* keyword program */
- XEXTERN int p_js INIT(= TRUE); /* use two spaces after period with Join */
- XEXTERN int p_list INIT(= FALSE); /* show tabs and newlines graphically */
- XEXTERN int p_magic INIT(= TRUE); /* use some characters for reg exp */
- XEXTERN char *p_mp INIT(= "make"); /* program for :make command */
- XEXTERN int p_ml INIT(= TRUE); /* mode lines on/off */
- XEXTERN long p_mls INIT(= 5); /* number of mode lines */
- XEXTERN int p_nu INIT(= FALSE); /* number lines on the screen */
- XEXTERN int p_paste INIT(= FALSE); /* paste mode */
- XEXTERN char *p_para INIT(= "IPLPPPQPP LIpplpipbp"); /* paragraphs */
- XEXTERN int p_ro INIT(= FALSE); /* readonly */
- XEXTERN int p_remap INIT(= TRUE); /* remap */
- XEXTERN long p_report INIT(= 2); /* minimum number of lines for report */
- XEXTERN int p_ru INIT(= FALSE); /* show column/line number */
- XEXTERN int p_ri INIT(= FALSE); /* reverse direction of insert */
- XEXTERN int p_secure INIT(= FALSE); /* do .exrc and .vimrc in secure mode */
- XEXTERN long p_scroll INIT(= 12); /* scroll size */
- XEXTERN long p_sj INIT(= 1); /* scroll jump size */
- XEXTERN char *p_sections INIT(= "SHNHH HUnhsh"); /* sections */
- X#ifdef MSDOS
- XEXTERN char *p_sh INIT(= "command"); /* name of shell to use */
- X#else
- XEXTERN char *p_sh INIT(= "sh"); /* name of shell to use */
- X#endif
- XEXTERN long p_ss INIT(= 0); /* sideways scrolling offset */
- XEXTERN long p_st INIT(= 0); /* type of shell */
- XEXTERN int p_sr INIT(= FALSE); /* shift round off (for < and >) */
- XEXTERN long p_sw INIT(= 8); /* shiftwidth (for < and >) */
- X#if defined(COMPATIBLE) || defined(UNIX)
- XEXTERN int p_sc INIT(= FALSE); /* show command in status line */
- X#else
- XEXTERN int p_sc INIT(= TRUE); /* show command in status line */
- X#endif
- X#ifndef MSDOS
- XEXTERN int p_sn INIT(= FALSE); /* short names in file system */
- X#endif
- XEXTERN int p_sm INIT(= FALSE); /* showmatch */
- X#if defined(COMPATIBLE)
- XEXTERN int p_smd INIT(= FALSE); /* show mode */
- X#else
- XEXTERN int p_smd INIT(= TRUE); /* show mode */
- X#endif
- XEXTERN int p_si INIT(= FALSE); /* smart-indent for c programs */
- XEXTERN char *p_su INIT(= ".bak.o.h.info.vim"); /* suffixes for wildcard expansion */
- XEXTERN long p_ts INIT(= 8); /* tab size in the file */
- XEXTERN long p_tl INIT(= 0); /* used tag length */
- XEXTERN char *p_tags INIT(= "tags"); /* tags search path */
- X#if defined(COMPATIBLE)
- XEXTERN int p_ta INIT(= FALSE); /* auto textmode detection */
- X#else
- XEXTERN int p_ta INIT(= TRUE); /* auto textmode detection */
- X#endif
- X#ifdef MSDOS
- XEXTERN int p_tx INIT(= TRUE); /* textmode for file I/O */
- X#else
- XEXTERN int p_tx INIT(= FALSE); /* textmode for file I/O */
- X#endif
- XEXTERN long p_tw INIT(= 0); /* textwidth */
- XEXTERN int p_to INIT(= FALSE); /* tilde is an operator */
- XEXTERN int p_timeout INIT(= TRUE); /* mappings entered within one second */
- XEXTERN long p_tm INIT(= 1000); /* timeoutlen (msec) */
- XEXTERN int p_ttimeout INIT(= FALSE); /* key codes entered within one second */
- X#ifdef COMPATIBLE
- XEXTERN long p_ul INIT(= 0); /* number of Undo Levels */
- XEXTERN long p_uc INIT(= 0); /* update count for auto script file */
- X#else
- XEXTERN long p_ul INIT(= 100); /* number of Undo Levels */
- XEXTERN long p_uc INIT(= 100); /* update count for auto script file */
- X#endif
- XEXTERN long p_ut INIT(= 2000); /* update time for auto script file */
- XEXTERN int p_vb INIT(= FALSE); /* visual bell only (no beep) */
- XEXTERN int p_wrap INIT(= TRUE); /* wrap long lines */
- XEXTERN int p_warn INIT(= TRUE); /* warn for changes at shell command */
- XEXTERN int p_ws INIT(= TRUE); /* wrap scan */
- X#ifdef COMPATIBLE
- XEXTERN long p_wc INIT(= Ctrl('E')); /* character for wildcard exapansion */
- X#else
- XEXTERN long p_wc INIT(= TAB); /* character for wildcard exapansion */
- X#endif
- XEXTERN long p_wm INIT(= 0); /* wrapmargin */
- XEXTERN int p_wa INIT(= FALSE); /* write any */
- X#if defined(COMPATIBLE) || defined(NOBACKUP)
- XEXTERN int p_wb INIT(= FALSE); /* write backup files */
- X#else
- XEXTERN int p_wb INIT(= TRUE); /* write backup files */
- X#endif
- XEXTERN int p_ye INIT(= FALSE); /* Y yanks to end of line */
- END_OF_FILE
- if test 6735 -ne `wc -c <'vim/src/param.h'`; then
- echo shar: \"'vim/src/param.h'\" unpacked with wrong size!
- fi
- chmod +x 'vim/src/param.h'
- # end of 'vim/src/param.h'
- fi
- if test -f 'vim/src/regsub.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/regsub.c'\"
- else
- echo shar: Extracting \"'vim/src/regsub.c'\" \(7440 characters\)
- sed "s/^X//" >'vim/src/regsub.c' <<'END_OF_FILE'
- X/* vi:ts=4:sw=4
- X * NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
- X *
- X * This is NOT the original regular expression code as written by
- X * Henry Spencer. This code has been modified specifically for use
- X * with the VIM editor, and should not be used apart from compiling
- X * VIM. If you want a good regular expression library, get the
- X * original code. The copyright notice that follows is from the
- X * original.
- X *
- X * NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
- X *
- X * regsub
- X *
- X * Copyright (c) 1986 by University of Toronto.
- X * Written by Henry Spencer. Not derived from licensed software.
- X *
- X * Permission is granted to anyone to use this software for any
- X * purpose on any computer system, and to redistribute it freely,
- X * subject to the following restrictions:
- X *
- X * 1. The author is not responsible for the consequences of use of
- X * this software, no matter how awful, even if they arise
- X * from defects in it.
- X *
- X * 2. The origin of this software must not be misrepresented, either
- X * by explicit claim or by omission.
- X *
- X * 3. Altered versions must be plainly marked as such, and must not
- X * be misrepresented as being the original software.
- X *
- X * $Log: regsub.c,v $
- X * Revision 1.2 88/04/28 08:11:25 tony
- X * First modification of the regexp library. Added an external variable
- X * 'reg_ic' which can be set to indicate that case should be ignored.
- X * Added a new parameter to regexec() to indicate that the given string
- X * comes from the beginning of a line and is thus eligible to match
- X * 'beginning-of-line'.
- X *
- X * Revisions by Olaf 'Rhialto' Seibert, rhialto@cs.kun.nl:
- X * Changes for vi: (the semantics of several things were rather different)
- X * - Added lexical analyzer, because in vi magicness of characters
- X * is rather difficult, and may change over time.
- X * - Added support for \< \> \1-\9 and ~
- X * - Left some magic stuff in, but only backslashed: \| \+
- X * - * and \+ still work after \) even though they shouldn't.
- X */
- X
- X#include "vim.h"
- X#include "globals.h"
- X#include "proto.h"
- X
- X#ifdef MSDOS
- X# define __ARGS(a) a
- X#endif
- X
- X#define CASECONVERT
- X
- X#include <stdio.h>
- X#include "regexp.h"
- X#include "regmagic.h"
- X
- X#ifdef LATTICE
- X# include <sys/types.h> /* for size_t */
- X#endif
- X
- X#ifndef CHARBITS
- X#define UCHARAT(p) ((int)*(unsigned char *)(p))
- X#else
- X#define UCHARAT(p) ((int)*(p)&CHARBITS)
- X#endif
- X
- Xextern char *reg_prev_sub;
- X
- X#ifdef CASECONVERT
- X /*
- X * We should define ftpr as a pointer to a function returning a pointer to
- X * a function returning a pointer to a function ...
- X * This is impossible, so we declare a pointer to a function returning a
- X * pointer to a function returning void. This should work for all compilers.
- X */
- Xtypedef void (*(*fptr) __ARGS((char *, int)))();
- Xstatic fptr strnfcpy __ARGS((fptr, char *, char *, int));
- X
- Xstatic fptr do_copy __ARGS((char *, int));
- Xstatic fptr do_upper __ARGS((char *, int));
- Xstatic fptr do_Upper __ARGS((char *, int));
- Xstatic fptr do_lower __ARGS((char *, int));
- Xstatic fptr do_Lower __ARGS((char *, int));
- X
- X static fptr
- Xdo_copy(d, c)
- X char *d;
- X int c;
- X{
- X *d = c;
- X
- X return (fptr)do_copy;
- X}
- X
- X static fptr
- Xdo_upper(d, c)
- X char *d;
- X int c;
- X{
- X *d = TO_UPPER(c);
- X
- X return (fptr)do_copy;
- X}
- X
- X static fptr
- Xdo_Upper(d, c)
- X char *d;
- X int c;
- X{
- X *d = TO_UPPER(c);
- X
- X return (fptr)do_Upper;
- X}
- X
- X static fptr
- Xdo_lower(d, c)
- X char *d;
- X int c;
- X{
- X *d = TO_LOWER(c);
- X
- X return (fptr)do_copy;
- X}
- X
- X static fptr
- Xdo_Lower(d, c)
- X char *d;
- X int c;
- X{
- X *d = TO_LOWER(c);
- X
- X return (fptr)do_Lower;
- X}
- X
- X static fptr
- Xstrnfcpy(f, d, s, n)
- X fptr f;
- X char *d;
- X char *s;
- X int n;
- X{
- X while (n-- > 0) {
- X f = (fptr)(f(d, *s)); /* Turbo C complains without the typecast */
- X if (!*s++)
- X break;
- X d++;
- X }
- X
- X return f;
- X}
- X#endif
- X
- X/*
- X * regtilde: replace tildes in the pattern by the old pattern
- X *
- X * Short explanation of the tilde: it stands for the previous replacement
- X * pattern. If that previous pattern also contains a ~ we should go back
- X * a step further... but we insert the previous pattern into the current one
- X * and remember that.
- X * This still does not handle the case where "magic" changes. TODO?
- X *
- X * New solution: The tilde's are parsed once before the first call to regsub().
- X * In the old solution (tilde handled in regsub()) is was possible to get an
- X * endless loop.
- X */
- X char *
- Xregtilde(source, magic)
- X char *source;
- X int magic;
- X{
- X char *newsub = NULL;
- X char *tmpsub;
- X char *p;
- X int len;
- X int prevlen;
- X
- X for (p = source; *p; ++p)
- X {
- X if ((*p == '~' && magic) || (*p == '\\' && *(p + 1) == '~' && !magic))
- X {
- X if (reg_prev_sub)
- X {
- X /* length = len(current) - 1 + len(previous) + 1 */
- X prevlen = strlen(reg_prev_sub);
- X tmpsub = alloc((unsigned)(strlen(source) + prevlen));
- X if (tmpsub)
- X {
- X /* copy prefix */
- X len = (int)(p - source); /* not including ~ */
- X strncpy(tmpsub, source, (size_t)len);
- X /* interpretate tilde */
- X strcpy(tmpsub + len, reg_prev_sub);
- X /* copy postfix */
- X if (!magic)
- X ++p; /* back off \ */
- X strcat(tmpsub + len, p + 1);
- X
- X free(newsub);
- X newsub = tmpsub;
- X p = newsub + len + prevlen;
- X }
- X }
- X else if (magic)
- X strcpy(p, p + 1); /* remove '~' */
- X else
- X strcpy(p, p + 2); /* remove '\~' */
- X }
- X else if (*p == '\\' && p[1]) /* skip escaped characters */
- X ++p;
- X }
- X
- X free(reg_prev_sub);
- X if (newsub)
- X {
- X source = newsub;
- X reg_prev_sub = newsub;
- X }
- X else
- X reg_prev_sub = strsave(source);
- X return source;
- X}
- X
- X/*
- X - regsub - perform substitutions after a regexp match
- X *
- X * Returns the size of the replacement, including terminating \0.
- X */
- X int
- Xregsub(prog, source, dest, copy, magic)
- X regexp *prog;
- X char *source;
- X char *dest;
- X int copy;
- X int magic;
- X{
- X register char *src;
- X register char *dst;
- X register char c;
- X register int no;
- X register int len;
- X#ifdef CASECONVERT
- X fptr func = (fptr)do_copy;
- X#endif
- X
- X if (prog == NULL || source == NULL || dest == NULL)
- X {
- X emsg(e_null);
- X return 0;
- X }
- X if (UCHARAT(prog->program) != MAGIC)
- X {
- X emsg(e_re_corr);
- X return 0;
- X }
- X src = source;
- X dst = dest;
- X
- X while ((c = *src++) != '\0')
- X {
- X no = -1;
- X if (c == '&' && magic)
- X no = 0;
- X else if (c == '\\')
- X {
- X if (*src == '&' && !magic)
- X {
- X ++src;
- X no = 0;
- X }
- X else if ('0' <= *src && *src <= '9')
- X {
- X no = *src++ - '0';
- X }
- X#ifdef CASECONVERT
- X else if (strchr("uUlLeE", *src))
- X {
- X switch (*src++)
- X {
- X case 'u': func = (fptr)do_upper;
- X continue;
- X case 'U': func = (fptr)do_Upper;
- X continue;
- X case 'l': func = (fptr)do_lower;
- X continue;
- X case 'L': func = (fptr)do_Lower;
- X continue;
- X case 'e':
- X case 'E': func = (fptr)do_copy;
- X continue;
- X }
- X }
- X#endif
- X }
- X if (no < 0) /* Ordinary character. */
- X {
- X if (c == '\\')
- X c = *src++;
- X if (copy)
- X {
- X#ifdef CASECONVERT
- X func = (fptr)(func(dst, c));
- X /* Turbo C complains without the typecast */
- X#else
- X *dst = c;
- X#endif
- X }
- X dst++;
- X }
- X else if (prog->startp[no] != NULL && prog->endp[no] != NULL)
- X {
- X len = (int)(prog->endp[no] - prog->startp[no]);
- X if (copy)
- X {
- X#ifdef CASECONVERT
- X func = strnfcpy(func, dst, prog->startp[no], len);
- X#else
- X (void) strncpy(dst, prog->startp[no], len);
- X#endif
- X }
- X dst += len;
- X if (copy && len != 0 && *(dst - 1) == '\0') { /* strncpy hit NUL. */
- X emsg(e_re_damg);
- X goto exit;
- X }
- X }
- X }
- X if (copy)
- X *dst = '\0';
- X
- Xexit:
- X return (int)((dst - dest) + 1);
- X}
- END_OF_FILE
- if test 7440 -ne `wc -c <'vim/src/regsub.c'`; then
- echo shar: \"'vim/src/regsub.c'\" unpacked with wrong size!
- fi
- chmod +x 'vim/src/regsub.c'
- # end of 'vim/src/regsub.c'
- fi
- if test -f 'vim/todo' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/todo'\"
- else
- echo shar: Extracting \"'vim/todo'\" \(6733 characters\)
- sed "s/^X//" >'vim/todo' <<'END_OF_FILE'
- XKnown problems:
- X
- XNone at the moment!
- X
- X
- XProblems that will probably not be solved:
- X
- XSetting the size of the window with ":win" does not always work as expected.
- XAmiga: When using quickfix with the Manx compiler we only get the first 25
- X errors. How do we get the rest?
- XAmiga: The ":cq" command does not always abort the Manx compiler. Why?
- X
- X
- XFurther extentions:
- X
- XIn visual select mode: Inclusion or exclusion of char under cursor depends
- X on movement command. "vwd" and "dw" do the same.
- XFind out why macros of Stephen Riehm are working strange.
- X:s///p prints the line after a substitution.
- XWhen using the up/down cursor keys in insertmode keep the same column.
- XMake CTRL-R (insert register contents) also work in command line mode.
- XUpdatescript() can be done faster with a string instead of a char.
- XWith :args, when there is only one line, don't call wait_return().
- XAdd arguments to ":args", like ":next".
- XWhen 'wrapscan' off give message "search hit BOTTOM without matching pattern".
- XWhen 'wrapscan' on give message "search hit BOTTOM, continuing at TOP".
- XAdd \! to search patterns: matches string that does not match previous atom.
- XScreen updating is inefficient with CTRL-F and CTRL-B when there are long lines.
- XAdd last inserted text to :display.
- XMake z<nr><CR> more useful: put ruler and command on bottom line, reserve
- X more space for command line and messages (less need for hitreturn).
- XUse 'backupdir' for all backup files? (Caughey)
- XUse CTRL-E and CTRL-Y in insert mode for scroll up/down?
- XWhen undone all changes reset the Changed flag.
- XUppercase characters in ex commands can be made lowercase?
- XAdd t_del, code for delete key (termcap 'kD') and maybe some other keys:
- X 'kI' insert key, 'kL' delete line, etc.
- XCTRL-V > should move the block, not whole lines.
- XFiltering a block should only apply to the block, not to the whole lines. When
- X the number of lines is increased, add lines. When decreased, padd with
- X spaces or delete?
- XIn out-of-memory situations: Free allocated space in undo (after asking).
- XWith '#' and '*' commands: search whole words only (using \< and \>)?
- X8-bit codes between 0x80 and 0xa0 cannot be typed directly (mostly msdos
- X problem). Need more codes for delete key and more function keys. Use
- X 2-byte code?
- XInsert octal numbers with CTRL-V o, hexadecimal with CTRL-V x and binary
- X with CTRL-V b.
- XList mappings: Once with and without ^ and ~ (meta keys)
- XIf ':' hit after "hit return to continue" no screen redraw required.
- XAdd option that tells which characters to display directly, e.g.
- X ":set gr=32-126,140-244", others are displayed with ^ and ~ and +
- XAdd option to show character value in octal, decimal, hex and screen code.
- XHow does vi detect whether a filter has messed up the screen? Check source.
- X After ":w !command" a wait_return?
- XWith 'p' command on last line: scroll screen up (also for terminals without
- X insert line command).
- XAmiga: ExpandWildCards in amiga.c: don't expand if there are no wildcards.
- Xunix: Speedup wildcard expansion of "*", "~" and "$": do it internally, more
- X complicated things can still be done with the shell.
- XOnly do wildcard expansion with 'wildchar' when entering a command that has a
- X file name as argument (:r :w :! :e :f :n)?
- XIn regexp.c: "\^" after "\|" or "\(" is start of line, and "\$" before "\|"
- X and "\)" is end of line.
- XRemember the "last changed" time of the edited file and check it before
- X overwriting; another user may have changed it.
- XSupport for command lines longer than 256 characters (for EXINIT).
- XOption for filter when reading/writing a file for compression or crypting.
- XOption to set time for emsg() sleep.
- XMake adjustmark() faster (sorted list of pointers? Hash list?)
- XAdd "next tag" command for tags that have multiple hits.
- XSupport static tags: first search for tags with current filename: "foo.c:bar",
- X then for global tags (without a filename).
- XHistory stack for . command?
- XWith CTRL-^ command swap the two entries at the top of the file list. Put filename
- X in the list only if it is not already there???
- XUse insert/delete char when terminal supports it.
- XWith undo with simple line delete/insert: optimize screen updating.
- XOptimize screen redraw for slow terminals.
- X"edit" option: when off changing the buffer is not possible.
- XAdd "-d null" for editing from a script file without displaying.
- XMSDOS: search for _exrc in the directory where the binary is, instead
- X of using $VIM\_exrc.
- XIn insert mode: Remember the characters that were removed with backspace and
- X re-insert them one at a time with <key1>, all together with <key2>.
- XAmiga: Add possibility to set a keymap. The code in amiga.c does not work yet.
- XImplement 'redraw' option.
- XAdd possibility to put the value of an option into the text: "'lines'p
- XAdd 'crown' option to 'Q' command: preserve indent of second line.
- XUnix: WildExpand: Without csh file name with embedded space will be split in two.
- XAdd special code to 'sections' option to define something else but '{' or '}'
- X as the start of a section (e.g. one shiftwidth to the right).
- XNopaste option: Mappings with non-printable characters are OK.
- XAdd 'indent' option: Always use this amount of indent when starting a new line
- X and when formatting text.
- XAdd option 'comment', initally "/*,*,*/,#", giving the characters at start of
- X a line that should be left alone by the internal formatting.
- XAdd 'scrolloff': scroll when cursor is less then 'scrolloff' lines from top/bottom.
- XAdd option to switch off ignoring braces inside quotes for "%" command??
- XUse pipes for filtering on unix.
- XAllow for +command and -option on any position in argv[].
- XWith CTRL-O commands in insert mode: Allow to go to after last char in line.
- XAdd commands like ]] and [[ that do not include the line jumped to.
- X
- XFrom Elvis:
- Xfontchanges recognized "\\fB" etc.
- X:color command
- X:if and friends, conditional statements
- XChange cursor shape in command/insert mode.
- X
- X
- XFar future extentions:
- X
- XMSdos: use extended or expanded memory.
- XUse disk swap file when editing very large files.
- XWhen executing macro's: Save each line for undo only once.
- XSmart cut/paste: recognize words and adjust spaces before/after them.
- XAdd 'notwsuffixes' option: suffixes for files where 'tw' should be 0.
- XKeyword completion: first look in the file for a match, then in a dictionary.
- XSupport mouse control.
- XSupport multiple windows (like xvi or emacs)
- XOption verbose; when on keep the screen uptodate, when off only redisplay when
- X input needed.
- XRemember message line for redraw. Integrate the command line in updateScreen().
- XMode to keep text formatted while inserting/deleting.
- XMode to keep C-code formatted (sort of on-line indent). Use colors for
- X keywords, comments, etc.
- XKorn-shell like command line editing (like editing a single line with vi). Use
- X :cmap! for mappings.
- END_OF_FILE
- if test 6733 -ne `wc -c <'vim/todo'`; then
- echo shar: \"'vim/todo'\" unpacked with wrong size!
- fi
- chmod +x 'vim/todo'
- # end of 'vim/todo'
- fi
- echo shar: End of archive 3 \(of 25\).
- cp /dev/null ark3isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 25 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-
- ===============================================================================
- Bram Moolenaar | DISCLAIMER: This note does not
- Oce Nederland B.V., Research & Development | necessarily represent the position
- p.o. box 101, 5900 MA Venlo | of Oce-Nederland B.V. Therefore
- The Netherlands phone +31 77 594077 | no liability or responsibility for
- UUCP: mool@oce.nl fax +31 77 595473 | whatever will be accepted.
-
- exit 0 # Just in case...
-