home *** CD-ROM | disk | FTP | other *** search
- Known problems:
-
- None at the moment!
-
-
- Problems that will probably not be solved:
-
- Setting the size of the window with ":win" does not always work as expected.
- Amiga: When using quickfix with the Manx compiler we only get the first 25
- errors. How do we get the rest?
- Amiga: The ":cq" command does not always abort the Manx compiler. Why?
-
-
- Further extentions:
-
- In visual select mode: Inclusion or exclusion of char under cursor depends
- on movement command. "vwd" and "dw" do the same.
- Find out why macros of Stephen Riehm are working strange.
- :s///p prints the line after a substitution.
- When using the up/down cursor keys in insertmode keep the same column.
- Make CTRL-R (insert register contents) also work in command line mode.
- Updatescript() can be done faster with a string instead of a char.
- With :args, when there is only one line, don't call wait_return().
- Add arguments to ":args", like ":next".
- When 'wrapscan' off give message "search hit BOTTOM without matching pattern".
- When 'wrapscan' on give message "search hit BOTTOM, continuing at TOP".
- Add \! to search patterns: matches string that does not match previous atom.
- Screen updating is inefficient with CTRL-F and CTRL-B when there are long lines.
- Add last inserted text to :display.
- Make z<nr><CR> more useful: put ruler and command on bottom line, reserve
- more space for command line and messages (less need for hitreturn).
- Use 'backupdir' for all backup files? (Caughey)
- Use CTRL-E and CTRL-Y in insert mode for scroll up/down?
- When undone all changes reset the Changed flag.
- Uppercase characters in ex commands can be made lowercase?
- Add t_del, code for delete key (termcap 'kD') and maybe some other keys:
- 'kI' insert key, 'kL' delete line, etc.
- CTRL-V > should move the block, not whole lines.
- Filtering a block should only apply to the block, not to the whole lines. When
- the number of lines is increased, add lines. When decreased, padd with
- spaces or delete?
- In out-of-memory situations: Free allocated space in undo (after asking).
- With '#' and '*' commands: search whole words only (using \< and \>)?
- 8-bit codes between 0x80 and 0xa0 cannot be typed directly (mostly msdos
- problem). Need more codes for delete key and more function keys. Use
- 2-byte code?
- Insert octal numbers with CTRL-V o, hexadecimal with CTRL-V x and binary
- with CTRL-V b.
- List mappings: Once with and without ^ and ~ (meta keys)
- If ':' hit after "hit return to continue" no screen redraw required.
- Add option that tells which characters to display directly, e.g.
- ":set gr=32-126,140-244", others are displayed with ^ and ~ and +
- Add option to show character value in octal, decimal, hex and screen code.
- How does vi detect whether a filter has messed up the screen? Check source.
- After ":w !command" a wait_return?
- With 'p' command on last line: scroll screen up (also for terminals without
- insert line command).
- Amiga: ExpandWildCards in amiga.c: don't expand if there are no wildcards.
- unix: Speedup wildcard expansion of "*", "~" and "$": do it internally, more
- complicated things can still be done with the shell.
- Only do wildcard expansion with 'wildchar' when entering a command that has a
- file name as argument (:r :w :! :e :f :n)?
- In regexp.c: "\^" after "\|" or "\(" is start of line, and "\$" before "\|"
- and "\)" is end of line.
- Remember the "last changed" time of the edited file and check it before
- overwriting; another user may have changed it.
- Support for command lines longer than 256 characters (for EXINIT).
- Option for filter when reading/writing a file for compression or crypting.
- Option to set time for emsg() sleep.
- Make adjustmark() faster (sorted list of pointers? Hash list?)
- Add "next tag" command for tags that have multiple hits.
- Support static tags: first search for tags with current filename: "foo.c:bar",
- then for global tags (without a filename).
- History stack for . command?
- With CTRL-^ command swap the two entries at the top of the file list. Put filename
- in the list only if it is not already there???
- Use insert/delete char when terminal supports it.
- With undo with simple line delete/insert: optimize screen updating.
- Optimize screen redraw for slow terminals.
- "edit" option: when off changing the buffer is not possible.
- Add "-d null" for editing from a script file without displaying.
- MSDOS: search for _exrc in the directory where the binary is, instead
- of using $VIM\_exrc.
- In insert mode: Remember the characters that were removed with backspace and
- re-insert them one at a time with <key1>, all together with <key2>.
- Amiga: Add possibility to set a keymap. The code in amiga.c does not work yet.
- Implement 'redraw' option.
- Add possibility to put the value of an option into the text: "'lines'p
- Add 'crown' option to 'Q' command: preserve indent of second line.
- Unix: WildExpand: Without csh file name with embedded space will be split in two.
- Add special code to 'sections' option to define something else but '{' or '}'
- as the start of a section (e.g. one shiftwidth to the right).
- Nopaste option: Mappings with non-printable characters are OK.
- Add 'indent' option: Always use this amount of indent when starting a new line
- and when formatting text.
- Add option 'comment', initally "/*,*,*/,#", giving the characters at start of
- a line that should be left alone by the internal formatting.
- Add 'scrolloff': scroll when cursor is less then 'scrolloff' lines from top/bottom.
- Add option to switch off ignoring braces inside quotes for "%" command??
- Use pipes for filtering on unix.
- Allow for +command and -option on any position in argv[].
- With CTRL-O commands in insert mode: Allow to go to after last char in line.
- Add commands like ]] and [[ that do not include the line jumped to.
-
- From Elvis:
- fontchanges recognized "\\fB" etc.
- :color command
- :if and friends, conditional statements
- Change cursor shape in command/insert mode.
-
-
- Far future extentions:
-
- MSdos: use extended or expanded memory.
- Use disk swap file when editing very large files.
- When executing macro's: Save each line for undo only once.
- Smart cut/paste: recognize words and adjust spaces before/after them.
- Add 'notwsuffixes' option: suffixes for files where 'tw' should be 0.
- Keyword completion: first look in the file for a match, then in a dictionary.
- Support mouse control.
- Support multiple windows (like xvi or emacs)
- Option verbose; when on keep the screen uptodate, when off only redisplay when
- input needed.
- Remember message line for redraw. Integrate the command line in updateScreen().
- Mode to keep text formatted while inserting/deleting.
- Mode to keep C-code formatted (sort of on-line indent). Use colors for
- keywords, comments, etc.
- Korn-shell like command line editing (like editing a single line with vi). Use
- :cmap! for mappings.
-