comparison runtime/doc/todo.txt @ 1624:18ee39301b82 v7.2a

updated for version 7.2a
author vimboss
date Tue, 24 Jun 2008 22:58:06 +0000
parents 6b0eea6195c4
children 0b796e045c42
comparison
equal deleted inserted replaced
1623:53938adac247 1624:18ee39301b82
1 *todo.txt* For Vim version 7.1. Last change: 2007 May 12 1 *todo.txt* For Vim version 7.2a. Last change: 2008 Jun 24
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 Patch to make virtcol([123, '$']) do the right thing. (Michael Schaap) 33 Have a look at patch for utf-8 line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23)
34 34
35 Insert mode completion: CTRL-N and CTRL-P work differently and they both don't 35 Drawing popup menu isn't quite right when there are double-wide characters.
36 work as expected. (Bernhard Walle, 2007 Feb 27) 36 Yukihiro Nakadaira is working on a solution (2008 Jun 22). Use mb_fix_col().
37 37
38 When 'rightleft' is set the completion menu is positioned wrong. (Baha-Eddine 38 When reallocating cmdline xp_pattern becomes invalid. Move expand_T xpc into
39 MOKADEM) 39 ccline? (Dominique Pelle)
40 40
41 glob() doesn't work correctly with single quotes and 'shell' set to /bin/sh. 41 Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
42 (Adri Verhoef, Charles Campbell 2007 Mar 26) 42 laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
43 43 Works OK with Vim in an xterm.
44 Splitting quickfix window messes up window layout. (Marius Gedminas, 2007 Apr 44
45 25) 45 Fix for matchparen HL doesn't work. beep.
46 46
47 Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520 47 Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
48 (Martin Stubenschrott) 48 11) I can't reproduce it.
49 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . 49
50 50 Win32: associating a type with Vim doesn't take care of space after a
51 Making the German sharp s uppercase doesn't work properly: one character less 51 backslash? (Robert Vibrant, 2008 Jun 5)
52 is uppercased in "gUe". 52
53 Also: latin2 has the same character but it isn't uppercased there. 53 ":let &g:tw = 44" sets the local option value. (Cyril Slobin, 2008 Apr 25)
54
55 After using <Tab> for command line completion after ":ta blah" and getting E33
56 (no tags file), further editing the command to e.g., ":echo 'blah'", the
57 command is not executed.
58
59 When 'bomb' is changed the window title is updated to show/hide a "+", but the
60 tab page label isn't. (Patrick Texier, 2008 Jun 24)
61
62 Despite adding save_subexpr() this still doesn't work properly:
63 Regexp: matchlist('12a4aaa', '^\(.\{-}\)\(\%5c\@<=a\+\)\(.\+\)\?')
64 Returns ['12a4', 'aaa', '4aaa'], should be ['12a4', 'aaa', '']
65 Backreference not cleared when retrying after \@<= fails?
66 (Brett Stahlman, 2008 March 8)
67
68 Win32: remote editing fails when the current directory name contains "[".
69 (Ivan Tishchenko, Liu Yubao) Suggested patch by Chris Lubinski: Avoid
70 escaping characters where the backslash is not removed later. Asked Chris for
71 an alternate solution, also for src/ex_getln.c.
72
73 When adding path to 'tags' with a wildcard, it appears only a first match is
74 used. (Erik Falor, 2008 April 18) Or is it that a wildcard in the file name
75 is not supported, only in the path?
76
77 The str2special() function doesn't handle multi-byte characters properly.
78 Patch from Vladimir Vichniakov, 2007 Apr 24.
79 Should clean up the whole function. Also allow modifiers like <S-Char-32>?
80 find_special_key() also has this problem.
81
82 Problem with 'langmap' parsing. (James Vega, 2008 Jan 27)
83 Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
84 2008 May 14)
85
86 Problem with CTRL-F. (Charles Campbell, 2008 March 21)
87 Only happens with "gvim -geometry "160x26+4+27" -u NONE -U NONE prop.c".
88 'lines' is 54. (2008 March 27)
89
90 Unexpectedly inserting a double quote. (Anton Woellert, 2008 Mar 23)
91 Works OK when 'cmdheight' is 2.
92
93 The utf class table is missing some entries:
94 0x2212, minus sign
95 0x2217, star
96 0x2500, bar
97 0x26ab, circle
98
99 Visual line mode doesn't highlight properly when 'showbreak' is used and the
100 line doesn't fit. (Dasn, 2008 May 1)
101
102 GUI: In Normal mode can't yank the modeless selection. Make "gy" do this?
103 Works like CTRL-Y in Command line mode.
104
105 Mac: patch for mouse wheel scroll under Leopard. (Eckehard Berns, 2007 Dec 7)
54 106
55 Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is 107 Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is
56 changed or the window is resized. 108 changed or the window is resized.
57 109
58 Mac: Patch for Mac GUI tabline. (Nicolas Weber, 2006 Jul 18, Update 2007 Feb) 110 Mac: Patch for configure: remove arch from ruby link args. (Knezevic, 2008
59 New update v6 ~/tmp/guitab.v6.diff (Kyle Wheeler) 111 Mar 5) Alternative: Kazuki Sakamoto, Mar 7.
60 112
61 When 'virtualedit' is set a "p" of a block just past the end of the line 113 ":emenu" works with the translated menu name. Should also work with the
62 inserts before the cursor. (Engelke) 114 untranslated name. Would need to store both the English and the translated
115 name. Patch by Bjorn Winckler, 2008 Mar 30.
116
117 C't: On utf-8 system, editing file with umlaut through Gnome results in URL
118 with %nn%nn, which is taken as two characters instead of one.
119 Try to reproduce at work.
120
121 Patch for redo register. (Ben Schmidt, 2007 Oct 19)
122 Await response to question to make the register writable.
123
124 Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
125 1)
126
127 "vim -O aa aa" gives only one window. (Zdenek Sekera, 2008 Apr 16)
128
129 Including NFA regexp code:
130 Use "\%#= to set the engine: 0 = automatic, 1 = backtracking, 2 = new.
131 Useful in tests.
132 Performance tests:
133 - ~/vim/test/veryslow.js (file from Daniel Fetchinson)
134 - ~/vim/test/slowsearch
135 - ~/vim/test/rgb.vim
136 - search for a.*e*exn in the vim executable. Go to last line to use
137 'hlsearch'.
63 138
64 Using Aap to build Vim: add remarks about how to set personal preferences. 139 Using Aap to build Vim: add remarks about how to set personal preferences.
65 Example on http://www.calmar.ws/tmp/aap.html 140 Example on http://www.calmar.ws/tmp/aap.html
66 141
67 GTK: 'bsdir' doesn't work. Sometimes get a "gtk critical error". 142 Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26)
68 Moved some code to append file name to further down in gui_gtk.c 143 Bug in using a transparent syntax region. (Hanlen in vim-dev maillist, 2007
69 gui_mch_browse(), but "last" value of 'bsdir' still doesn't work. 144 Jul 31)
70
71 C syntax: "#define x {" The macro should terminate at the end of the line,
72 not continue in the next line. (Kelvin Lee, 2006 May 24)
73 145
74 C syntax: {} inside () causes following {} to be highlighted as error. 146 C syntax: {} inside () causes following {} to be highlighted as error.
75 (Michalis Giannakidis, 2006 Jun 1) 147 (Michalis Giannakidis, 2006 Jun 1)
76 148
149 When 'diffopt' has "context:0" a single deleted line causes two folds to merge
150 and mess up syncing. (Austin Jennings, 2008 Jan 31)
151
77 Gnome improvements: Edward Catmur, 2007 Jan 7 152 Gnome improvements: Edward Catmur, 2007 Jan 7
78 Also use Save/Discard for other GUIs 153 Also use Save/Discard for other GUIs
79 154
80 New PHP syntax file, use it? (Peter Hodge) 155 New PHP syntax file, use it? (Peter Hodge)
81 156
82 'foldcolumn' in modeline applied to wrong window when using a session. (Teemu 157 'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
83 Likonen, March 19) 158 Likonen, March 19)
84 159
85 Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26) 160 Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520
161 by Vissale Neang. (Martin Stubenschrott)
162 Asked Vissale to make the scripts more friendly for the Vim distribution.
163 New version received 2008 Jan 6.
164
165 Cheng Fang made javacomplete. (2007 Aug 11)
166 Asked about latest version: 0.77.1 is on www.vim.org.
86 167
87 More AmigaOS4 patches. (Peter Bengtsson, Nov 9) 168 More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
88 169
89 Add v:searchforward variable. Patch by Yakov Lerner, 2006 Nov 18. 170 globpath() doesn't work as expected. The example shows using 'path', but the
90 171 "**8" form and upwards search are not supported.
91 Redraw problem in loop. (Yakov Lerner, 2006 Sep 7) 172
173 Error when cancelling completion menu and auto-formatting. (Tim Weber, 2008
174 Apr 17)
175
176 Problem with compound words? (Bert, 2008 May 6)
177 No warning for when flags are defined after they are used in an affix.
178
179 With Visual selection, "r" and then CTRL-C Visual mode is stopped but the
180 highlighting is not removed.
181
182 Screen redrawing when continuously updating the buffer and resizing the
183 terminal. (Yakov Lerner, 2006 Sept 7)
92 184
93 Add option settings to help ftplugin. (David Eggum, 2006 Dec 18) 185 Add option settings to help ftplugin. (David Eggum, 2006 Dec 18)
94 186
95 Use new dutch wordlist for spelling? http://www.opentaal.org/ 187 Autoconf problem: when checking for iconv library we may add -L/usr/local/lib,
96 See remarks from Adri, 2007 Feb 9. 188 but when compiling further tests -liconv is added without the -L argument,
189 that may fail (e.g., sizeof(int)). (Blaine, 2007 Aug 21)
97 190
98 When opening quickfix window, disable spell checking? 191 When opening quickfix window, disable spell checking?
192
193 Popup menu redraw: Instead of first redrawing the text and then drawing the
194 popup menu over it, first draw the new popup menu, remember its position and
195 size and then redraw the text, skipping the characters under the popup menu.
196 This should avoid flicker. Other solution by A.Politz, 2007 Aug 22.
197
198 Spell checking: Add a way to specify punctuation characters. Add the
199 superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.
99 200
100 Windows 98: pasting from the clipboard with text from another application has 201 Windows 98: pasting from the clipboard with text from another application has
101 a trailing NUL. (Joachim Hofmann) Perhaps the length specified for CF_TEXT 202 a trailing NUL. (Joachim Hofmann) Perhaps the length specified for CF_TEXT
102 isn't right? 203 isn't right?
103 204
104 Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for characters
105 with umlaut. (Joachim Hofmann) toupper_tab[] and tolower_tab[] are not filled
106 properly?
107
108 Completion: Scanning for tags doesn't check for typed key now and then? 205 Completion: Scanning for tags doesn't check for typed key now and then?
109 Hangs for about 5 seconds. Appears to be caused by finding include files with 206 Hangs for about 5 seconds. Appears to be caused by finding include files with
110 "foo/**" in 'path'. (Kalisiak, 2006 July 15) 207 "foo/**" in 'path'. (Kalisiak, 2006 July 15)
111 208
112 Completion: When 'completeopt' has "longest" and there is one match the 209 When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
113 message is "back at original" and typing a char doesn't leave completion mode. 210 parenthesis escaped but not the space. That's inconsistent. Either escape
114 (Igor Prischepoff, 2006 Oct 5) 211 neither or both. No escaping might be best, because it doesn't depend on
115 212 particularities of the shell. (Zvi Har'El, 2007 Nov 10) (Teemu Likonen, 2008
116 Completion: When using CTRL-X O and there is only "struct." before the cursor, 213 Jun 3)
117 typing one char to reduce the matches, then BS completion stops. Should keep 214 However, for backwards compatibility escaping might be necessary. Check if
118 completion if still no less than what we started with. 215 the user put quotes around the expanded item?
119
120 Completion: don't stop completion when typing a space when completing full
121 lines? Also when completing file names? Only stop completion when there are
122 no matches?
123 After using BS completion only stops when typing a space. Many people want to
124 stop at non-word characters, e.g., '('. Add an option for this? Or check
125 vim_iswordc() before calling ins_compl_addleader()?
126
127 searchpos() doesn't use match under cursor at start of line. (Viktor
128 Kojouharov, 2006 Nov 16)
129
130 When FEAT_BYTEOFF is defined but FEAT_NETBEANS_INTG is not compiling fails.
131 Add FEAT_BYTEOFF to the check at line 1180 in feature.h
132 216
133 Color for cUserLabel should differ from case label, so that a mistake in a 217 Color for cUserLabel should differ from case label, so that a mistake in a
134 switch list is noticed: 218 switch list is noticed:
135 switch (i) 219 switch (i)
136 { 220 {
137 case 1: 221 case 1:
138 foobar: 222 foobar:
139 } 223 }
140 224
141 ":s" command removes combining characters. (Ron Aaron, 2006 May 17, 2006 Dec 7)
142
143 Look at http://www.gtk-server.org/ . It has a Vim script implementation. 225 Look at http://www.gtk-server.org/ . It has a Vim script implementation.
226
227 Netbeans problem. Use "nc -l 127.0.0.1 55555" for the server, then run gvim
228 with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then
229 go to Insert mode and add a few lines. Then backspacing every other time
230 moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
231
232 Redraw problem when appending digraph causes line to wrap. (James Vega, 2007
233 Sep 18)
144 234
145 Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov, 235 Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
146 2007 Feb 8) 236 2007 Feb 8)
147 237
148 Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15) 238 Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
149 Sutcliffe says it works well. 239 Sutcliffe says it works well.
240 Update 2007 May 22 for Vim 7.1
150 241
151 Win32: Patch for convert_filterW(). (Taro Muraoka, 2007 Mar 2) 242 Win32: Patch for convert_filterW(). (Taro Muraoka, 2007 Mar 2)
243
244 Win32: Patch for cscope external command. (Mike Williams, 2007 Aug 7)
152 245
153 Win32: XPM support only works with path without spaces. Patch by Mathias 246 Win32: XPM support only works with path without spaces. Patch by Mathias
154 Michaelis, 2006 Jun 9. Another patch for more path names, 2006 May 31. 247 Michaelis, 2006 Jun 9. Another patch for more path names, 2006 May 31.
155 New version: http://members.tcnet.ch/michaelis/vim/patches.zip (also for other 248 New version: http://members.tcnet.ch/michaelis/vim/patches.zip (also for other
156 patches by Mathias, see mail Feb 22) 249 patches by Mathias, see mail Feb 22)
164 257
165 Win16: include patches to make Win16 version work. (Vince Negri, 2006 May 22) 258 Win16: include patches to make Win16 version work. (Vince Negri, 2006 May 22)
166 259
167 Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis, 260 Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
168 2007 Feb 18) 261 2007 Feb 18)
262 Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems.
169 263
170 Win32: using CTRL-S in Insert mode doesn't remove the "+" from the tab pages 264 Win32: using CTRL-S in Insert mode doesn't remove the "+" from the tab pages
171 label. (Tsakiridis, 2007 Feb 18) 265 label. (Tsakiridis, 2007 Feb 18)
172 266
173 Win32: remote editing doesn't work when the current directory name contains 267 Win32: using "gvim --remote-tab-silent fname" sometimes gives an empty screen
174 "[]". (Ivan Tishchenko, 2007 March 1) 268 with the more prompt. Caused by setting the guitablabel? (Thomas Michael
269 Engelke, 2007 Dec 20 - 2008 Jan 17)
175 270
176 Win64: diff.exe crashes on Win64. (Julianne Bailey, 2006 Dec 12) 271 Win64: diff.exe crashes on Win64. (Julianne Bailey, 2006 Dec 12)
177 Build another diff.exe somehow? 272 Build another diff.exe somehow?
178 273
179 Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing 274 Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
180 pointer in long and seek offset in 64 bit var. 275 pointer in long and seek offset in 64 bit var.
181 276
182 When doing "gvim --remote-tab foo" while gvim is minimized the tab pages line 277 Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
183 only shows the current label, not the others. 278
279 Pressing the 'pastetoggle' key doesn't update the statusline. (Jan Christoph
280 Ebersbach, 2008 Feb 1)
281
282 Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16.
283 Check for this and use iconv? (Edward L. Fox, 2007 Sep 12)
284 Does the conversion in the other direction work when 'filenecodings' is set
285 properly?
286
287 Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
288 2007 Jun 21)
289
290 When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008
291 Jun 18)
292
293 If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
294
295 F1 - F4 in an xterm produce a different escape sequence when used with a
296 modifier key. Need to catch three different sequences. Use K_ZF1, like
297 K_ZHOME? (Dickey, 2007 Dec 2)
184 298
185 Problem finding swap file for recovery. (Gautam Iyer, 2006 May 16) 299 Problem finding swap file for recovery. (Gautam Iyer, 2006 May 16)
186
187 When setting 'keymap' twice the b:keymap_name variable isn't set. (Milan
188 Berta, 2007 Mar 9) Has something to do with 'iminsert'.
189
190 Problem with CursorHoldI? (Max Dyckhoff, 2006 Nov 10)
191 300
192 UTF-8: mapping a multi-byte key where the second byte is 0x80 doesn't appear 301 UTF-8: mapping a multi-byte key where the second byte is 0x80 doesn't appear
193 to work. (Tony Mechelynck, 2007 March 2) 302 to work. (Tony Mechelynck, 2007 March 2)
194 303
195 The str2special() function doesn't handle multi-byte characters properly.
196 Patch from Vladimir Vichniakov, 2007 Apr 24.
197 find_special_key() also has this problem.
198
199 In debug mode, using CTRL-R = to evaluate a function causes stepping through 304 In debug mode, using CTRL-R = to evaluate a function causes stepping through
200 the function. (Hari Krishna Dara, 2006 Jun 28) 305 the function. (Hari Krishna Dara, 2006 Jun 28)
201 306
202 ":let &shiftwidth = 'asdf'" doesn't produce an error message.
203
204 C++ indenting wrong with "=". (James Kanze, 2007 Jan 26) 307 C++ indenting wrong with "=". (James Kanze, 2007 Jan 26)
205 308
206 "zug" reports wrong file. problem with Namebuff? (Lawrence Kesteloot, 2006 Sep
207 10)
208
209 ":lockvar" should use copyID to avoid endless loop. 309 ":lockvar" should use copyID to avoid endless loop.
210 310
211 Patch to use xterm mouse codes for screen. (Micah Cowan, 2007 May 8) 311 When using --remote-silent and the file name matches 'wildignore' get an E479
312 error. without --remoete-silent it works fine. (Ben Fritz, 2008 Jun 20)
212 313
213 Gvim: dialog for closing Vim should check if Vim is busy writing a file. Then 314 Gvim: dialog for closing Vim should check if Vim is busy writing a file. Then
214 use a different dialog: "busy saving, really quit? yes / no". 315 use a different dialog: "busy saving, really quit? yes / no".
215 316
216 Win32: editing remote file d:\a[1]\aa.txt doesn't work. (Liu Yubao, 2006 May
217 29)
218
219 "zw" doesn't appear to work. (Luis A Florit, 2006 Jun 23, 24)
220
221 "dw" in a line with one character deletes the line. Vi and nvi don't do this.
222 Is it intentional or not? (Kjell Arne Rekaa)
223
224 Check other interfaces for changing curbuf in a wrong way. Patch like for 317 Check other interfaces for changing curbuf in a wrong way. Patch like for
225 if_ruby.c. 318 if_ruby.c.
226 319
227 Spell checking in popup menu: If the only problem is the case of the first 320 Spell checking in popup menu: If the only problem is the case of the first
228 character, don't offer "ignore" and "add to word list". 321 character, don't offer "ignore" and "add to word list".
229 322
230 ":helpgrep" should use the directory from 'helpfile'. 323 ":helpgrep" should use the directory from 'helpfile'.
231 324
232 The need_fileinfo flag is messy. Instead make the message right away and put 325 The need_fileinfo flag is messy. Instead make the message right away and put
233 it in keep_msg? 326 it in keep_msg?
234
235 More-prompt is skipped when doing this; (Randall W. Morris, Jun 17)
236 :au
237 <Space>
238 b
239 <Space>
240 327
241 Editing a file remotely that matches 'wildignore' results in a "no match" 328 Editing a file remotely that matches 'wildignore' results in a "no match"
242 error. Should only happen when there are wildards, not when giving the file 329 error. Should only happen when there are wildards, not when giving the file
243 name literally, and esp. if there is only one name. 330 name literally, and esp. if there is only one name.
244 331
245 When 'expandtab' is set then a Tab copied for 'copyindent' is expanded to
246 spaces, even when 'preserveindent' is set. (Alexei Alexandrov, Mar 7)
247
248 Test 61 fails sometimes. This is a timing problem: "sleep 2" sometimes takes 332 Test 61 fails sometimes. This is a timing problem: "sleep 2" sometimes takes
249 longer than 2 seconds. 333 longer than 2 seconds.
334
335 Changing 'guifont' in the console causes an uneccessary redraw.
336
337 "vim -C" often has 'nocompatible', because it's set in some startup script.
338 Set 'compatible' after startup is done? Patch by James Vega, 2008 Feb 7.
250 339
251 VMS: while editing a file found in complex, Vim will save file into the first 340 VMS: while editing a file found in complex, Vim will save file into the first
252 directory of the path and not to the original location of the file. 341 directory of the path and not to the original location of the file.
253 (Zoltan Arpadffy) 342 (Zoltan Arpadffy)
254 343
344 VMS: VFC files are in some cases truncated during reading (Zoltan Arpadffy)
345
255 input() completion should not insert a backslash to escape a space in a file 346 input() completion should not insert a backslash to escape a space in a file
256 name? 347 name?
257 348
258 getpos()/setpos() don't include curswant. getpos() could return a fifth 349 getpos()/setpos() don't include curswant. getpos() could return a fifth
259 element. setpos() could accept an optional fifth element. 350 element. setpos() could accept an optional fifth element.
260 351
261 Ruby completion is insecure. Can this be fixed? 352 Ruby completion is insecure. Can this be fixed?
262
263 ":confirm w" does give a prompt when 'readonly' is set, but not when the file
264 permissions are read-only. Both can be overruled by ":w!" thus it would be
265 logical to get a prompt for both. (Michael Schaap)
266 353
267 When 'backupskip' is set from $TEMP special characters need to be escaped. 354 When 'backupskip' is set from $TEMP special characters need to be escaped.
268 (patch by Grembowietz, 2007 Feb 26, not quite right) 355 (patch by Grembowietz, 2007 Feb 26, not quite right)
269 Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\(" 356 Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\("
270 will be seen as a path separator plus "\(". 357 will be seen as a path separator plus "\(".
276 363
277 Substituting an area with a line break with almost the same area does change 364 Substituting an area with a line break with almost the same area does change
278 the Visual area. Can this be fixed? (James Vega, 2006 Sept 15) 365 the Visual area. Can this be fixed? (James Vega, 2006 Sept 15)
279 366
280 Windows installer could add a "open in new tab of existing Vim" menu entry. 367 Windows installer could add a "open in new tab of existing Vim" menu entry.
281 368 Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
282 :s/e/E/l not only lists but also shows line number. Is that right? 369 Just have two choices, always using one Vim and selecting between using an
283 (Yakov Lerner, 2006 Jul 27) 370 argument list or opening each file in a separate tab.
371 (Erik Falor, 2008 May 21)
284 372
285 GUI: When combining fg en bg make sure they are not equal. 373 GUI: When combining fg en bg make sure they are not equal.
286 374
287 Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006 375 Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006
288 Jun 5) 376 Jun 5)
289 377
290 Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21) 378 Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
291
292 When 'bomb' is set or reset the file should be considered modified. (Tony
293 Mechelynck) Handle like 'endofline'.
294 379
295 Add an option to specify the character to use when a double-width character is 380 Add an option to specify the character to use when a double-width character is
296 moved to the next line. Default '>', set to a space to blank it out. Check 381 moved to the next line. Default '>', set to a space to blank it out. Check
297 that char is single width when it's set (compare with 'listchars'). 382 that char is single width when it's set (compare with 'listchars').
298 383
299 Update main.aap for installing on the Mac.
300
301 The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3) 384 The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3)
302 385
303 Session file creation: 'autochdir' causes trouble. Keep it off until after 386 Session file creation: 'autochdir' causes trouble. Keep it off until after
304 loading all files. 387 loading all files.
305 388
306 C completion: doesn't work after aa[0]->, where aa is an array of structures. 389 When showing a diff between a non-existant file and an existing one, with the
307 (W. de Hoog, 2006 Aug 12) 390 cursor in the empty buffer, the other buffer only shows the last line. Change
391 the "insert" into a change from one line to many? (Yakov Lerner, 2008 May 27)
392
393 Add autocommand for when a tabpage is being closed. Also for when a tab page
394 has been created.
395
396 Using ":make" blocks Vim. Allow running one make in the background (if the
397 shell supports it), catch errors in a file and update the error list on the
398 fly. A bit like "!make > file&" and repeating ":cf file". ":bgmake",
399 background make. ":bgcancel" interrupts it.
400 A.Politz may work on this.
308 401
309 The spellfile plugin checks for a writable "spell" directory. A user may have 402 The spellfile plugin checks for a writable "spell" directory. A user may have
310 a writable runtime directory without a "spell" directory, it could be created 403 a writable runtime directory without a "spell" directory, it could be created
311 then. 404 then.
312 405
324 417
325 New syntax files for fstab and resolv from Radu Dineiu, David Necas did 418 New syntax files for fstab and resolv from Radu Dineiu, David Necas did
326 previous version. 419 previous version.
327 420
328 For Aap: include a config.arg.example file with hints how to use config.arg. 421 For Aap: include a config.arg.example file with hints how to use config.arg.
422
423 Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
424 only one buffer line displayed, causes display errors.
425
426 Completing with 'wildmenu' and using <Up> and <Down> to move through directory
427 tree stops unexpectedly when using ":cd " and entering a directory that
428 doesn't contain other directories.
329 429
330 Linux distributions: 430 Linux distributions:
331 - Suggest compiling xterm with --enable-tcap-query, so that nr of colors is 431 - Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
332 known to Vim. 88 colors instead of 16 works better. See ":help 432 known to Vim. 88 colors instead of 16 works better. See ":help
333 xfree-xterm". 433 xfree-xterm".
346 Accessing file#var in a function should not need the g: prepended. 446 Accessing file#var in a function should not need the g: prepended.
347 447
348 When ":cn" moves to an error in the same line the message isn't shortened. 448 When ":cn" moves to an error in the same line the message isn't shortened.
349 Only skip shortening for ":cc"? 449 Only skip shortening for ":cc"?
350 450
351 Win32: The matchparen plugin doesn't update the match when scrolling with the
352 mouse wheel. (Ilya Bobir, 2006 Jun 27)
353
354 Write "making vim work better" for the docs (mostly pointers): *nice* 451 Write "making vim work better" for the docs (mostly pointers): *nice*
355 - sourcing $VIMRUNTIME/vimrc_example.vim 452 - sourcing $VIMRUNTIME/vimrc_example.vim
356 - setting 'mouse' to "a" 453 - setting 'mouse' to "a"
357 - getting colors in xterm 454 - getting colors in xterm
358 - compiling Vim with X11, GUI, etc. 455 - compiling Vim with X11, GUI, etc.
359 456
360 Problem with ":call" and dictionary function. Hari Krishna Dara, Charles 457 Problem with ":call" and dictionary function. Hari Krishna Dara, Charles
361 Campbell 2006 Jul 06. 458 Campbell 2006 Jul 06.
362 459
363 Syntax HL error caused by "containedin". (Peter Hodge, 2006 Oct 6) 460 Syntax HL error caused by "containedin". (Peter Hodge, 2006 Oct 6)
461
462 ":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
463 Chase)
464
465 A custom completion function in a ":command" cannot be a Funcref. (Andy
466 Wokula, 2007 Aug 25)
467
468 Problem with using :redir in user command completion function? (Hari Krishna
469 Dara, 2006 June 21)
364 470
365 GTK: When maximizing Vim the result is slightly smaller, the filler border is 471 GTK: When maximizing Vim the result is slightly smaller, the filler border is
366 not there, and the "maximize" button is still there. Clicking it again does 472 not there, and the "maximize" button is still there. Clicking it again does
367 give a maximized window. (Darren Hiebert) 473 give a maximized window. (Darren Hiebert)
368 Problem is that gui_mch_set_text_area_pos() is invoked to change the text area 474 Problem is that gui_mch_set_text_area_pos() is invoked to change the text area
372 GDK_WINDOW_STATE_MAXIMIZED) and set it again? 478 GDK_WINDOW_STATE_MAXIMIZED) and set it again?
373 479
374 Another resizing problem when setting 'columns' and 'lines' to a very large 480 Another resizing problem when setting 'columns' and 'lines' to a very large
375 number. (Tony Mechelynck, 2007 Feb 6) 481 number. (Tony Mechelynck, 2007 Feb 6)
376 482
377 Problem with using :redir in user command completion function? (Hari Krishna 483 GTK: when using the -geom argument with an offset from the right edge and the
378 Dara, 2006 June 21) 484 size is smaller than the default, the Vim window is not positioned properly.
485
486 GTK: when editing a directory with the netrw plugin in a terminal and doing
487 ":gui" Vim hangs in obtaining the selection. Workaround patch 7.1.209 is a
488 hack (timeout after 3 seconds). Why don't we get the selection here?
379 489
380 After starting Vim, using '0 to jump somewhere in a file, ":sp" doesn't center 490 After starting Vim, using '0 to jump somewhere in a file, ":sp" doesn't center
381 the cursor line. It works OK after some other commands. 491 the cursor line. It works OK after some other commands.
382
383 Screen redrawing when continuously updating the buffer and resizing the
384 terminal. (Yakov Lerner, 2006 Sept 7)
385 492
386 Win32: Is it possible to have both postscript and Win32 printing? 493 Win32: Is it possible to have both postscript and Win32 printing?
387 Does multi-byte printing with ":hardcopy" work? Add remark in documentation 494 Does multi-byte printing with ":hardcopy" work? Add remark in documentation
388 about this. 495 about this.
389 496
390 'thesaurus' doesn't work when 'infercase' is set. (Mohsin, 2006 May 30)
391
392 There should be something about spell checking in the user manual. 497 There should be something about spell checking in the user manual.
393 498
394 Check: Running Vim in a console and still having connect to the X server for 499 Check: Running Vim in a console and still having connect to the X server for
395 copy/paste: is stopping the X server handled gracefully? Should catch the X 500 copy/paste: is stopping the X server handled gracefully? Should catch the X
396 error and stop using the connection to the server. 501 error and stop using the connection to the server.
399 Jul 26, Gary Johnson) 504 Jul 26, Gary Johnson)
400 505
401 In the Netbeans interface add a "vimeval" function, so that the other side can 506 In the Netbeans interface add a "vimeval" function, so that the other side can
402 check the result of has("patch13"). 507 check the result of has("patch13").
403 508
404 ":py" asks for an argument, ":py asd" then gives the error that ":py" isn't
405 implemented. Should already happen for ":py".
406
407 Add command modifier that skips wildcard expansion, so that you don't need to 509 Add command modifier that skips wildcard expansion, so that you don't need to
408 put backslashes before special chars, only for white space. 510 put backslashes before special chars, only for white space.
409 511
410 Win32 GUI: confirm() with zero default should not have a choice selected.
411
412 Win32: When the GUI tab pages line is displayed Vim jumps from the secondary 512 Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
413 to the primary monitor. (Afton Lewis, 2007 Mar 9) Old resizing problem? 513 to the primary monitor. (Afton Lewis, 2007 Mar 9) Old resizing problem?
414 514
415 GTK GUI: When the completion popup menu is used scrolling another window by 515 GTK: when the Tab pages bar appears or disappears while the window is
416 the scrollbar is OK, but using the scroll wheel it behaves line <Enter>. 516 maximized the window is no longer maximized. Patch that has some idea but
417 517 doesn't work from Geoffrey Antos, 2008 May 5.
418 "cit" used on <foo></foo> deletes <foo>. Should not delete anything and start
419 insertion, like "ci'" does on "". (Michal Bozon)
420
421 Allow more than 3 ":match" items.
422 518
423 The magic clipboard format "VimClipboard2" appears in several places. Should 519 The magic clipboard format "VimClipboard2" appears in several places. Should
424 be only one. 520 be only one.
521
522 "vim -C" often has 'nocompatible', because it's set somewhere in a startup
523 script. Do "set compatible" after startup?
425 524
426 It's difficult to debug numbered functions (function in a Dictionary). Print 525 It's difficult to debug numbered functions (function in a Dictionary). Print
427 the function name before resolving it to a number? 526 the function name before resolving it to a number?
428 let d = {} 527 let d = {}
429 fun! d.foo() 528 fun! d.foo()
431 endfun 530 endfun
432 call d.foo(9) 531 call d.foo(9)
433 532
434 Add a mark for the other end of the Visual area (VIsual pos). '< and '> are 533 Add a mark for the other end of the Visual area (VIsual pos). '< and '> are
435 only set after Visual moded is ended. 534 only set after Visual moded is ended.
535 Also add a variable for the Visual mode. So that this mode and '< '> can be
536 used to set what "gv" selects. (Ben Schmidt)
537
538 Win32: When running ":make" and 'encoding' differs from the system locale, the
539 output should be converted. Esp. when 'encoding' is "utf-8". (Yongwei Wu)
540 Should we use 'termencoding' for this?
541
542 Win32, NTFS: When editing an specific infostream directly and 'backupcopy' is
543 "auto" should detect this situation and work like 'backupcopy' is "yes". File
544 name is something like "c:\path\foo.txt:bar", includes a colon. (Alex
545 Jakushev, 2008 Feb 1)
436 546
437 Small problem displaying diff filler line when opening windows with a script. 547 Small problem displaying diff filler line when opening windows with a script.
438 (David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 ) 548 (David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 )
439 549
440 When pattern for ":sort" is empty, use last search pattern. Allows trying out
441 the pattern first. (Brian McKee)
442
443 Is it allowed that 'backupext' is empty? Problems when backup is in same dir 550 Is it allowed that 'backupext' is empty? Problems when backup is in same dir
444 as original file? If it's OK don't compare with 'patchmode'. (Thierry Closen) 551 as original file? If it's OK don't compare with 'patchmode'. (Thierry Closen)
445 552
446 Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro, 2007 553 Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro, 2007
447 Jan 1) 554 Jan 1)
448 555
449 Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update Apr 28) 556 Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update 2008 Apr
450 557 23)
451 Patch for improving regexp speed by not freeing memory. (Alexei Alexandrov, 558
452 2007 Feb 6) 559 ":mkview" isn't called with the right buffer argument. Happens when using
560 tabs and the autocommand "autocmd BufWinLeave * mkview". (James Vega, 2007
561 Jun 18)
453 562
454 xterm should be able to pass focus changes to Vim, so that Vim can check for 563 xterm should be able to pass focus changes to Vim, so that Vim can check for
455 buffers that changed. Perhaps in misc.c, function selectwindow(). 564 buffers that changed. Perhaps in misc.c, function selectwindow().
456 Xterm 224 supports it! 565 Xterm 224 supports it!
457 566
458 Omni completion takes the wrong structure for variable arguments. (Bill
459 McCarthy, 2007 Feb 18)
460
461 When completing from another file that uses a different encoding completion 567 When completing from another file that uses a different encoding completion
462 text has the wrong encoding. E.g., when 'encoding' is utf-8 and file is 568 text has the wrong encoding. E.g., when 'encoding' is utf-8 and file is
463 latin1. Example from Gombault Damien, 2007 Mar 24. 569 latin1. Example from Gombault Damien, 2007 Mar 24.
464 570
465 Completing ":echohl" argument should include "None". (Ori Avtalion) 571 Is it possible to use "foo#var" instead of "g:foo#var" inside a function?
466 572
467 573 Syntax HL: When using "nextgroup" and the group has an empty match, there is
468 Vim 7.2: 574 no search at that position for another match. (Lukas Mai, 2008 April 11)
469 - Search offset doesn't work for multibyte character. Patch from Yukihiro 575
470 Nakadaira, 2006 Jul 18. 576 Spell menu: When using the Popup menu to select a replacement word,
471 Changes the offset from counting bytes to counting characters. 577 ":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use "z="
472 - Rename the tutor files from tutor.gr.* to tutor.el.*. Greece vs Greek. 578 somehow? Or use a new function.
473 Make all tutor files available in utf-8. 579
474 - Remove ! for ":cgetfile" and ":lgetfile". (patch from Yegappan Lakshmanan, 580 In gvim the backspace key produces a backspace character, but on Linux the
475 2007 Mar 9) 581 VERASE key is Delete. Set VERASE to Backspace? (patch by Stephane Chazelas,
582 2007 Oct 16)
583
584 TermResponse autocommand isn't always triggered when using vimdiff. (Aron
585 Griffis, 2007 Sep 19)
586
587 Patch for supporting #rrggbb in color terminals. (Matt Wozniski)
588
589 Create a gvimtutor.1 file and change Makefiles to install it.
590
591
592 Vim 7.3:
593 - Add patch for 'relativenumber' option? Markus Heidelberg, 2008 Feb 21
476 - Add blowfish encryption. Openssl has an implementation. Also by Paul 594 - Add blowfish encryption. Openssl has an implementation. Also by Paul
477 Kocher (LGPL), close to original. Mohsin also has some ideas. 595 Kocher (LGPL), close to original. Mohsin also has some ideas.
478 Take four bytes and turn them into unsigned to avoid byte-order problems. 596 Take four bytes and turn them into unsigned to avoid byte-order problems.
479 Need to buffer up to 7 bytes to align on 8 byte boundaries. 597 Need to buffer up to 7 bytes to align on 8 byte boundaries.
480 - Rename doc/sql.vim doc/ft_sql.vim.
481 - Change "command-line" to "[Command Line]" for the command line buffer
482 name in ex_window().
483 - Move including fcntl.h to vim.h, before O_NOFOLLOW, and remove it from all
484 .c files.
485 - ":{range}source": source the lines from the file. 598 - ":{range}source": source the lines from the file.
486 You can already yank lines and use :@" to execute them. 599 You can already yank lines and use :@" to execute them.
487 Most of do_source() would not be used, need a new function. 600 Most of do_source() would not be used, need a new function.
488 It's easy when not doing breakpoints or profiling. 601 It's easy when not doing breakpoints or profiling.
489 602
490 603
491 Patches: 604 More patches:
492 - Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3) 605 - Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
493 - Argument for feedkeys() to prepend to typeahead (Yakov Lerner, 2006 Oct 606 - Argument for feedkeys() to prepend to typeahead (Yakov Lerner, 2006 Oct
494 21) 607 21)
495 - Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs 608 - Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs
496 patch May 10) 609 patch May 10)
501 - Mac: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30) 614 - Mac: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30)
502 - Allow negative 'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16) 615 - Allow negative 'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16)
503 - ml_append_string(): efficiently append to an existing line. (Brad 616 - ml_append_string(): efficiently append to an existing line. (Brad
504 Beveridge, 2006 Aug 26) Use in some situations, e.g., when pasting a 617 Beveridge, 2006 Aug 26) Use in some situations, e.g., when pasting a
505 character at a time? 618 character at a time?
506 - gettabvar() and settabvar() functions. (Yegappan Lakshmanan, 2006 Sep 8) 619 - gettabvar() and settabvar() functions. (Yegappan Lakshmanan, 2007 Sep 13,
620 2008 Jun 12)
507 - recognize hex numbers better. (Mark Manning, 2006 Sep 13) 621 - recognize hex numbers better. (Mark Manning, 2006 Sep 13)
508 622
509 623
510 Awaiting updated patches: 624 Awaiting updated patches:
511 9 Mac unicode patch (Da Woon Jung, Eckehard Berns): 625 9 Mac unicode patch (Da Woon Jung, Eckehard Berns):
518 (Alan Schmitt) 632 (Alan Schmitt)
519 - remove 'macatsui' option when this has been fixed. 633 - remove 'macatsui' option when this has been fixed.
520 - when 'macatsui' is off should we always convert to "macroman" and ignore 634 - when 'macatsui' is off should we always convert to "macroman" and ignore
521 'termencoding'? 635 'termencoding'?
522 9 HTML indenting can be slow. Caused by using searchpair(). Can search() 636 9 HTML indenting can be slow. Caused by using searchpair(). Can search()
523 be used instead? 637 be used instead? A.Politz is looking into a solution.
524 8 Win32: Add minidump generation. (George Reilly, 2006 Apr 24) 638 8 Win32: Add minidump generation. (George Reilly, 2006 Apr 24)
525 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible. 639 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
526 Aric Blumer has a patch for this. He will update the patch for 6.3. 640 Aric Blumer has a patch for this. He will update the patch for 6.3.
527 7 Completion of network shares, patch by Yasuhiro Matsumoto. 641 7 Completion of network shares, patch by Yasuhiro Matsumoto.
528 Update 2004 Sep 6. 642 Update 2004 Sep 6.
529 How does this work? Missing comments. 643 How does this work? Missing comments.
530 - Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav 644 - Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
531 Smilauer, 2004 Sep 13, fix Oct 31) 645 Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
532 Asked for improvements 2004 Dec 20.
533 8 Add a few more command names to the menus. Patch from Jiri Brezina 646 8 Add a few more command names to the menus. Patch from Jiri Brezina
534 (28 feb 2002). Will mess the translations... 647 (28 feb 2002). Will mess the translations...
535 7 ATTENTION dialog choices are more logical when "Delete it' appears 648 7 ATTENTION dialog choices are more logical when "Delete it' appears
536 before "Quit". Patch by Robert Webb, 2004 May 3. 649 before "Quit". Patch by Robert Webb, 2004 May 3.
537 - Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work 650 - Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
564 (2003 May 13) 677 (2003 May 13)
565 raisewin() raise gvim window (see HierAssist patch for 678 raisewin() raise gvim window (see HierAssist patch for
566 Tcl implementation ~/vim/HierAssist/ ) 679 Tcl implementation ~/vim/HierAssist/ )
567 taglist() add argument to specify maximum number of matches. 680 taglist() add argument to specify maximum number of matches.
568 useful for interactive things or completion. 681 useful for interactive things or completion.
569 7 Make globpath() also work with upwards search. (Brian Medley) 682 col('^') column of first non-white character.
683 Can use "len(substitute(getline('.'), '\S.*', '', ''))
684 + 1", but that's ugly.
570 7 Add patch from Benoit Cerrina to integrate Vim and Perl functions 685 7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
571 better. Now also works for Ruby (2001 Nov 10) 686 better. Now also works for Ruby (2001 Nov 10)
572 - Patch from Herculano de Lima Einloft Neto for better formatting of the 687 - Patch from Herculano de Lima Einloft Neto for better formatting of the
573 quickfix window (2004 dec 2) 688 quickfix window (2004 dec 2)
574 7 When 'rightleft' is set, the search pattern should be displayed right 689 7 When 'rightleft' is set, the search pattern should be displayed right
725 MS-Windows 98? 840 MS-Windows 98?
726 Try this: ":set sw ts", get enter-prompt, then change the file in a 841 Try this: ":set sw ts", get enter-prompt, then change the file in a
727 console, go back to Vim and click "reload" in the dialog for the changed 842 console, go back to Vim and click "reload" in the dialog for the changed
728 file: Window moves with the cursor! 843 file: Window moves with the cursor!
729 Put focus event in input buffer and let generic Vim code handle it? 844 Put focus event in input buffer and let generic Vim code handle it?
730 8 When activating the Vim window with mouse click, don't move cursor to
731 mouse position. Catch WM_MOUSEACTIVATE. (Luevelsmeyer)
732 8 Win32: When mouse is hidden and in the toolbar, moving it won't make it 845 8 Win32: When mouse is hidden and in the toolbar, moving it won't make it
733 appear. (Sami Salonen) 846 appear. (Sami Salonen)
734 8 Win32 GUI: With maximized window, ":set go-=r" doesn't use the space that 847 8 Win32 GUI: With maximized window, ":set go-=r" doesn't use the space that
735 comes available. (Poucet) It works OK on Win 98 but doesn't work on Win 848 comes available. (Poucet) It works OK on Win 98 but doesn't work on Win
736 NT 4.0. Leaves a grey area where the scrollbar was. ":set go+=r" also 849 NT 4.0. Leaves a grey area where the scrollbar was. ":set go+=r" also
1067 8 Standard Mac shortcuts are missing. (Amerige) 1180 8 Standard Mac shortcuts are missing. (Amerige)
1068 8 Handling of non-fixed width fonts is wrong. (Amerige) 1181 8 Handling of non-fixed width fonts is wrong. (Amerige)
1069 1182
1070 1183
1071 "Small" problems: 1184 "Small" problems:
1185 - Can't disable terminal flow control, to enable the use of CTRL-S and
1186 CTRL-Q. Add an option for it?
1072 - When using e_secure in do_one_cmd() mention the command being executed, 1187 - When using e_secure in do_one_cmd() mention the command being executed,
1073 otherwise it's not clear where it comes from. 1188 otherwise it's not clear where it comes from.
1074 8 When disabling FEAT_CMDL_COMPL compilation fails. Would need to avoid
1075 using parse_compl_arg() in eval.c and uc_scan_attr().
1076 9 For Turkish vim_tolower() and vim_toupper() also need to use utf_ 1189 9 For Turkish vim_tolower() and vim_toupper() also need to use utf_
1077 functions for characters below 0x80. (Sertacyildiz) 1190 functions for characters below 0x80. (Sertacyildiz)
1078 9 When the last edited file is a help file, using '0 in a new Vim doesn't 1191 9 When the last edited file is a help file, using '0 in a new Vim doesn't
1079 edit the file as a help file. 1192 edit the file as a help file.
1080 8 When an ":edit" is inside a try command and the ATTENTION prompt is used, 1193 8 When an ":edit" is inside a try command and the ATTENTION prompt is used,
1131 7 When 'ttimeoutlen' is 10 and 'timeoutlen' is 1000, there is a keycode 1244 7 When 'ttimeoutlen' is 10 and 'timeoutlen' is 1000, there is a keycode
1132 "<Esc>a" and a mapping <Esc>x", when typing "<Esc>a" with half a second 1245 "<Esc>a" and a mapping <Esc>x", when typing "<Esc>a" with half a second
1133 delay should not be interpreted as a keycode. (Hans Ginzel) 1246 delay should not be interpreted as a keycode. (Hans Ginzel)
1134 7 ":botright 1 new" twice causes all window heights to be changed. Make the 1247 7 ":botright 1 new" twice causes all window heights to be changed. Make the
1135 bottom window only bigger as much as needed. 1248 bottom window only bigger as much as needed.
1136 7 "[p" doesn't work in Visual mode. (David Brown)
1137 7 The Cygwin and MingW makefiles define "PC", but it's not used anywhere. 1249 7 The Cygwin and MingW makefiles define "PC", but it's not used anywhere.
1138 Remove? (Dan Sharp) 1250 Remove? (Dan Sharp)
1139 9 User commands use the context of the script they were defined in. This 1251 9 User commands use the context of the script they were defined in. This
1140 causes a "s:var" argument to unexpectedly use a variable in the defining 1252 causes a "s:var" argument to unexpectedly use a variable in the defining
1141 script, not the calling script. Add an argument to ":command": 1253 script, not the calling script. Add an argument to ":command":
1142 "-keepcontext". Do replace <SID>, so that a function in the defining 1254 "-keepcontext". Do replace <SID>, so that a function in the defining
1143 script can be called. 1255 script can be called.
1144 8 The Japanese message translations for MS-Windows are called ja.sjis.po, 1256 8 The Japanese message translations for MS-Windows are called ja.sjis.po,
1145 but they use encoding cp932. Rename the file and check that it still 1257 but they use encoding cp932. Rename the file and check that it still
1146 works. 1258 works.
1147 9 When a syntax region does not use "keepend" and a contained item does use
1148 "extend", this makes the outer region stop at the end of the contained
1149 region. (Lutz Eymers) Another example Nov 14 2002.
1150 8 A very long message in confirm() can't be quit. Make this possible with 1259 8 A very long message in confirm() can't be quit. Make this possible with
1151 CTRL-C. 1260 CTRL-C.
1152 7 clip_x11_own_selection() uses CurrentTime, that is not allowed. VNC X 1261 7 clip_x11_own_selection() uses CurrentTime, that is not allowed. VNC X
1153 server has a problem with this. (Mark Waggoner) Remembering the timestamp 1262 server has a problem with this. (Mark Waggoner) Remembering the timestamp
1154 of events isn't always possible. We don't get them in an xterm. GTK 1263 of events isn't always possible. We don't get them in an xterm. GTK
1161 configurable? 1270 configurable?
1162 8 'hkmap' should probably be global-local. 1271 8 'hkmap' should probably be global-local.
1163 9 When "$" is in 'cpoptions' and folding is active, a "C" command changes 1272 9 When "$" is in 'cpoptions' and folding is active, a "C" command changes
1164 the folds and resets w_lines_valid. The display updating doesn't work 1273 the folds and resets w_lines_valid. The display updating doesn't work
1165 then. (Pritesh Mistry) 1274 then. (Pritesh Mistry)
1166 8 ":s!from!to!" works, but ":smagic!from!to!" doesn't. It sees the "!" as a
1167 flag to to the command. Same for ":snomagic". (Johan Spetz)
1168 8 Using ":s" in a function changes the previous replacement string. Save 1275 8 Using ":s" in a function changes the previous replacement string. Save
1169 "old_sub" in save_search_patterns()? 1276 "old_sub" in save_search_patterns()?
1170 8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+" 1277 8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
1171 is a multi-byte character. 1278 is a multi-byte character.
1172 8 When appending to a file and 'patchmode' isn't empty, a backup file is 1279 8 When appending to a file and 'patchmode' isn't empty, a backup file is
1174 7 When using "daw" on the last word in a file and this is a single letter, 1281 7 When using "daw" on the last word in a file and this is a single letter,
1175 nothing is deleted. Should delete the letter and preceding white space. 1282 nothing is deleted. Should delete the letter and preceding white space.
1176 9 When getting focus while writing a large file, could warn for this file 1283 9 When getting focus while writing a large file, could warn for this file
1177 being changed outside of Vim. Avoid checking this while the file is being 1284 being changed outside of Vim. Avoid checking this while the file is being
1178 written. 1285 written.
1179 9 The "Error detected while processing modelines" message should have an
1180 error number.
1181 7 The message in bt_dontwrite_msg() could be clearer. 1286 7 The message in bt_dontwrite_msg() could be clearer.
1182 8 The script ID that is stored with an option and displayed with ":verbose 1287 8 The script ID that is stored with an option and displayed with ":verbose
1183 set" isn't reset when the option is set internally. For example when 1288 set" isn't reset when the option is set internally. For example when
1184 'foldlevel' is set from 'foldlevelstart'. 1289 'foldlevel' is set from 'foldlevelstart'.
1185 8 Also store the line number with the script ID and use it for ":verbose", 1290 8 Also store the line number with the script ID and use it for ":verbose",
1515 8 Add tags for all features, e.g. "gui_running". 1620 8 Add tags for all features, e.g. "gui_running".
1516 7 MS-Windows: When a wrong command is typed with an ALT key, give a hint to 1621 7 MS-Windows: When a wrong command is typed with an ALT key, give a hint to
1517 look at the help for 'winaltkeys'. 1622 look at the help for 'winaltkeys'.
1518 7 Add a help.vim plugin that maps <Tab> to jump to the next tag in || and 1623 7 Add a help.vim plugin that maps <Tab> to jump to the next tag in || and
1519 <C-Tab> (and <S-Tab>) to the previous tag. 1624 <C-Tab> (and <S-Tab>) to the previous tag.
1625 Patch by Balazs Kezes, 2007 Dec 30. Remark from A. Politz.
1520 - Check text editor compendium for vi and Vim remarks. 1626 - Check text editor compendium for vi and Vim remarks.
1521 1627
1522 1628
1523 Help: 1629 Help:
1524 - First try using the ":help" argument literally, before using it as a 1630 - First try using the ":help" argument literally, before using it as a
1608 items than other spell files with the ISO-8859-2 encoding, that causes 1714 items than other spell files with the ISO-8859-2 encoding, that causes
1609 problem when changing 'spelllang'. There is no obvious way to fix this. 1715 problem when changing 'spelllang'. There is no obvious way to fix this.
1610 - Considering Hunspell 1.1.4: 1716 - Considering Hunspell 1.1.4:
1611 What does MAXNGRAMSUGS do? 1717 What does MAXNGRAMSUGS do?
1612 Is COMPLEXPREFIXES necessary when we have flags for affixes? 1718 Is COMPLEXPREFIXES necessary when we have flags for affixes?
1719 - Support spelling words in CamelCase as if they were two separate words.
1720 Requires some option to enable it. (Timothy Knox)
1613 - There is no Finnish spell checking file. For openoffic Voikko is now 1721 - There is no Finnish spell checking file. For openoffic Voikko is now
1614 used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/ 1722 used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/
1615 (Teemu Likonen) 1723 (Teemu Likonen)
1616 8 ":mkspell" still takes much too long in Hungarian dictionary from 1724 8 ":mkspell" still takes much too long in Hungarian dictionary from
1617 hunspell. Only solution appears to be to postpone secondary suffixes. 1725 hunspell. Only solution appears to be to postpone secondary suffixes.
1673 cluster" but change the contains list directly for matching syntax items. 1781 cluster" but change the contains list directly for matching syntax items.
1674 - References: MySpell library (in OpenOffice.org). 1782 - References: MySpell library (in OpenOffice.org).
1675 http://spellchecker.mozdev.org/source.html 1783 http://spellchecker.mozdev.org/source.html
1676 http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/ 1784 http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
1677 author: Kevin Hendricks <kevin.hendricks@sympatico.ca> 1785 author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
1786 8 It is currently not possible to mark "can not" as rare, because "can" and
1787 "not" are good words. Find a way to let "rare" overrule "good"?
1678 8 Make "en-rare" spell file? Ask Charles Campbell. 1788 8 Make "en-rare" spell file? Ask Charles Campbell.
1679 8 The English dictionaries for different regions are not consistent in their 1789 8 The English dictionaries for different regions are not consistent in their
1680 use of words with a dash. 1790 use of words with a dash.
1681 7 Insert mode completion mechanism that uses the spell word lists. 1791 7 Insert mode completion mechanism that uses the spell word lists.
1682 8 Add hl groups to 'spelllang'? 1792 8 Add hl groups to 'spelllang'?
1684 More complicated: Regions with different languages? E.g., comments 1794 More complicated: Regions with different languages? E.g., comments
1685 in English, strings in German (po file). 1795 in English, strings in German (po file).
1686 1796
1687 1797
1688 Diff mode: 1798 Diff mode:
1799 9 Instead invoking an external diff program, use builtin code. One can be
1800 found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
1689 8 Use diff mode to show the changes made in a buffer (compared to the file). 1801 8 Use diff mode to show the changes made in a buffer (compared to the file).
1690 Use an unnamed buffer, like doing: 1802 Use an unnamed buffer, like doing:
1691 new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis 1803 new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
1692 Also show difference with the file when editing started? Should show what 1804 Also show difference with the file when editing started? Should show what
1693 can be undone. (Tom Popovich) 1805 can be undone. (Tom Popovich)
1765 option to specify the encoding of the errorfile and convert it. Also for 1877 option to specify the encoding of the errorfile and convert it. Also for
1766 ":grep" and ":helpgrep". 1878 ":grep" and ":helpgrep".
1767 More generic solution: support a filter (e.g., by calling a function). 1879 More generic solution: support a filter (e.g., by calling a function).
1768 8 When a file was converted from 'fileencoding' to 'encoding', a tag search 1880 8 When a file was converted from 'fileencoding' to 'encoding', a tag search
1769 should also do this on the search pattern. (Andrzej M. Ostruszka) 1881 should also do this on the search pattern. (Andrzej M. Ostruszka)
1882 8 When filtering changes the encoding 'fileencoding' may not work. E.g.,
1883 when using xxd and 'fileencoding' is "utf-16". Add an option to set a
1884 different fileencoding for filter output?
1770 7 When converting a file fails, mention which byte could not be converted, 1885 7 When converting a file fails, mention which byte could not be converted,
1771 so that the user can fix the problem. 1886 so that the user can fix the problem.
1772 8 Add configure option to be able to disable using the iconv library. (Udo 1887 8 Add configure option to be able to disable using the iconv library. (Udo
1773 Schweigert) 1888 Schweigert)
1774 9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El) 1889 9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El)
1775 8 Should add test for using various commands with multi-byte characters. 1890 8 Should add test for using various commands with multi-byte characters.
1776 8 'infercase' doesn't work with multi-byte characters. 1891 8 'infercase' doesn't work with multi-byte characters.
1777 8 toupper() function doesn't handle byte count changes. 1892 8 toupper() function doesn't handle byte count changes.
1778 7 When searching, should order of composing characters be ignored? 1893 7 Searching and composing characters:
1894 When searching, should order of composing characters be ignored?
1895 Add special item to match with a composing character, zero-width, so that
1896 one can replace a base character and keep the composing characters.
1897 Add a special item to match with a composing character, so that composing
1898 characters can be manipulated.
1899 Add a modifier to ignore composing characters, only compare base
1900 characters. Useful for Hebrew (Ron Aaron)
1779 8 Should implement 'delcombine' for command line editing. 1901 8 Should implement 'delcombine' for command line editing.
1780 8 Detect overlong UTF-8 sequences and handle them like illegal bytes. 1902 8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
1781 8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte 1903 8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
1782 characters. 1904 characters.
1783 8 UTF-8: "r" in Visual mode doesn't take composing characters. 1905 8 UTF-8: "r" in Visual mode doesn't take composing characters.
2001 7 SpecialKey highlighting overrules syntax highlighting. Can't give an 2123 7 SpecialKey highlighting overrules syntax highlighting. Can't give an
2002 unprintable char another color. Would be useful for ^M at end of line. 2124 unprintable char another color. Would be useful for ^M at end of line.
2003 2125
2004 2126
2005 Built-in script language: 2127 Built-in script language:
2128 8 Make the filename and line number available to script functions, so that
2129 they can give useful debugging info. The whole call stack would be ideal.
2006 7 Execute a function with standard option values. No need to save and 2130 7 Execute a function with standard option values. No need to save and
2007 restore option values. Especially useful for new options. Problem: how 2131 restore option values. Especially useful for new options. Problem: how
2008 to avoid a performance penalty (esp. for string options)? 2132 to avoid a performance penalty (esp. for string options)?
2009 8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and 2133 8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
2010 ":let &t_xx =". Useful for making portable mappings. 2134 ":let &t_xx =". Useful for making portable mappings.
2065 attributes() return file protection flags "drwxrwxrwx" 2189 attributes() return file protection flags "drwxrwxrwx"
2066 filecopy(from, to) Copy a file 2190 filecopy(from, to) Copy a file
2067 shorten(fname) shorten a file name, like home_replace() 2191 shorten(fname) shorten a file name, like home_replace()
2068 perl(cmd) call Perl and return string 2192 perl(cmd) call Perl and return string
2069 inputrl() like input() but right-to-left 2193 inputrl() like input() but right-to-left
2194 typed() return the characters typed and consumed (to
2195 find out what happened)
2070 virtualmode() add argument to obtain whether "$" was used in 2196 virtualmode() add argument to obtain whether "$" was used in
2071 Visual block mode. 2197 Visual block mode.
2072 getacp() Win32: get codepage (Glenn Maynard) 2198 getacp() Win32: get codepage (Glenn Maynard)
2073 deletebufline() delete line in any buffer 2199 deletebufline() delete line in any buffer
2074 appendbufline() append line in any buffer 2200 appendbufline() append line in any buffer
2248 9 Check handling of overwriting of messages and delays: 2374 9 Check handling of overwriting of messages and delays:
2249 Very wrong: errors while redrawing cause endless loop. 2375 Very wrong: errors while redrawing cause endless loop.
2250 When switching to another file and screen scrolls because of the long 2376 When switching to another file and screen scrolls because of the long
2251 message and return must be typed, don't scroll the screen back before 2377 message and return must be typed, don't scroll the screen back before
2252 redrawing. 2378 redrawing.
2253 7 Add an option, which is a regexp, that disables warning messages which
2254 match that regexp (Tsirkin).
2255 8 When address range is wrong you only get "Invalid range". Be a bit more 2379 8 When address range is wrong you only get "Invalid range". Be a bit more
2256 specific: Negative, beyond last line, reverse range? Include the text. 2380 specific: Negative, beyond last line, reverse range? Include the text.
2257 8 Make it possible to ignore errors for a moment ('errorignore'?). Another 2381 8 Make it possible to ignore errors for a moment ('errorignore'?). Another
2258 option to switch off giving error messages ('errorquiet'?). Also an option 2382 option to switch off giving error messages ('errorquiet'?). Also an option
2259 not to give any messages ('quiet')? Or ":quiet on", ":quiet off". 2383 not to give any messages ('quiet')? Or ":quiet on", ":quiet off".
2659 8 Add CTRL-X CTRL-R: complete words from register contents. 2783 8 Add CTRL-X CTRL-R: complete words from register contents.
2660 8 Add completion of previously inserted texts (like what CTRL-A does). 2784 8 Add completion of previously inserted texts (like what CTRL-A does).
2661 Requires remembering a number of insertions. 2785 Requires remembering a number of insertions.
2662 8 Add 'f' flag to 'complete': Expand file names. 2786 8 Add 'f' flag to 'complete': Expand file names.
2663 Also apply 'complete' to whole line completion. 2787 Also apply 'complete' to whole line completion.
2788 - Add a flag to 'complete' to only scan local header files, not system
2789 header files. (Andri Moell)
2664 - Make it possible to search include files in several places. Use the 2790 - Make it possible to search include files in several places. Use the
2665 'path' option? Can this be done with the dictionary completion (use 2791 'path' option? Can this be done with the dictionary completion (use
2666 wildcards in the file name)? 2792 wildcards in the file name)?
2667 - Make CTRL-X CTRL-K do a binary search in the dictionary (if it's sorted). 2793 - Make CTRL-X CTRL-K do a binary search in the dictionary (if it's sorted).
2668 - Speed up CTRL-X CTRL-K dictionary searching (don't use a regexp?). 2794 - Speed up CTRL-X CTRL-K dictionary searching (don't use a regexp?).
2718 - use NV_NOCL flag for commands that are not allowed in Command-line 2844 - use NV_NOCL flag for commands that are not allowed in Command-line
2719 Mode. 2845 Mode.
2720 2846
2721 2847
2722 Command line completion: 2848 Command line completion:
2849 8 Completing ":r ~br" should find matching user names.
2723 8 Change expand_interactively into a flag that is passed as an argument. 2850 8 Change expand_interactively into a flag that is passed as an argument.
2724 8 With command line completion after '%' and '#', expand current/alternate 2851 8 With command line completion after '%' and '#', expand current/alternate
2725 file name, so it can be edited. Also with modifiers, such as "%:h". 2852 file name, so it can be edited. Also with modifiers, such as "%:h".
2726 8 When completing command names, either sort them on the long name, or list 2853 8 When completing command names, either sort them on the long name, or list
2727 them with the optional part inside []. 2854 them with the optional part inside [].
2855 8 Add an option to ignore case when doing interactive completion. So that
2856 ":e file<Tab>" also lists "Filelist" (sorted after matching case matches).
2728 7 Completion of ":map x ": fill in the current mapping, so that it can be 2857 7 Completion of ":map x ": fill in the current mapping, so that it can be
2729 edited. (Sven Guckes) 2858 edited. (Sven Guckes)
2730 - For 'wildmenu': Simplify "../bar" when possible. 2859 - For 'wildmenu': Simplify "../bar" when possible.
2731 - When using <Up> in wildmenu mode for a submenu, should go back to the 2860 - When using <Up> in wildmenu mode for a submenu, should go back to the
2732 current menu, not the first one. E.g., ":emenu File.Save<Up>". 2861 current menu, not the first one. E.g., ":emenu File.Save<Up>".
2767 8 When using CTRL-O in Insert mode, then executing an insert command 2896 8 When using CTRL-O in Insert mode, then executing an insert command
2768 "a" or "i", should we return to Insert mode after <Esc>? (Eggink) 2897 "a" or "i", should we return to Insert mode after <Esc>? (Eggink)
2769 Perhaps it can be allowed a single time, to be able to do 2898 Perhaps it can be allowed a single time, to be able to do
2770 "<C-O>10axyz<Esc>". Nesting this further is confusing. 2899 "<C-O>10axyz<Esc>". Nesting this further is confusing.
2771 ":map <F2> 5aabc<Esc>" works only once from Insert mode. 2900 ":map <F2> 5aabc<Esc>" works only once from Insert mode.
2901 8 When using CTRL-G CTRL-O do like CTRL-\ CTRL-O, but when returning with
2902 the cursor in the same position and the text didn't change continue the
2903 same change, so that "." repeats the whole insert.
2772 7 Use CTRL-G <count> to repeat what follows. Useful for inserting a 2904 7 Use CTRL-G <count> to repeat what follows. Useful for inserting a
2773 character multiple times or repeating CTRL-Y. 2905 character multiple times or repeating CTRL-Y.
2774 7 Use 'matchpairs' for 'showmatch': When inserting a character check if it 2906 7 Use 'matchpairs' for 'showmatch': When inserting a character check if it
2775 appears in the rhs of 'matchpairs'. 2907 appears in the rhs of 'matchpairs'.
2776 - In Insert mode (and command line editing?): Allow undo of the last typed 2908 - In Insert mode (and command line editing?): Allow undo of the last typed
2788 - Insert binary numbers with CTRL-V b. 2920 - Insert binary numbers with CTRL-V b.
2789 - Make it possible to undo <BS>, <C-W> and <C-U>. Bash uses CTRL-Y. 2921 - Make it possible to undo <BS>, <C-W> and <C-U>. Bash uses CTRL-Y.
2790 2922
2791 2923
2792 'cindent', 'smartindent': 2924 'cindent', 'smartindent':
2925 9 ") :" confuses continuation line: (Colin Bennett, 2007 Dec 14)
2926 cout << "a"
2927 << ") :"
2928 << "y";
2793 8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17) 2929 8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
2930 8 Why are continuation lines outside of a {} block not indented? E.g.:
2931 long_type foo =
2932 value;
2794 8 Java: Inside an anonymous class, after an "else" or "try" the indent is 2933 8 Java: Inside an anonymous class, after an "else" or "try" the indent is
2795 too small. (Vincent Bergbauer) 2934 too small. (Vincent Bergbauer)
2796 Problem of using {} inside (), 'cindent' doesn't work then. 2935 Problem of using {} inside (), 'cindent' doesn't work then.
2797 8 In C++ it's possible to have {} inside (): (Kirshna) 2936 8 In C++ it's possible to have {} inside (): (Kirshna)
2798 func( 2937 func(
2891 end of the line? 3030 end of the line?
2892 7 Allow specifying it separately for Tabs and beyond end-of-line? 3031 7 Allow specifying it separately for Tabs and beyond end-of-line?
2893 3032
2894 3033
2895 Text objects: 3034 Text objects:
3035 8 Add text object for fold, so that it can be yanked when it's open.
2896 8 Add test script for text object commands "aw", "iW", etc. 3036 8 Add test script for text object commands "aw", "iW", etc.
2897 8 Add text object for part of a CamelHumpedWord and under_scored_word. 3037 8 Add text object for part of a CamelHumpedWord and under_scored_word.
2898 (Scott Graham) "ac" and "au"? 3038 (Scott Graham) "ac" and "au"?
2899 8 Add a text object for any kind of quoting, also with multi-byte 3039 8 Add a text object for any kind of quoting, also with multi-byte
2900 characters. Option to specify what quotes are recognized (default: all) 3040 characters. Option to specify what quotes are recognized (default: all)
2901 use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like 3041 use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
2902 'matchpairs'? 3042 'matchpairs'?
2903 8 Add text object for any kind of parens, also multi-byte ones. 3043 8 Add text object for any kind of parens, also multi-byte ones.
2904 7 Add text object for current search pattern: "a/" and "i/". Makes it 3044 7 Add text object for current search pattern: "a/" and "i/". Makes it
2905 possible to turn text highlighted for 'hlsearch' into a Visual area. 3045 possible to turn text highlighted for 'hlsearch' into a Visual area.
2906 8 Add a way to make an ":omap" for a user-defined text object. 3046 8 Add a way to make an ":omap" for a user-defined text object. Requires
3047 changing the starting position in oap->start.
2907 8 Add "gp" and "gP" commands: insert text and make sure there is a single 3048 8 Add "gp" and "gP" commands: insert text and make sure there is a single
2908 space before it, unless at the start of the line, and after it, unless at 3049 space before it, unless at the start of the line, and after it, unless at
2909 the end of the line or before a ".". 3050 the end of the line or before a ".".
2910 7 Add objects with backwards extension? Use "I" and "A". Thus "2dAs" 3051 7 Add objects with backwards extension? Use "I" and "A". Thus "2dAs"
2911 deletes the current and previous sentence. (Jens Paulus) 3052 deletes the current and previous sentence. (Jens Paulus)
2988 3129
2989 More advanced repeating commands: 3130 More advanced repeating commands:
2990 - Add "." command for visual mode: redo last visual command (e.g. ":fmt"). 3131 - Add "." command for visual mode: redo last visual command (e.g. ":fmt").
2991 7 Repeating "d:{cmd}" with "." doesn't work. (Benji Fisher) Somehow remember 3132 7 Repeating "d:{cmd}" with "." doesn't work. (Benji Fisher) Somehow remember
2992 the command line so that it can be repeated? 3133 the command line so that it can be repeated?
3134 - Add "gn": repeat last movement command. Including count.
2993 - Add "." command after operator: repeat last command of same operator. E.g. 3135 - Add "." command after operator: repeat last command of same operator. E.g.
2994 "c." will repeat last change, also when "x" used since then (Webb). 3136 "c." will repeat last change, also when "x" used since then (Webb).
2995 "y." will repeat last yank. 3137 "y." will repeat last yank.
2996 "c2." will repeat the last but one change? 3138 "c2." will repeat the last but one change?
2997 Also: keep history of Normal mode commands, add command to list the history 3139 Also: keep history of Normal mode commands, add command to list the history
3134 This one is also very slow on "/* some comment */": "^\/\*\(.*[^/]\)*$". 3276 This one is also very slow on "/* some comment */": "^\/\*\(.*[^/]\)*$".
3135 7 Recognize "[a-z]", "[0-9]", etc. and replace them with the faster "\l" and 3277 7 Recognize "[a-z]", "[0-9]", etc. and replace them with the faster "\l" and
3136 "\d". 3278 "\d".
3137 7 Add a way to specify characters in <C-M> or <Key> form. Could be 3279 7 Add a way to specify characters in <C-M> or <Key> form. Could be
3138 \%<C-M>. 3280 \%<C-M>.
3139 8 Flags that apply to the whole pattern.
3140 This works for all places where a regexp is used.
3141 Add "\q" to not store this pattern as the last search pattern?
3142 8 Add an argument after ":s/pat/str/" for a range of matches. For example, 3281 8 Add an argument after ":s/pat/str/" for a range of matches. For example,
3143 ":s/pat/str/#3-4" to replace only the third and fourth "pat" in a line. 3282 ":s/pat/str/#3-4" to replace only the third and fourth "pat" in a line.
3283 8 When 'iskeyword' is changed the matches from 'hlsearch' may change. (Benji
3284 Fisher) redraw if some options are set while 'hlsearch' is set?
3144 8 Add an option not to use 'hlsearch' highlighting for ":s" and ":g" 3285 8 Add an option not to use 'hlsearch' highlighting for ":s" and ":g"
3145 commands. (Kahn) It would work like ":noh" is used after that command. 3286 commands. (Kahn) It would work like ":noh" is used after that command.
3146 Also: An extra flag to do this once, and a flag to keep the existing 3287 Also: An extra flag to do this once, and a flag to keep the existing
3147 search pattern. 3288 search pattern.
3289 - Make 'hlsearch' a local/global option, so that it can be disabled in some
3290 of the windows.
3148 - Add \%h{group-name}; to search for a specific highlight group. 3291 - Add \%h{group-name}; to search for a specific highlight group.
3149 Add \%s{syntax-group}; to search for a specific syntax group. 3292 Add \%s{syntax-group}; to search for a specific syntax group.
3150 - Support Perl regexp. Use PCRE (Perl Compatible RE) package. (Shade) 3293 - Support Perl regexp. Use PCRE (Perl Compatible RE) package. (Shade)
3151 Or translate the pattern to a Vim one. 3294 Or translate the pattern to a Vim one.
3152 Don't switch on with an option for typed commands/mappings/functions, it's 3295 Don't switch on with an option for typed commands/mappings/functions, it's
3153 too confusing. Use "\@@" in the pattern, to avoid incompatibilities. 3296 too confusing. Use "\@@" in the pattern, to avoid incompatibilities.
3154 7 Add POSIX regexp, like Nvi, with 'extended' option? It's like very-magic. 3297 8 Add a way to access the last substitute text, what is used for ":s//~/".
3298 Can't use the ~ register, it's already used for drag & drop.
3155 - Remember flags for backreferenced items, so that "*" can be used after it. 3299 - Remember flags for backreferenced items, so that "*" can be used after it.
3156 Check with "\(\S\)\1\{3}". (Hemmerling) 3300 Check with "\(\S\)\1\{3}". (Hemmerling)
3301 8 Flags that apply to the whole pattern.
3302 This works for all places where a regexp is used.
3303 Add "\q" to not store this pattern as the last search pattern?
3157 - Add flags to search command (also for ":s"?): 3304 - Add flags to search command (also for ":s"?):
3158 i ignore case 3305 i ignore case
3159 I use case 3306 I use case
3160 p use Perl regexp syntax (or POSIX?) 3307 p use Perl regexp syntax (or POSIX?)
3161 v use Vi regexp syntax 3308 v use Vi regexp syntax
3204 7 Add ":iselect", a combination of ":ilist" and ":tselect". (Aaron) (Zellner) 3351 7 Add ":iselect", a combination of ":ilist" and ":tselect". (Aaron) (Zellner)
3205 Also ":dselect". 3352 Also ":dselect".
3206 3353
3207 3354
3208 Undo: 3355 Undo:
3356 9 After undo/redo, in the message show whether the buffer is modified or
3357 not.
3209 8 Undo tree: visually show the tree somehow (Damian Conway) 3358 8 Undo tree: visually show the tree somehow (Damian Conway)
3210 Show only the leaves, indicating how many changed from the branch and the 3359 Show only the leaves, indicating how many changed from the branch and the
3211 timestamp? 3360 timestamp?
3212 Put branch with most recent change on the left, older changes get more 3361 Put branch with most recent change on the left, older changes get more
3213 indent? 3362 indent?
3363 8 See ":e" as a change operation, find the changes and add them to the
3364 undo info. Also be able to undo the "Reload file" choice for when a file
3365 was changed outside of Vim.
3366 Would require doing a diff between the buffer text and the file and
3367 storing the differences.
3214 8 Search for pattern in undo tree, showing when it happened and the text 3368 8 Search for pattern in undo tree, showing when it happened and the text
3215 state, so that you can jump to it. 3369 state, so that you can jump to it.
3216 - Persistent undo: store undo in a file. 3370 - Persistent undo: store undo in a file.
3217 Use timestamps, so that a version a certain time ago can be found and info 3371 Use timestamps, so that a version a certain time ago can be found and info
3218 before some time/date can be flushed. 'undopersist' gives maximum time to 3372 before some time/date can be flushed. 'undopersist' gives maximum time to
3219 keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and 3373 keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and
3220 extension: ".filename.un~" (like swapfile but "un~" instead of "swp"). 3374 extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
3221 8 See ":e" as a change operation, find the changes and add them to the
3222 undo info. Needed for when an external tool changes the file.
3223 - Make it possible to undo all the commands from a mapping, including a 3375 - Make it possible to undo all the commands from a mapping, including a
3224 trailing unfinished command, e.g. for ":map K iX^[r". 3376 trailing unfinished command, e.g. for ":map K iX^[r".
3225 - When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not 3377 - When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
3226 possible, even when typing <Esc> immediately. (Grahn) Also for "i", "a", 3378 possible, even when typing <Esc> immediately. (Grahn) Also for "i", "a",
3227 etc. Postpone saving for undo until something is really inserted? 3379 etc. Postpone saving for undo until something is really inserted?
3316 Perhaps check the owner of the directory. Only when root? 3468 Perhaps check the owner of the directory. Only when root?
3317 8 Add argument to keep the list of buffers when Vim is started with a file 3469 8 Add argument to keep the list of buffers when Vim is started with a file
3318 name. (Schild) 3470 name. (Schild)
3319 8 Keep the last used directory of the file browser (File/Open menu). 3471 8 Keep the last used directory of the file browser (File/Open menu).
3320 8 Remember the last used register for "@@". 3472 8 Remember the last used register for "@@".
3473 8 Remember the redo buffer, so that "." works after restarting.
3321 8 Remember a list of last accessed files. To be used in the 3474 8 Remember a list of last accessed files. To be used in the
3322 "File.Open Recent" menu. Default is to remember 10 files or so. 3475 "File.Open Recent" menu. Default is to remember 10 files or so.
3323 Also remember which files have been read and written. How to display 3476 Also remember which files have been read and written. How to display
3324 this? 3477 this?
3325 7 Also store the ". register (last inserted text). 3478 7 Also store the ". register (last inserted text).
3334 3487
3335 Modelines: 3488 Modelines:
3336 8 Before trying to execute a modeline, check that it looks like one (valid 3489 8 Before trying to execute a modeline, check that it looks like one (valid
3337 option names). If it's very wrong, silently ignore it. 3490 option names). If it's very wrong, silently ignore it.
3338 Ignore a line that starts with "Subject: ". 3491 Ignore a line that starts with "Subject: ".
3492 - Add an option to whitelist options that are allowed in a modeline. This
3493 would allow careful users to use modelines, e.g., only allowing
3494 'shiftwidth'.
3495 - Add an option to let modelines only set local options, not global ones
3496 such as 'encoding'.
3339 - When an option value is coming from a modeline, do not carry it over to 3497 - When an option value is coming from a modeline, do not carry it over to
3340 another edited file? Would need to remember the value from before the 3498 another edited file? Would need to remember the value from before the
3341 modeline setting. 3499 modeline setting.
3342 - Allow setting a variable from a modeline? Only allow using fixed strings, 3500 - Allow setting a variable from a modeline? Only allow using fixed strings,
3343 no function calls, to avoid a security problem. 3501 no function calls, to avoid a security problem.
3415 Allow some way of reporting scrolling and cursor positioning in the viewer 3573 Allow some way of reporting scrolling and cursor positioning in the viewer
3416 to Vim, so that the link between the viewed and edited text can be made. 3574 to Vim, so that the link between the viewed and edited text can be made.
3417 3575
3418 3576
3419 Marks: 3577 Marks:
3578 8 Add ten marks for last changed files: ':0, ':1, etc. One mark per file.
3420 8 When cursor is first moved because of scrolling, set a mark at this 3579 8 When cursor is first moved because of scrolling, set a mark at this
3421 position. (Rimon Barr) Use '-. 3580 position. (Rimon Barr) Use '-.
3422 8 Add a command to jump to a mark and make the motion inclusive. g'm and g`m? 3581 8 Add a command to jump to a mark and make the motion inclusive. g'm and g`m?
3423 8 The '" mark is set to the first line, even when doing ":next" a few times. 3582 8 The '" mark is set to the first line, even when doing ":next" a few times.
3424 Only set the '" mark when the cursor was really moved in a file. 3583 Only set the '" mark when the cursor was really moved in a file.
3518 8 Add 'o' flag to 'mouse'? 3677 8 Add 'o' flag to 'mouse'?
3519 7 Be able to set a 'mouseshape' for the popup menu. 3678 7 Be able to set a 'mouseshape' for the popup menu.
3520 8 Add 'mouse' flag, which sets a behavior like Visual mode, but automatic 3679 8 Add 'mouse' flag, which sets a behavior like Visual mode, but automatic
3521 yanking at the button-up event. Or like Select mode, but typing gets you 3680 yanking at the button-up event. Or like Select mode, but typing gets you
3522 out of Select mode, instead of replacing the text. (Bhaskar) 3681 out of Select mode, instead of replacing the text. (Bhaskar)
3523 7 Checkout sysmouse() for FreeBSD console mouse support.
3524 - Implement mouse support for the Amiga console. 3682 - Implement mouse support for the Amiga console.
3525 - Using right mouse button to extend a blockwise selection should attach to 3683 - Using right mouse button to extend a blockwise selection should attach to
3526 the nearest corner of the rectangle (four possible corners). 3684 the nearest corner of the rectangle (four possible corners).
3527 - Precede mouse click by a number to simulate double clicks?!? 3685 - Precede mouse click by a number to simulate double clicks?!?
3528 - When mouse click after 'r' command, get character that was pointed to. 3686 - When mouse click after 'r' command, get character that was pointed to.
3573 7 Store the history from debug mode in viminfo. 3731 7 Store the history from debug mode in viminfo.
3574 7 Make the debug mode history available with histget() et al. 3732 7 Make the debug mode history available with histget() et al.
3575 3733
3576 3734
3577 Various improvements: 3735 Various improvements:
3736 8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
3737 buffer={bufnr}". So one can remove all signs for one file/buffer.
3578 7 Add plugins for formatting? Should be able to make a choice depending on 3738 7 Add plugins for formatting? Should be able to make a choice depending on
3579 the language of a file (English/Korean/Japanese/etc.). 3739 the language of a file (English/Korean/Japanese/etc.).
3580 Setting the 'langformat' option to "chinese" would load the 3740 Setting the 'langformat' option to "chinese" would load the
3581 "format/chinese.vim" plugin. 3741 "format/chinese.vim" plugin.
3582 The plugin would set 'formatexpr' and define the function being called. 3742 The plugin would set 'formatexpr' and define the function being called.
3583 Edward L. Fox explains how it should be done for most Asian languages. 3743 Edward L. Fox explains how it should be done for most Asian languages.
3584 (2005 Nov 24) 3744 (2005 Nov 24)
3745 Alternative: patch for utf-8 line breaking. (Yongwei Wu, 2008 Feb 23)
3585 7 [t to move to previous xml/html tag (like "vatov"), ]t to move to next 3746 7 [t to move to previous xml/html tag (like "vatov"), ]t to move to next
3586 ("vatv"). 3747 ("vatv").
3587 7 [< to move to previous xml/html tag, e.g., previous <li>. ]< to move to 3748 7 [< to move to previous xml/html tag, e.g., previous <li>. ]< to move to
3588 next <li>, ]< to next </li>, [< to previous </li>. 3749 next <li>, ]< to next </li>, [< to previous </li>.
3589 8 Add ":rename" command: rename the file of the current buffer and rename 3750 8 Add ":rename" command: rename the file of the current buffer and rename
3599 errors, e.g. ":make foo", ":grep something *.c". 3760 errors, e.g. ":make foo", ":grep something *.c".
3600 6 Python interface: add vim.message() function. (Michal Vitecek, 2002 Nov 5) 3761 6 Python interface: add vim.message() function. (Michal Vitecek, 2002 Nov 5)
3601 7 Support using ":vert" with User commands. Add expandable items <vert>. 3762 7 Support using ":vert" with User commands. Add expandable items <vert>.
3602 Do the same for ":browse" and ":confirm"? 3763 Do the same for ":browse" and ":confirm"?
3603 For ":silent" and ":debug" apply to the whole user command. 3764 For ":silent" and ":debug" apply to the whole user command.
3765 More general: need a way to access command modifiers in a user command.
3766 Assign them to a v: variable?
3604 7 Allow a window not to have a statusline. Makes it possible to use a 3767 7 Allow a window not to have a statusline. Makes it possible to use a
3605 window as a buffer-tab selection. 3768 window as a buffer-tab selection.
3606 7 Add an invisible buffer which can be edited. For use in scripts that want 3769 7 Add an invisible buffer which can be edited. For use in scripts that want
3607 to manipulate text without changing the window layout. 3770 to manipulate text without changing the window layout.
3608 8 Add a command to revert to the saved version of file; undo or redo until 3771 8 Add a command to revert to the saved version of file; undo or redo until