comparison runtime/doc/todo.txt @ 713:0c381fb7846c v7.0214

updated for version 7.0214
author vimboss
date Sat, 04 Mar 2006 21:58:33 +0000
parents 7cf327ccb632
children 0f9f4761ad9c
comparison
equal deleted inserted replaced
712:2e887dfa8917 713:0c381fb7846c
1 *todo.txt* For Vim version 7.0aa. Last change: 2006 Mar 03 1 *todo.txt* For Vim version 7.0aa. Last change: 2006 Mar 04
2 2
3 3
4 VIM REFERENCE MANUAL by Bram Moolenaar 4 VIM REFERENCE MANUAL by Bram Moolenaar
5 5
6 6
28 be worked on, but only if you sponsor Vim development. See |sponsor|. 28 be worked on, but only if you sponsor Vim development. See |sponsor|.
29 29
30 *known-bugs* 30 *known-bugs*
31 -------------------- Known bugs and current work ----------------------- 31 -------------------- Known bugs and current work -----------------------
32 32
33 Function to get and restore window position? Including topline, column 33 Add options to optwin.vim:
34 offset, etc. Use dictionary to store the info? 34 tabpagemax
35 35 tabline
36 Crash with X command server (Ciaran McCreesh). 36 showtabline
37 37 guitablabel
38 Ctags still hasn't included the patch. Darren is looking for someone to do 38 formatexpr
39 maintanance. Is there another solution? 39
40 Add options to quickref.txt:
41 guitablabel
42 showtabline
43 tabline
44 tabpagemax
40 45
41 spelling: 46 spelling:
42 - Also use the spelling dictionary for dictionary completion.
43 -> proper case compare against pattern, also for multi-byte
44 - Using KEEPCASE flag still allows all-upper word, docs say it doesn't.
45 Don't allow it, because there is no other way to do this.
46 - Use runtime/cleanadd script to cleanup .add files. When to invoke it?
47 After deleting a word with "zw" and some timestamp difference perhaps?
48 Store it as spell/cleanadd.vim.
49 - Have "zg" and "zw" report the file that was modified. (Marvin Renich)
50 - Add a command like "zg" that selects one of the files in 'spellfile'.
51 - Add a "zug" command that undoes "zg"? Deletes the good word instead of
52 adding a bad word like "zw" would. Use "zuw" to undo "zw"? (Antonio
53 Colombo)
54
55 - Rename COMPOUNDFLAGS to COMPOUNDPATTERN or COMPOUNDRULE? 47 - Rename COMPOUNDFLAGS to COMPOUNDPATTERN or COMPOUNDRULE?
56 Hunspell now uses COMPOUND with a count. 48 Hunspell now uses COMPOUND with a count.
57 - Check out Hunspell 1.1.3. 49 - Check out Hunspell 1.1.3.
50 Try to make the newly added features compatible.
58 what does MAXNGRAMSUGS do? 51 what does MAXNGRAMSUGS do?
59 See announcement (Nemeth, 5 jan) 52 See announcement (Nemeth, 5 jan)
60 is COMPLEXPREFIXES necessary now that we have flags for affixes? 53 is COMPLEXPREFIXES necessary now that we have flags for affixes?
61 - Look into hungarian dictionary: 54 - Look into Hungarian dictionary:
62 http://magyarispell.sourceforge.net/hu_HU-1.0.tar.gz 55 http://magyarispell.sourceforge.net/hu_HU-1.0.tar.gz
63 - Support flags on a suffix. Used for second level affixes, rare and
64 nocomp. The flags may also be used for compounding. Default is an OR
65 mechanism with the flags of the word. Adding "compset" on the affixes
66 means the compound flags of the word are not used.
67 Instead of "SFX a 0 add/FLAGS ." we could use "SFX a 0 add . /FLAGS" (or
68 support both).
69 - When compounding Hunspell doesn't allow affixes inside the compound word, 56 - When compounding Hunspell doesn't allow affixes inside the compound word,
70 only before and after it. COMPOUNDPERMITFLAG can be used to allow it. 57 only before and after it. COMPOUNDPERMITFLAG can be used to allow it.
71 Check Myspell and Aspell if they also work this way. 58 Check Myspell and Aspell if they also work this way.
72 Thus a word + suffix needs a flag that it can't be used with a following 59 Thus a word + suffix needs a flag that it can't be used with a following
73 compound, and word + prefix can't be after another word in a compound. 60 compound, and word + prefix can't be after another word in a compound.
74 - Implement COMPOUNDFORBIDFLAG . 61 - Implement COMPOUNDFORBIDFLAG .
75 - Support breakpoint character · 0xb7 and ignore it? Makes it possible to use
76 same wordlist for hyphenation.
77
78 Is it possible to keep the command-line window open? Would actually work like
79 closing it, executing the command and re-opening it (at the same position).
80 62
81 Mac unicode patch (Da Woon Jung): 63 Mac unicode patch (Da Woon Jung):
64 - Mac: Unicode input and display (Eckehard Berns, 2004 June 27)
65 Other patch from Da Woon Jung, 2005 Jan 16.
66 8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
67 New patch 2004 Jun 16
82 - configuration option for platform: i386, ppc or both. 68 - configuration option for platform: i386, ppc or both.
83 Use __LITTLE_ENDIAN__ to test for current platform. 69 Use __LITTLE_ENDIAN__ to test for current platform.
84 - selecting proportional font breaks display 70 - selecting proportional font breaks display
85 - UTF-8 text causes display problems. Font replacement causes this. 71 - UTF-8 text causes display problems. Font replacement causes this.
86 - Command-key mappings do not work. (Alan Schmitt) 72 - Command-key mappings do not work. (Alan Schmitt)
87 - Add default key mappings for the command key (Alan Schmitt) 73 - Add default key mappings for the command key (Alan Schmitt)
88 use http://macvim.org/OSX/files/gvimrc 74 use http://macvim.org/OSX/files/gvimrc
89 - With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work. 75 - With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
90 (Alan Schmitt) 76 (Alan Schmitt)
91 77
92 Patch to add a few flags to search(). (Benji Fisher, Nov 29, doc update Dec 1) 78 8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron)
79 Add the 'maxcombining' option to set the nr. of composing characters.
80 At the same time support 32 bit Unicode characters?
81 8 "ga" should show all composing characters, also if there are more than 2.
82 8 Searching for a composing character by itself should work. Perhaps "."
83 with a composing char should work too.
93 84
94 Win32: Use the free downloadable compiler 7.1 (2003). Figure out how to do 85 Win32: Use the free downloadable compiler 7.1 (2003). Figure out how to do
95 debugging (with Agide?) and describe it. (George Reilly) 86 debugging (with Agide?) and describe it. (George Reilly)
96 Try out using the free MS compiler and debugger, using Make_mvc.mak. 87 Try out using the free MS compiler and debugger, using Make_mvc.mak.
97 Try using Visual C++ Express 2005. (Ilya Bobir Dec 20) 88 Also generate the .pdb file that can be used to generate a useful crash report
98 Disadvantage: Annoying warning messages, requires ..._NO_DEPRECATE, this 89 on MS-Windows. (George Reilly)
99 is not a standard compiler.
100 90
101 Win32: Check that installer puts menu items in "all users" dir when possible, 91 Win32: Check that installer puts menu items in "all users" dir when possible,
102 not administrator dir. 92 not administrator dir.
93
94 When "= evaluation results in a List, use it as a sequence of lines.
95 As if join(list, "\n") was used.
103 96
104 Autoload: 97 Autoload:
105 - Add a Vim script in $VIMRUNTIME/tools that takes a file with a list of 98 - Add a Vim script in $VIMRUNTIME/tools that takes a file with a list of
106 script names and a help file and produces a script that can be sourced to 99 script names and a help file and produces a script that can be sourced to
107 install the scripts in the user's directories. 100 install the scripts in the user's directories.
110 script autoload/mylib.vim 103 script autoload/mylib.vim
111 script autoload/yourlib.vim 104 script autoload/yourlib.vim
112 helpfile doc/myscript.txt 105 helpfile doc/myscript.txt
113 For the "helpfile" item ":helptags" is run. 106 For the "helpfile" item ":helptags" is run.
114 107
115 Add ":smap", Select mode mapping? Otherwise: ":sunmap", so that Visual mode
116 mappings for normal keys can be removed from Select mode.
117
118 When expanding on the command line, recognize shell commands, such as ":!cmd". 108 When expanding on the command line, recognize shell commands, such as ":!cmd".
119 Complete command names by searching in $PATH. When completing file names 109 Complete command names by searching in $PATH. When completing file names
120 escape special characters ";&<>(){}". (Adri Verhoef) 110 escape special characters ";&<>(){}". (Adri Verhoef)
121 111
122 Are there more commands where v:swapcommand can be set to something useful? 112 Are there more commands where v:swapcommand can be set to something useful?
123
124 Put autocommand event names in a hashtable for faster lookup?
125
126 Awaiting response:
127 - Win32: tearoff menu window should have a scrollbar when it's taller than
128 the screen.
129 - mblen(NULL, 0) also in Vim 6.3?
130 113
131 114
132 CONSIDERED FOR VERSION 7.0: 115 CONSIDERED FOR VERSION 7.0:
133 116
134 Omni completion: 117 Omni completion:
146 - Add an "auto" mode: after typing a character (or string) completion is 129 - Add an "auto" mode: after typing a character (or string) completion is
147 done for the longest common string. plugin defines the possible 130 done for the longest common string. plugin defines the possible
148 characters/strings. (Martin Stubenschrott) 131 characters/strings. (Martin Stubenschrott)
149 And/or: Provide a function to popup the menu, so that an insert mode 132 And/or: Provide a function to popup the menu, so that an insert mode
150 mapping can start it (with a specific selection). 133 mapping can start it (with a specific selection).
151 - GUI implementation of the popup menu. 134 - Show "info" from a match in preview window (with an option or by opening
152 - Show "info" from a match in preview window. 135 a preview window with a specific name).
153 Or use one window for matches, another for context/info (Doug Kearns, 136 Or use one window for matches, another for context/info (Doug Kearns,
154 2005 Sep 13) 137 2005 Sep 13)
155 - Ideas on: http://www.wholetomato.com/ 138 - Ideas on: http://www.wholetomato.com/
156 139
157 Completion logic: 140 Completion logic:
197 Only difficult thing: When going back in time, how to find the previous 180 Only difficult thing: When going back in time, how to find the previous
198 text state in the tree? 181 text state in the tree?
199 Show the list of changes in a window to be able to select a version? 182 Show the list of changes in a window to be able to select a version?
200 Also: See ":e" as a change operation, find the changes and add them to the 183 Also: See ":e" as a change operation, find the changes and add them to the
201 undo info. Needed for when an external tool changes the file. 184 undo info. Needed for when an external tool changes the file.
202 - PERSISTENT UNDO: store undo in a file. 185
203 Use timestamps, so that a version a certain time ago can be found and info
204 before some time/date can be flushed. 'undopersist' gives maximum time to
205 keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and
206 extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
207 - EMBEDDING: Make it possible to run Vim inside a window of another program. 186 - EMBEDDING: Make it possible to run Vim inside a window of another program.
208 For Xwindows this can be done with XReparentWindow(). 187 For Xwindows this can be done with XReparentWindow().
209 For GTK Neil Bird has a patch to use Vim like a widget. 188 For GTK Neil Bird has a patch to use Vim like a widget.
210 - Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block 189
211 can be selected with CTRL-V. Allow '$' (end of line) for col2.
212 - Add DEBUGGER INTERFACE. Implementation for gdb by Xavier de Gaye.
213 Should work like an IDE. Try to keep it generic. Now found here:
214 http://clewn.sf.net.
215 And the idevim plugin/script.
216 To be able to start the debugger from inside Vim: For GUI run a program
217 with a netbeans connection; for console: start a program that splits the
218 terminal, runs the debugger in one window and reconnect Vim I/O to the
219 other window.
220 Wishes for NetBeans commands:
221 - make it possible to have 'defineAnnoType' also handle terminal colors.
222 - send 'balloonText' events for the cursor position (using CursorHold ?)
223 in terminal mode.
224 - ECLIPSE plugin. Problem is: the interface is very complicated. Need to
225 implement part in Java and then connect to Vim. Some hints from Alexandru
226 Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR
227 198 standard http://www.jcp.org/en/jsr/detail?id=198.
228 Eclim does it: http://eclim.sourceforge.net/ (Eric Van Dewoestine)
229 Plugin that uses a terminal emulator: http://vimplugin.sf.net
230 - STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.
231 Especially when using the scrollbar. Typing a cursor-movement command
232 scrolls back to where the cursor is.
233 - Execute a function with standard option values. No need to save and
234 restore option values. Especially useful for new options. Problem: how
235 to avoid a performance penalty (esp. for string options)?
236 8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron)
237 Add the 'maxcombining' option to set the nr. of composing characters.
238 At the same time support 32 bit Unicode characters?
239 8 "ga" should show all composing characters, also if there are more than 2.
240 8 Searching for a composing character by itself should work. Perhaps "."
241 with a composing char should work too.
242 - Add a few more things to 'diffopt': "horizontal", "vertical", 190 - Add a few more things to 'diffopt': "horizontal", "vertical",
243 "foldcolumn". (Benji Fisher, 2004 Jun 21) 191 "foldcolumn". (Benji Fisher, 2004 Jun 21)
244 - FileChangedShellPost autocommand event: after (not) reloading a changed 192 - FileChangedShellPost autocommand event: after (not) reloading a changed
245 file. Can be used to update statusline oslt. 193 file. Can be used to update statusline oslt.
246 - VimResized autocmd event: When the Vim window has been resized (SIGWINCH) 194 - VimResized autocmd event: When the Vim window has been resized (SIGWINCH)
247 patch from Yakov Lerner, 2003 July 24. 195 patch from Yakov Lerner, 2003 July 24.
248 It's not clear that this doesn't cause problems when the executed 196 It's not clear that this doesn't cause problems when the executed
249 commands do something like changing 'lines'. Esp. because the 197 commands do something like changing 'lines'. Esp. because the
250 screen has not yet been allocated with the new size. 198 screen has not yet been allocated with the new size.
251 - Running a shell command from the GUI still has limitations. Look into how
252 the Vim shell project can help: http://vimshell.wana.at
253 - Displaying size of Visual area: use 24-33 column display.
254 When selecting multiple lines, up to about a screenful, also count the
255 characters.
256 - Mac: Unicode input and display (Eckehard Berns, 2004 June 27)
257 Other patch from Da Woon Jung, 2005 Jan 16.
258 8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
259 New patch 2004 Jun 16
260 9 Add cursor-column highlighting. Enable it with 'cursorcolumn' option, 199 9 Add cursor-column highlighting. Enable it with 'cursorcolumn' option,
261 set highlighting with "CursorColumn" group. Useful for aligning text. 200 set highlighting with "CursorColumn" group. Useful for aligning text.
262 Also cursor-row highlighting. Patch from Yasuhiro Matsumoto for 201 Also cursor-row highlighting. Patch from Yasuhiro Matsumoto for
263 underlining the cursor line: 2004 Jun 17. Should use highlight group 202 underlining the cursor line: 2004 Jun 17. Should use highlight group
264 instead. 203 instead.
267 7 Make ":startinsert" command work directly for functions and scripts? 206 7 Make ":startinsert" command work directly for functions and scripts?
268 Also make it possible to append (it's difficult at end of line). 207 Also make it possible to append (it's difficult at end of line).
269 - When using 'incsearch" CTRL-R CTRL-W gets the word under the cursor, but 208 - When using 'incsearch" CTRL-R CTRL-W gets the word under the cursor, but
270 the part that already matched is doubled then. Remove the part of the 209 the part that already matched is doubled then. Remove the part of the
271 word that would be doubled. Make it work line CTRL-N in Insert mode. 210 word that would be doubled. Make it work line CTRL-N in Insert mode.
272 - Add Lua interface? (Wolfgang Oertl)
273 - "onemore" flag in 'virtualedit': move cursor past end of line. Patch by 211 - "onemore" flag in 'virtualedit': move cursor past end of line. Patch by
274 Mattias Flodin (2004 Jul 30) 212 Mattias Flodin (2004 Jul 30)
275 - In a :s command multi-byte characters should also be upper/lower cased 213 - In a :s command multi-byte characters should also be upper/lower cased
276 with \u, \U, etc. 214 with \u, \U, etc.
277 8 Add a command to jump to a certain kind of tag. Allow the user to specify 215
278 values for the optional fields. E.g., ":tag size type=m". 216 - Adjust src/main.aap for installing manpages like in Makefile.
279 Also allow specifying the file and command, so that the result of 217 And for generating Vim.app for the Mac.
280 taglist() can be used. 218 Install spell files with src/main.aap.
281 219
282 Adjust src/main.aap for installing manpages like in Makefile. 220 - Add command to search for illegal utf-8 byte sequence.
283 And for generating Vim.app for the Mac.
284 Install spell files with src/main.aap.
285
286 When editing a file with both utf-8 and latin1 text Vim always falls back to
287 latin1. Add a command to convert the latin1 characters to utf-8?
288 :unmix utf-8,latin1 filename
289 Would only work when 'encoding' is utf-8.
290 Also: command to search for illegal utf-8 byte sequence?
291
292 Also generate the .pdb file that can be used to generate a useful crash report
293 on MS-Windows. (George Reilly)
294 221
295 Add strtol() to avoid the problems with leading zero causing octal conversion. 222 Add strtol() to avoid the problems with leading zero causing octal conversion.
296
297 Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
298 Version 1.5 is in ~/src/posix/1.5. (Lynne Canal)
299 223
300 Add a 'tool' window: behaves like a preview window but there can be several. 224 Add a 'tool' window: behaves like a preview window but there can be several.
301 Don't count it in only_one_window(). (Alexei Alexandrov) 225 Don't count it in only_one_window(). (Alexei Alexandrov)
302 226
303 Win32: Patch for Korean IME. (Yusung, 2005 March 21) 227 Win32: Patch for Korean IME. (Yusung, 2005 March 21)
304 228
305 When "= evaluation results in a List, use it as a sequence of lines.
306
307 Support ":set syntax=cpp.doxygen"? Suggested patch by Michael Geddes (9 Aug 229 Support ":set syntax=cpp.doxygen"? Suggested patch by Michael Geddes (9 Aug
308 2004). Should also work for 'filetype'. 230 2004). Should also work for 'filetype'.
309
310 For manipulating buffers without opening a new window, support Virtual
311 windows. Example:
312 :virtwin let l = GetBufLine(4, 10)
313 :fun GetBufLine(bufnr, lnum)
314 : exe "buffer " . a:bufnr
315 : return getline(lnum)
316 :endfun
317 The getline() and setline() functions could work for other buffers, using a
318 Virtual window.
319 A Virtual window only exists for one command. There can be several (for
320 nested commands). The window works as if it comes after the last window, size
321 is the Vim window size, but it's never displayed.
322 231
323 Win32: In the generated batch files, use $VIMRUNTIME if it's set. Examples by 232 Win32: In the generated batch files, use $VIMRUNTIME if it's set. Examples by
324 Mathias Michaelis (2004 Sep 6) 233 Mathias Michaelis (2004 Sep 6)
325 Also place vimtutor.bat in %windir%? 234 Also place vimtutor.bat in %windir%?
326 235
327 Add gui_mch_browsedir() for Motif, Mac OS/X. 236 Ctags still hasn't included the patch. Darren is looking for someone to do
328 237 maintanance. Is there another solution?
329 HTML indenting can be slow, find out why. Any way to do some kind of 238
330 profiling for Vim script? At least add a function to get the current time in 239 HTML indenting can be slow, find out why.
331 usec. reltime([start, [end]]) 240 Add a function to get the current time in usec. reltime([start, [end]])
332 reltime().sec == seconds, reltime().usec = microseconds 241 reltime().sec == seconds, reltime().usec = microseconds
333 reltime(start) current time relative to [start] 242 reltime(start) current time relative to [start]
334 echo timestring(reltime(start), 3) (3 is nr of digits after dot) 243 echo timestring(reltime(start), 3) (3 is nr of digits after dot)
335 reltime(start, end) difference between start and end 244 reltime(start, end) difference between start and end
336 Real Profiling: 245 Profiling:
337 - :profile start /tmp/somefile (append if exists)
338 - :profile pause 246 - :profile pause
339 - :profile resume 247 - :profile resume
340 - :profile stop
341 - per function line
342 - self, Vim and total time (incl system time)
343 - dump results in file on exit or when stopped.
344 248
345 Add more tests for all new functionality in Vim 7. Especially new functions. 249 Add more tests for all new functionality in Vim 7. Especially new functions.
346 250
347 Updated Ruby interface. (Ryan Paul) 251 Updated Ruby interface. (Ryan Paul)
348 252
349 'errorformat' docs are a bit unclear. Suggestions by Charles Campbell (2006 253 'errorformat' docs are a bit unclear. Suggestions by Charles Campbell (2006
350 Jan 6) 254 Jan 6)
351 Add a flag to check for a match with the next item first? Helps for 255 Add a flag to check for a match with the next item first? Helps for
352 continuation lines that may contain just about anything. 256 continuation lines that may contain just about anything.
353 257
258 Add ":smap", Select mode mapping? Otherwise: ":sunmap", so that Visual mode
259 mappings for normal keys can be removed from Select mode.
260
261 Check if file explorer can handle directory names and links with a single
262 quote. (Nieko Maatjes, 2005 Jan 4)
263
264
354 Awaiting updated patches: 265 Awaiting updated patches:
355 --- awaiting updated patch --- 266 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
356 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible. 267 Aric Blumer has a patch for this.
357 Aric Blumer has a patch for this. 268 He will update the patch for 6.3.
358 He will update the patch for 6.3. 269 7 Completion of network shares, patch by Yasuhiro Matsumoto.
359 Autocommands: 270 Update 2004 Sep 6.
360 7 Completion of network shares, patch by Yasuhiro Matsumoto. 271 How does this work? Missing comments.
361 Update 2004 Sep 6. 272 - Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
362 How does this work? Missing comments. 273 Smilauer, 2004 Sep 13, fix Oct 31)
363 - gettext() Translate a message. (Patch from Yasuhiro Matsumoto) 274 Asked for improvements 2004 Dec 20.
275 7 Make "5dd" on last-but-one-line not delete anything (Vi compatible).
276 Add flag in 'cpoptions' for this. When not present, "2dd" in the last
277 line should delete the last line. Patch from greenx 2002 Apr 11.
278 8 Add a few more command names to the menus. Patch from Jiri Brezina
279 (28 feb 2002).
280 7 ATTENTION dialog choices are more logical when "Delete it' appears
281 before "Quit". Patch by Robert Webb, 2004 May 3.
282 - Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
283 for multi-byte characters.
284 - Win32: add options to print dialog. Patch from Vipin Aravind.
285 - Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
286 use the patch that keeps using HLF_8 if HLF_WS has not
287 been given values.
288 Add section in help files for these highlight groups?
289 8 "fg" and "bg" don't work in an xterm. Get default colors from xterm
290 with an ESC sequence. Ideas in: ~/vim/patches/vikas.xtermcolors .
291 7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin
292 Dalecki has a patch for Motif and Carbon)
293 - Add possibility to highlight specific columns (for Fortran). Or put a
294 line in between columns (e.g., for 'textwidth').
295 Patch to add 'hlcolumn' from Vit Stradal, 2004 May 20.
296 8 Add functions:
297 gettext() Translate a message. (Patch from Yasuhiro Matsumoto)
364 Update 2004 Sep 10 298 Update 2004 Sep 10
365 Another patch from Edward L. Fox (2005 Nov 24) 299 Another patch from Edward L. Fox (2005 Nov 24)
366 Search in 'runtimepath'? 300 Search in 'runtimepath'?
367 More docs about how to use this. 301 More docs about how to use this.
368 How to get the messages into the .po files? 302 How to get the messages into the .po files?
369 --- did not respond (yet) -- 303 confirm() add "flags" argument, with 'v' for vertical
370 - Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav 304 layout and 'c' for console dialog. (Haegg)
371 Smilauer, 2004 Sep 13, fix Oct 31) 305 Flemming Madsen has a patch for the 'c' flag
372 Asked for improvements 2004 Dec 20. 306 (2003 May 13)
373 7 Make "5dd" on last-but-one-line not delete anything (Vi compatible). 307 raisewin() raise gvim window (see HierAssist patch for
374 Add flag in 'cpoptions' for this. When not present, "2dd" in the last 308 Tcl implementation ~/vim/HierAssist/ )
375 line should delete the last line. Patch from greenx 2002 Apr 11. 309 7 Make globpath() also work with upwards search. (Brian Medley)
376 8 Add a few more command names to the menus. Patch from Jiri Brezina 310 7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
377 (28 feb 2002). 311 better. Now also works for Ruby (2001 Nov 10)
378 7 ATTENTION dialog choices are more logical when "Delete it' appears 312 - Patch from Herculano de Lima Einloft Neto for better formatting of the
379 before "Quit". Patch by Robert Webb, 2004 May 3. 313 quickfix window (2004 dec 2)
380 - Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work 314 7 When 'rightleft' is set, the search pattern should be displayed right
381 for multi-byte characters. 315 to left as well? See patch of Dec 26. (Nadim Shaikli)
382 - Win32: add options to print dialog. Patch from Vipin Aravind. 316 8 Lock all used memory so that it doesn't get swapped to disk (uncrypted).
383 - Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5) 317 Patch by Jason Holt, 2003 May 23. Uses mlock.
384 use the patch that keeps using HLF_8 if HLF_WS has not 318 7 Support a stronger encryption. Jason Holt implemented AES (May 6 2003).
385 been given values. 319 7 Add ! register, for shell commands. (patch from Grenie)
386 Add section in help files for these highlight groups? 320 8 In the gzip plugin, also recognize *.gz.orig, *.gz.bak, etc. Like it's
387 8 "fg" and "bg" don't work in an xterm. Get default colors from xterm 321 done for filetype detection. Patch from Walter Briscoe, 2003 Jul 1.
388 with an ESC sequence. Ideas in: ~/vim/patches/vikas.xtermcolors . 322 7 Add a "-@ filelist" argument: read file names from a file. (David
389 7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin 323 Kotchan has a patch for it)
390 Dalecki has a patch for Motif and Carbon) 324 8 Include a connection to an external program through a pipe? See
391 - Add possibility to highlight specific columns (for Fortran). Or put a 325 patches from Felbinger for a mathematica interface.
392 line in between columns (e.g., for 'textwidth'). 326 Or use emacs server kind of thing?
393 Patch to add 'hlcolumn' from Vit Stradal, 2004 May 20. 327 7 Add ":justify" command. Patch from Vit Stradal 2002 Nov 25.
394 8 Add functions: 328 - findmatch() should be adjusted for Lisp. See remark at
395 confirm() add "flags" argument, with 'v' for vertical 329 get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram,
396 layout and 'c' for console dialog. (Haegg) 330 incomplete patch Mar 18)
397 Flemming Madsen has a patch for the 'c' flag 331 - Set user variables to the names of the actually used user vimrc file,
398 (2003 May 13) 332 the first directory looked for user plugins/syntax files.
399 raisewin() raise gvim window (see HierAssist patch for 333 $MYVIMRC for .vimrc, $MYGVIMRC for .gvimrc, $MYRUNTIME/plugin for
400 Tcl implementation ~/vim/HierAssist/ ) 334 runtime files?
401 7 Make globpath() also work with upwards search. (Brian Medley) 335 Also: when the environment variable exists, use it. If it doesn't
402 7 Add patch from Benoit Cerrina to integrate Vim and Perl functions 336 exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR
403 better. Now also works for Ruby (2001 Nov 10) 337 - The Replace dialog takes "\r" literal, unless "replace all" is used.
404 - Patch from Herculano de Lima Einloft Neto for better formatting of the 338 Need to escape backslashes.
405 quickfix window (2004 dec 2) 339 Win32: the text to replace with isn't remembered.
406 7 When 'rightleft' is set, the search pattern should be displayed right 340 - For GUI Find/Replace dialog support using a regexp. Patch for Motif
407 to left as well? See patch of Dec 26. (Nadim Shaikli) 341 and GTK by degreneir (nov 10 and nov 18).
408 8 Lock all used memory so that it doesn't get swapped to disk (uncrypted). 342 - Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work.
409 Patch by Jason Holt, 2003 May 23. Uses mlock.
410 7 Support a stronger encryption. Jason Holt implemented AES (May 6 2003).
411 7 Add ! register, for shell commands. (patch from Grenie)
412 8 In the gzip plugin, also recognize *.gz.orig, *.gz.bak, etc. Like it's
413 done for filetype detection. Patch from Walter Briscoe, 2003 Jul 1.
414 7 Add a "-@ filelist" argument: read file names from a file. (David
415 Kotchan has a patch for it)
416 8 Include a connection to an external program through a pipe? See
417 patches from Felbinger for a mathematica interface.
418 Or use emacs server kind of thing?
419 7 Add ":justify" command. Patch from Vit Stradal 2002 Nov 25.
420 - findmatch() should be adjusted for Lisp. See remark at
421 get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram,
422 incomplete patch Mar 18)
423 - Set user variables to the names of the actually used user vimrc file,
424 the first directory looked for user plugins/syntax files.
425 $MYVIMRC for .vimrc, $MYGVIMRC for .gvimrc, $MYRUNTIME/plugin for
426 runtime files?
427 Also: when the environment variable exists, use it. If it doesn't
428 exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR
429 - The Replace dialog takes "\r" literal, unless "replace all" is used.
430 Need to escape backslashes.
431 Win32: the text to replace with isn't remembered.
432 - For GUI Find/Replace dialog support using a regexp. Patch for Motif
433 and GTK by degreneir (nov 10 and nov 18).
434
435 Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work.
436
437 Check if file explorer can handle directory names and links with a single
438 quote. (Nieko Maatjes, 2005 Jan 4)
439 343
440 344
441 Vi incompatibility: 345 Vi incompatibility:
346 - Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
347 Version 1.5 is in ~/src/posix/1.5. (Lynne Canal)
442 8 With undo/redo only marks in the changed lines should be changed. Other 348 8 With undo/redo only marks in the changed lines should be changed. Other
443 marks should be kept. Vi keeps each mark at the same text, even when it 349 marks should be kept. Vi keeps each mark at the same text, even when it
444 is deleted or restored. (Webb) 350 is deleted or restored. (Webb)
445 Also: A mark is lost after: make change, undo, redo and undo. 351 Also: A mark is lost after: make change, undo, redo and undo.
446 Example: "{d''" then "u" then "d''": deletes an extra line, because the '' 352 Example: "{d''" then "u" then "d''": deletes an extra line, because the ''
513 be too narrow. (Drazen Kacar) 419 be too narrow. (Drazen Kacar)
514 8 Font "7x14" has a bold version "7x14bold". Try to find the bold font by 420 8 Font "7x14" has a bold version "7x14bold". Try to find the bold font by
515 appending "bold" when there are not 14 dashes. 421 appending "bold" when there are not 14 dashes.
516 422
517 GTK+ GUI known bugs: 423 GTK+ GUI known bugs:
424 9 Crash with X command server over ssh. (Ciaran McCreesh, 2006 Feb 6)
518 8 GTK 2: Combining UTF-8 characters not displayed properly in menus (Mikolaj 425 8 GTK 2: Combining UTF-8 characters not displayed properly in menus (Mikolaj
519 Machowski) They are displayed as separate characters. Problem in 426 Machowski) They are displayed as separate characters. Problem in
520 creating a label? 427 creating a label?
521 8 GTK 2: Combining UTF-8 characters are sometimes not drawn properly. 428 8 GTK 2: Combining UTF-8 characters are sometimes not drawn properly.
522 Depends on the font size, "monospace 13" has the problem. Vim seems to do 429 Depends on the font size, "monospace 13" has the problem. Vim seems to do
525 when it is longer than 4000 characters. Works OK from gvim to gvim and 432 when it is longer than 4000 characters. Works OK from gvim to gvim and
526 vim to vim. Pasting through xterm (using the shift key) also works. 433 vim to vim. Pasting through xterm (using the shift key) also works.
527 It starts working after GTK gvim loses the selection and gains it again. 434 It starts working after GTK gvim loses the selection and gains it again.
528 435
529 Win32 GUI known bugs: 436 Win32 GUI known bugs:
437 - Win32: tearoff menu window should have a scrollbar when it's taller than
438 the screen.
530 8 On Windows 98 the unicows library is needed to support functions with UCS2 439 8 On Windows 98 the unicows library is needed to support functions with UCS2
531 file names. Can we load unicows.dll dynamically? 440 file names. Can we load unicows.dll dynamically?
532 8 The -P argument doesn't work very well with many MDI applications. 441 8 The -P argument doesn't work very well with many MDI applications.
533 The last argument of CreateWindowEx() should be used, see MSDN docs. 442 The last argument of CreateWindowEx() should be used, see MSDN docs.
534 Tutorial: http://win32assembly.online.fr/tut32.html 443 Tutorial: http://win32assembly.online.fr/tut32.html
660 Allocating a new pixmap and setting the resource doesn't change the 569 Allocating a new pixmap and setting the resource doesn't change the
661 pullright pixmap's colors. Why? Possible Athena bug? 570 pullright pixmap's colors. Why? Possible Athena bug?
662 571
663 572
664 Motif GUI: 573 Motif GUI:
574 - gui_mch_browsedir() is missing.
665 7 Use XmStringCreateLocalized() instead of XmStringCreateSimple()? 575 7 Use XmStringCreateLocalized() instead of XmStringCreateSimple()?
666 David Harrison says it's OK (it exists in Motif 1.2). 576 David Harrison says it's OK (it exists in Motif 1.2).
667 8 Lesstif: When deleting a menu that's torn off, the torn off menu becomes 577 8 Lesstif: When deleting a menu that's torn off, the torn off menu becomes
668 very small instead of disappearing. When closing it, Vim crashes. 578 very small instead of disappearing. When closing it, Vim crashes.
669 (Phillipps) 579 (Phillipps)
864 8 Executing a shell, only one option for 'shell' is separated. Should do 774 8 Executing a shell, only one option for 'shell' is separated. Should do
865 all options, using white space separation. 775 all options, using white space separation.
866 776
867 777
868 Macintosh: 778 Macintosh:
779 - GUI: gui_mch_browsedir() is missing.
869 7 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard 780 7 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard
870 Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff 781 Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff
871 Needs more work. Add when someone really wants it. 782 Needs more work. Add when someone really wants it.
872 7 Loading the Perl library only works on OS/X 10.2 or 10.3, never on both. 783 7 Loading the Perl library only works on OS/X 10.2 or 10.3, never on both.
873 Load the Perl library dynamically see Python sources file dynload_mac 784 Load the Perl library dynamically see Python sources file dynload_mac
1258 "Edit with Vim" is limited. The maximum command line length is 255 chars. 1169 "Edit with Vim" is limited. The maximum command line length is 255 chars.
1259 1170
1260 --------------------- extensions and improvements ---------------------- 1171 --------------------- extensions and improvements ----------------------
1261 *extensions-improvements* 1172 *extensions-improvements*
1262 1173
1174 Didn't make it into Vim 7.0:
1175 - Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block
1176 can be selected with CTRL-V. Allow '$' (end of line) for col2.
1177 - Add DEBUGGER INTERFACE. Implementation for gdb by Xavier de Gaye.
1178 Should work like an IDE. Try to keep it generic. Now found here:
1179 http://clewn.sf.net.
1180 And the idevim plugin/script.
1181 To be able to start the debugger from inside Vim: For GUI run a program
1182 with a netbeans connection; for console: start a program that splits the
1183 terminal, runs the debugger in one window and reconnect Vim I/O to the
1184 other window.
1185 Wishes for NetBeans commands:
1186 - make it possible to have 'defineAnnoType' also handle terminal colors.
1187 - send 'balloonText' events for the cursor position (using CursorHold ?)
1188 in terminal mode.
1189 - ECLIPSE plugin. Problem is: the interface is very complicated. Need to
1190 implement part in Java and then connect to Vim. Some hints from Alexandru
1191 Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR
1192 198 standard http://www.jcp.org/en/jsr/detail?id=198.
1193 Eclim does it: http://eclim.sourceforge.net/ (Eric Van Dewoestine)
1194 Plugin that uses a terminal emulator: http://vimplugin.sf.net
1195 - STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.
1196 Especially when using the scrollbar. Typing a cursor-movement command
1197 scrolls back to where the cursor is.
1198 - Running a shell command from the GUI still has limitations. Look into how
1199 the terminal emulator of the Vim shell project can help:
1200 http://vimshell.wana.at
1201 - Add Lua interface? (Wolfgang Oertl)
1202 8 Add a command to jump to a certain kind of tag. Allow the user to specify
1203 values for the optional fields. E.g., ":tag size type=m".
1204 Also allow specifying the file and command, so that the result of
1205 taglist() can be used.
1206
1207
1263 Documentation: 1208 Documentation:
1264 8 The GUI help should explain the Find and Find/Replace dialogs. Add a link 1209 8 The GUI help should explain the Find and Find/Replace dialogs. Add a link
1265 to it from ":promptrepl" and ":promptfind". 1210 to it from ":promptrepl" and ":promptfind".
1266 8 List of options should mention whether environment variables are expanded 1211 8 List of options should mention whether environment variables are expanded
1267 or not. 1212 or not.
1355 7 Add local highlighting for each tab page? 1300 7 Add local highlighting for each tab page?
1356 1301
1357 1302
1358 Spell checking: 1303 Spell checking:
1359 - suggestion for "KG" to "kg" when it's keepcase. 1304 - suggestion for "KG" to "kg" when it's keepcase.
1305 - Support flags on a suffix. Used for second level affixes, rare and
1306 nocomp. The flags may also be used for compounding. Default is an OR
1307 mechanism with the flags of the word. Adding "compset" on the affixes
1308 means the compound flags of the word are not used.
1309 Instead of "SFX a 0 add/FLAGS ." we could use "SFX a 0 add . /FLAGS" (or
1310 support both).
1311 - Support breakpoint character · 0xb7 and ignore it? Makes it possible to
1312 use same wordlist for hyphenation.
1360 - Compound word is accepted if nr of words is <= COMPOUNDMAX OR nr of 1313 - Compound word is accepted if nr of words is <= COMPOUNDMAX OR nr of
1361 syllables <= COMPOUNDSYLMAX. Specify using AND in the affix file? 1314 syllables <= COMPOUNDSYLMAX. Specify using AND in the affix file?
1362 - COMPOUNDMAX -> COMPOUNDWORDMAX? 1315 - COMPOUNDMAX -> COMPOUNDWORDMAX?
1363 - NEEDCOMPOUND also used for affix? Or is this called ONLYINCOMPOUND now? 1316 - NEEDCOMPOUND also used for affix? Or is this called ONLYINCOMPOUND now?
1364 Or is ONLYINCOMPOUND only for inside a compound, not at start or end? 1317 Or is ONLYINCOMPOUND only for inside a compound, not at start or end?
1459 8 Have some way to restrict commands to not folded text. Also commands like 1412 8 Have some way to restrict commands to not folded text. Also commands like
1460 searches. 1413 searches.
1461 1414
1462 1415
1463 Multi-byte characters: 1416 Multi-byte characters:
1417 - When editing a file with both utf-8 and latin1 text Vim always falls back
1418 to latin1. Add a command to convert the latin1 characters to utf-8?
1419 :unmix utf-8,latin1 filename
1420 Would only work when 'encoding' is utf-8.
1464 9 When the tail byte of a double-byte character is illegal (e.g., a CR), the 1421 9 When the tail byte of a double-byte character is illegal (e.g., a CR), the
1465 display is messed up (Yasuhiro Matsumoto). Should check for illegal 1422 display is messed up (Yasuhiro Matsumoto). Should check for illegal
1466 double-byte characters and display them differently (display each single 1423 double-byte characters and display them differently (display each single
1467 byte). 1424 byte).
1468 8 Add an item in 'fileencodings' to check the first lines of a file for 1425 8 Add an item in 'fileencodings' to check the first lines of a file for
1699 7 SpecialKey highlighting overrules syntax highlighting. Can't give an 1656 7 SpecialKey highlighting overrules syntax highlighting. Can't give an
1700 unprintable char another color. Would be useful for ^M at end of line. 1657 unprintable char another color. Would be useful for ^M at end of line.
1701 1658
1702 1659
1703 Built-in script language: 1660 Built-in script language:
1661 7 Execute a function with standard option values. No need to save and
1662 restore option values. Especially useful for new options. Problem: how
1663 to avoid a performance penalty (esp. for string options)?
1704 8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and 1664 8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
1705 ":let &t_xx =". Useful for making portable mappings. 1665 ":let &t_xx =". Useful for making portable mappings.
1706 8 exists("&&option") tests if 'option' is actually implemented. Useful for 1666 8 exists("&&option") tests if 'option' is actually implemented. Useful for
1707 'shellslash', for example. 1667 'shellslash', for example.
1708 - Add "{range}source": execute lines from a buffer. 1668 - Add "{range}source": execute lines from a buffer.
2179 where it was started from? 2139 where it was started from?
2180 7 Support "-visual <type>" command line argument. 2140 7 Support "-visual <type>" command line argument.
2181 2141
2182 2142
2183 Autocommands: 2143 Autocommands:
2144 - Put autocommand event names in a hashtable for faster lookup?
2184 7 For autocommand events that trigger multiple times per buffer (e.g., 2145 7 For autocommand events that trigger multiple times per buffer (e.g.,
2185 CursorHold), go through the list once and cache the result for a specific 2146 CursorHold), go through the list once and cache the result for a specific
2186 buffer. Invalidate the cache when adding/deleting autocommands or 2147 buffer. Invalidate the cache when adding/deleting autocommands or
2187 changing the buffer name. 2148 changing the buffer name.
2188 8 Add ScriptReadCmd event: used to load remote Vim scripts, e.g. 2149 8 Add ScriptReadCmd event: used to load remote Vim scripts, e.g.
2263 Alternative: have 'autosave' use 'updatetime' and 'updatecount' but make 2224 Alternative: have 'autosave' use 'updatetime' and 'updatecount' but make
2264 them save the file itself besides the swapfile. 2225 them save the file itself besides the swapfile.
2265 2226
2266 2227
2267 Insert mode completion/expansion: 2228 Insert mode completion/expansion:
2229 - GUI implementation of the popup menu.
2268 8 When there is no word before the cursor but something like "sys." complete 2230 8 When there is no word before the cursor but something like "sys." complete
2269 with "sys.". Works well for C and similar languages. 2231 with "sys.". Works well for C and similar languages.
2270 9 ^X^L completion doesn't repeat correctly. It uses the first match with 2232 9 ^X^L completion doesn't repeat correctly. It uses the first match with
2271 the last added line, instead of continuing where the last match ended. 2233 the last added line, instead of continuing where the last match ended.
2272 (Webb) 2234 (Webb)
2606 2568
2607 Visual mode: 2569 Visual mode:
2608 - When dragging the Visual selection with the mouse and 'scrolloff' is zero, 2570 - When dragging the Visual selection with the mouse and 'scrolloff' is zero,
2609 behave like 'scrolloff' is one, so that the text scrolls when the pointer 2571 behave like 'scrolloff' is one, so that the text scrolls when the pointer
2610 is in the top line. 2572 is in the top line.
2573 - Displaying size of Visual area: use 24-33 column display.
2574 When selecting multiple lines, up to about a screenful, also count the
2575 characters.
2611 8 When using "I" or "A" in Visual block mode, short lines do not get the new 2576 8 When using "I" or "A" in Visual block mode, short lines do not get the new
2612 text. Make it possible to add the text to short lines too, with padding 2577 text. Make it possible to add the text to short lines too, with padding
2613 where needed. 2578 where needed.
2614 7 With a Visual block selected, "2x" deletes a block of double the width, 2579 7 With a Visual block selected, "2x" deletes a block of double the width,
2615 "3y" yanks a block of triple width, etc. 2580 "3y" yanks a block of triple width, etc.
2871 7 Add ":iselect", a combination of ":ilist" and ":tselect". (Aaron) (Zellner) 2836 7 Add ":iselect", a combination of ":ilist" and ":tselect". (Aaron) (Zellner)
2872 Also ":dselect". 2837 Also ":dselect".
2873 2838
2874 2839
2875 Undo: 2840 Undo:
2841 - Persistent undo: store undo in a file.
2842 Use timestamps, so that a version a certain time ago can be found and info
2843 before some time/date can be flushed. 'undopersist' gives maximum time to
2844 keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and
2845 extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
2876 - Make it possible to undo all the commands from a mapping, including a 2846 - Make it possible to undo all the commands from a mapping, including a
2877 trailing unfinished command, e.g. for ":map K iX^[r". 2847 trailing unfinished command, e.g. for ":map K iX^[r".
2878 - When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not 2848 - When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
2879 possible, even when typing <Esc> immediately. (Grahn) Also for "i", "a", 2849 possible, even when typing <Esc> immediately. (Grahn) Also for "i", "a",
2880 etc. Postpone saving for undo until something is really inserted? 2850 etc. Postpone saving for undo until something is really inserted?