-*todo.txt* For Vim version 7.0aa. Last change: 2004
+*todo.txt* For Vim version 7.0aa. Last change: 2004
VIM REFERENCE MANUAL by Bram Moolenaar
-------------------- Known bugs and current work -----------------------
-Endless loop when "syntax reset" in ~/.vim/after/syntax/syncolor.vim.
-Crash when using ":set background=dark". Solved!
-Limit init_highlight() to five recursive calls?
- patch for Vim 6.3 for free_oldval and init_highlight()?
+Add browsedir(): like browse() but for directories.
+ For GTK it already sort-of works when the default name is empty.
-Crash with long line. (Walter Briscoe, Sep 13)
+When ":file" sets the alternate file name and it's empty this doesn't make
+sense. Could skip it, but would that break scripts that rely on the buffer to
-Add fix for appending BOM to 6.3? Reported by Alex Jakushev.
-Win32 console doesn't compile. Does GetCommandLineW() work for non-GUI?
-(Dave Roberts) If yes, then move the functions to another file.
+Folding support for 2html. (Carl Osterwisch, Oct 4)
+How to evaluate an expression in the sandbox?
Aborting at the ATTENTION prompt causes trouble:
buffer remains active, nwindows isn't closed (fixed in buffer.c)
Solved in os_mswin.c. Add to 6.3?
+Patch for Win32 textdomain: NAKADAIRA Yukihiro, Sept 17.
+GTK 2 error message with this sequence (Namsh Oct 7):
+ - start gvim with French locale
+ - :unlet did_install_default_menus
+ - :source $VIMRUNTIME/menu.vim
Valencia: executable("xxd.exe") returns true while "!xxd" doesn't work.
+Works fine for me. Only in specific environment?
+netrw plugin: When coming back to the same directory a scratch buffer appears.
+Only on Win32. (Charles Campbell, Sept 15)
+New Eiffel indent script from Jocelyn Fiat. OK with David Clarke.
+Win32: not using 'tenc' in GUI causes problems on Win 98? (Jiri Jezdinsky)
+Try out with Russian input method.
+After "Y" '[ and '] are not at start/end of the yanked text. (Ken Clark)
+Patch for adding 'fsync' option: disable using fsync() on file write. (Sept.
+Folding for C syntax: (Olaf Dabrunz 27 sept 2004)
+Add remark about using Vim with VS .net to Visvim docs. (David Fishburn, Sept
+Vim icon for documents associated with Vim? (Rahul Kulkarni, sept 28)
+Add a function to test if a font name actually works.
+When using "set laststatus=2 cmdheight=2" in the .gvimrc you only get one line
+for the cmdline. (Christian Robinson) When the Vim window is resized (e.g.,
+xterm with many lines) it's OK.
7 For Visual mode: Command to do a search for the string in the marked
area. Only when fewer than two lines. Use "g/" and "gb". Patch from
Yegappan Lakshmanan. 2004 Jul 11
+ When more than two lines: perform a search in the Visual area only.
8 Make 'statusline' local, so that each window can have a different
value. But should it also be local to a buffer? (Yegappan Lakshmanan
has a patch, 2004 Jul 11)
- findmatch() should be adjusted for Lisp. See remark at
get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram,
+ - Set user variables to the names of the actually used user vimrc file,
+ the first directory looked for user plugins/syntax files.
+ $MYVIMRC for .vimrc, $MYGVIMRC for .gvimrc, $MYRUNTIME/plugin for
+ Also: when the environment variable exists, use it. If it doesn't
+ exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR
- In the kvim/KDE source files fix the formatting.
the contains list directly for matching syntax items.
- Keep wordlist in syntax group, load it only once and use it several
times later. Sort of global syntax items.
+ - Use wordlists from openoffice (myspell). Work together with them to
+ update the wordlist. (Adri Verhoef, Aad Nales)
- REFACTORING: The main() function is very long. Move parts to separate
functions, especially loops. Ideas from Walter Briscoe (2003 Apr 3, 2004
http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
Ivan Villanueva has something for Java.
+ Can't call it Intellisense, it is a trademark by Microsoft.
+ Ideas from the Vim 7 BOF at SANE:
+ - It's not possible to have one solution for all languages. Design an
+ interface for completion plugins. The matches can be done in a
+ - For interpreted languages, use the interpreter to obtain information.
+ Should work for Java (Eclipse does this), Python, Tcl, etc.
+ - Check Readline for its completion interface.
+ - Use ctags for other languages. Writing a file could trigger running
+ ctags, merging the tags of the changed file.
+- UNDO TREE: keep all states of the text, don't delete undo info.
+ When making a change, instead of clearing any future undo (thus redo)
+ info, make a new branch.
+ To navigate through the undo tree number the states of the text
+ sequentially and make it possible to go through the tree in that order.
+ Could also use timestamps (to show the time and/or jump to a state five
+ minutes ago). (David Schweikert)
+ To go from one state to another: backtrack to a common state, then forward
+ Only difficult thing: When going back in time, how to find the previous
+ text state in the tree?
+ Show the list of changes in a window to be able to select a version?
- PERSISTENT UNDO: store undo in a file.
- Support multiple threads. Show the list of changes in a window to be able
+ Use timestamps, so that a version a certain time ago can be found and info
+ before some time/date can be flushed. 'undopersist' gives maximum time to
+ keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and
+ extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
7 SWAP FILE CHANGE: When a dos format file was edited with ":e ++ff=unix",
Vim is killed and trying to recover the file, 'ff' will be dos. Same for
non-default fileencoding. (Miroslaw Dobrzanski-Neumann, Jul 17)
- STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.
Especially when using the scrollbar. Typing a cursor-movement command
scrolls back to where the cursor is.
+- Execute a function with standard option values. No need to save and
+ restore option values. Especially useful for new options. Problem: how
+ to avoid a performance penalty (esp. for string options)?
8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron)
Add the 'maxcombining' option to set the nr. of composing characters.
+ At the same time support more colors (use two bytes when necessary).
- Add a few more things to 'diffopt': "horizontal", "vertical",
"foldcolumn". (Benji Fisher, 2004 Jun 21)
- FileChangedShellPost autocommand event: after (not) reloading a changed
- "onemore" flag in 'virtualedit': move cursor past end of line. Patch by
Mattias Flodin (2004 Jul 30)
+The fsync() in buf_write() causes laptop harddisk spinup. Add an option to
Support ":set syntax=cpp.doxygen"? Suggested patch by Michael Geddes (9 Aug
2004). Should also work for 'filetype'.
Win32: In 'fileencodings' allow using "acp" for the active codepage. Useful
+Win32: Cannot edit a file starting with # with --remote. (Giuseppe Bilotta,
For manipulating buffers without opening a new window, support Virtual
:virtwin let l = GetBufLine(4, 10)
Mathias Michaelis (2004 Sep 6)
Also place vimtutor.bat in %windir%?
+Support ":enew filename" to edit a new buffer with a name. It's like "enew |
+file filename" but without setting the alternate file to a buffer without a
+name. (Charles Campbell)
9 In Ex mode, "u" undoes all changes, not just the last one. (John Cowan)
- The default font is ugly. bold text isn't displayed correctly.
+ (bold characters are half the width of normal characters)
- Error messages when starting up. The "tip of the day" box is empty.
- Encoding of menu items needs to be converted. (Yasuhiro Matsumoto)
*Leave - Leaving a mode (in pair with the above *Enter)
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
when exiting isn't a good idea.
+ WinMoved - when windows have been moved around, e.g, ":wincmd J"
CmdUndefined - Like FuncUndefined but for user commands.
SearchPost - After doing a search command (e.g. to do "M")
- Add command to repeat a whole mapping ("." only repeats the last change in
a mapping). Also: Repeat a whole insert command, including any mappings
that it included. Sort-of automatic recording?
-- Make it possible to undo all the commands from a mapping, including a
- trailing unfinished command, e.g. for ":map K iX^[r".
- Add an option to ":map" that makes it display the special keys in
<> notation (e.g. <CR> instead of ^M). Or just always do this?
- Include an option (or flag to 'cpoptions') that makes errors in mappings
+- Make it possible to undo all the commands from a mapping, including a
+ trailing unfinished command, e.g. for ":map K iX^[r".
- When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
possible, even when typing <Esc> immediately. (Grahn) Also for "i", "a",
etc. Postpone saving for undo until something is really inserted?
version without changing the rest of the file. Stop doing this when a
change includes only some of these lines and changes the line count. Need
to store these undo actions as a separate change that can be undone.
-7 Add an undo tree: When making a change, instead of clearing any future
- undo (thus redo) info, make a new branch. How to navigate through the
- For u_save() include the column number. This can be used to set '[ and '].
And in the future the undo can be made more efficient (Webb).
- In out-of-memory situations: Free allocated space in undo, and reduce the
- Use digraph table to tell Vim about the collating sequence of special
-8 Add command to remove (all) digraphs. (Brown)
+8 Add command to remove (all) digraphs. (Brown)
7 Support different sets of digraphs (depending on the character set?). At
least Latin1/Unicode, Latin-2, MS-DOS (esp. for Win32).