1- *todo.txt* For Vim version 7.4. Last change: 2016 Jan 17
1+ *todo.txt* For Vim version 7.4. Last change: 2016 Jan 21
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -75,6 +75,12 @@ Regexp problems:
7575- The pattern "\1" with the old engine gives E65, with the new engine it
7676 matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
7777- Search for \\~ causes error E874.
78+ - "\%1l^#.*" does not match on a line starting with "#". The zero-width match
79+ clears the start-of-line flag.
80+
81+ C89: remove __ARGS in more places
82+ - Script: Hirohito Higashi, Jan 21.
83+ - Update to osdef.sh, Hirohito Higashi, 2016 Jan 21.
7884
7985Need to try out instructions in INSSTALLpc.txt about how to install all
8086interfaces and how to build Vim with them.
@@ -90,6 +96,11 @@ work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
9096
9197Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
9298
99+ Use vim.vim syntax highlighting for help file examples, but without ":" in
100+ 'iskeyword' for syntax.
101+
102+ Remove SPACE_IN_FILENAME ? What could possibly go wrong?
103+
93104Installation of .desktop files does not work everywhere.
94105It's now fixed, but the target directory probably isn't right.
95106Add configure check?
@@ -103,6 +114,11 @@ Access to uninitialized memory in match_backref() regexp_nda.c:4882
103114":cd C:\Windows\System32\drivers\etc*" does not work, even though the
104115directory exists. (Sergio Gallelli, 2013 Dec 29)
105116
117+ Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
118+ More tests May 14. Update May 29. Update Aug 10.
119+ Now part of large file patches. (Ken Takata, 2016 Jan 19, second one)
120+ Updated patches with ordering: Jan 20.
121+
106122Using ":windo" to set options in all windows has the side effect that it
107123changes the window layout and the current window. Make a variant that saves
108124and restores. Use in the matchparen plugin.
@@ -118,6 +134,8 @@ Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
118134Unexpected delay when using CTRL-O u. It's not timeoutlen.
119135(Gary Johnson, 2015 Aug 28)
120136
137+ Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
138+
121139Instead of separately uploading patches to the ftp site, we can get them from
122140github with a URL like this:
123141 https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
@@ -152,19 +170,14 @@ Can we cache the syntax attributes, so that updates for 'relativenumber' and
152170Build with Python on Mac does not always use the right library.
153171(Kazunobu Kuriyama, 2015 Mar 28)
154172
155- Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
156- Need a Vim equivalent of None and a way to test for it.
173+ Need a Vim equivalent of Python's None and a way to test for it.
157174
158175To support Thai (and other languages) word boundaries, include the ICU
159176library: http://userguide.icu-project.org/boundaryanalysis
160177
161178When complete() first argument is before where insert started and 'backspace'
162179is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
163180
164- Patch to fix bug in searchpair(). (Christian Brabandt, 2016 Jan 11)
165- Problem reported by David Fishburn, using searchpair() with synID() used in
166- the skip expression.
167-
168181Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
169182handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
170183
@@ -174,14 +187,6 @@ Goes away when disabling the swap file. (might1, Feb 16)
174187MS-Windows: Crash opening very long file name starting with "\\".
175188(Christian Brock, 2012 Jun 29)
176189
177- Patch to add ":syn iskeyword". (Christian Brabandt, 2015 Nov 10)
178-
179- Patch to use PLATFORM to determine target architecture. (Taro Muraoka, 2015
180- Nov 29)
181-
182- If libiconv.dll is not found search for libiconv2.dll. (Yasuhiro Matsumoto,
183- 2015 Oct 7)
184-
185190Using an external diff is inefficient. Not all systems have a good diff
186191program available (esp. MS-Windows). Would be nice to have in internal diff
187192implementation. Can then also use this for displaying changes within a line.
@@ -199,9 +204,6 @@ effects for when set by the user, on init and when reset to default.
199204The argument for "-S" is not taken literally, the ":so" command expands
200205wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
201206
202- Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
203- 30)
204-
205207Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
206208Update Aug 14.
207209
@@ -321,10 +323,6 @@ Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
321323Should be easy to highlight all matches with 'incsearch' . Idea by Itchyny,
3223242015 Feb 6.
323325
324- Plugins need to make a lot of effort, lots of mappings, to know what happened
325- before pressing the key that triggers a plugin action. How about keeping the
326- last N pressed keys, so that they do not need to be mapped?
327-
328326Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
329327Is this a good solution?
330328
@@ -410,9 +408,6 @@ Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
410408Saito, 2013 Apr 24) Has a problem (email 2015 Jan 7).
411409Update 2015 Jan 10.
412410
413- Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
414- More tests May 14. Update May 29. Update Aug 10.
415-
416411Idea: For a window in the middle (has window above and below it), use
417412right-mouse-drag on the status line to move a window up/down without changing
418413its height? It's like dragging the status bar above it at the same time.
@@ -438,11 +433,13 @@ Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
4384332014 Jun 8)
439434
440435Include a plugin manager with Vim? Neobundle seems to be the best currently.
436+ Also Vundle: https://github.com/gmarik/vundle
441437Long message about this from ZyX, 2014 Mar 23. And following replies.
442438Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
443439User view:
444- - Support multiple sources, basically any http:// URL. Be able to look into
445- the files before deciding to install.
440+ - Support multiple sources, basically any http:// URL. Or a central place that
441+ will work for everybody (github? redirects from vim.org?).
442+ Be able to look into the files before deciding to install.
446443- Be able to try out a plugin and remove it again with (almost) no traces.
447444- Each plugin needs a "manifest" file that has the version, dependencies
448445 (including Vim version and features), conflicts, list of files, etc.
@@ -1113,6 +1110,14 @@ Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
11131110Winckler, 2011 May 11)
11141111Requires a map mode for Insert mode started from blockwise Visual mode.
11151112
1113+ Use json format for new items in .viminfo:
1114+ |["info","any info"]
1115+ |["text","text text text"
1116+ |"continuation line"]
1117+ |["hist",242342342,{"arg":"value"} ]
1118+ Use \" for a single ". Use \\ for a \.
1119+ See http://www.ietf.org/rfc/rfc4627.txt
1120+
11161121Writing nested List and Dict in viminfo gives error message and can't be read
11171122back. (Yukihiro Nakadaira, 2010 Nov 13)
11181123
@@ -2130,10 +2135,37 @@ Add an option for a minimal text length before inserting a line break for
21302135(Kartik Agaram)
21312136
21322137
2133- At next release:
2134- - Build a huge version by default.
2135- - Improve plugin handling: Automatic updates, handle dependencies?
2136- E.g. Vundle: https://github.com/gmarik/vundle
2138+ Better plugin support (not plugin manager, see elsewhere for that):
2139+ - Add interface to another process, e.g. to run a background plugin.
2140+ Can use the code from netbeans to communicate over a socket.
2141+ A bit like +clientserver but without the hassle of starting another Vim.
2142+ Use json for the messages.
2143+ let handle = startjob({command} ) # uses stdin/stdout
2144+ let handle = startjob({command} , {address} ) # uses socket
2145+ let handle = connect({address} ) # uses socket
2146+ let handle = deamon({command} , {address} ) # start it if connect fails
2147+ let response = sendjson(handle, {json} ) # sync
2148+ call sendjson(handle, {json} , {callback} ) # async
2149+ call sethandler(handle, {callback} )
2150+ The response json is wrapped in an array:
2151+ [{code} ,{response} ]
2152+ {code} must be positive, when zero the callback from sethandler() is called
2153+ The job can send Vim commands that do not require a handler:
2154+ ['ex' , {Ex command}]
2155+ ['normal' , {Normal mode command}]
2156+ ['keys' , {condition} , {key sequence}]
2157+ ['eval' , {expression} ] sync, will send back result
2158+ ['expr' , {expression} ] async
2159+ - Native JSON support (to be able to commucate with any interface in the same
2160+ way).
2161+ - Avoid use of feedkeys, add eval functions where needed:
2162+ - manipulating the Visual selection?
2163+ - Add createmark(): add a mark like mM, but return a unique ID. Need some way
2164+ to clean them up again... Use a name + the script ID.
2165+ Add createmark( , 'c') to track inserts/deletes before the column.
2166+ - Plugins need to make a lot of effort, lots of mappings, to know what
2167+ happened before pressing the key that triggers a plugin action. How about
2168+ keeping the last N pressed keys, so that they do not need to be mapped?
21372169
21382170
21392171More patches:
@@ -3482,10 +3514,7 @@ Syntax highlighting:
34823514 one is contained in. Like "keepend" but specified on the contained item,
34833515 instead of the containing item.
348435168 cpp.vim: In C++ it's allowed to use {} inside ().
3485- 8 Some syntax files set 'iskeyword' . When switching to another filetype
3486- this isn't reset. Add a special keyword definition for the syntax rules?
3487- When this is done, use vim.vim syntax highlighting for help file examples,
3488- but without ":" in 'iskeyword' for syntax.
3517+ 8 Some syntax files set 'iskeyword' , they should use "syn iskeyword".
34893518 Also need a separate 'iskeyword' for the command line, e.g., in a help
34903519 window ":e /asdf/asdf/" CTRL-W works different.
349135208 Add specific syntax item to match with parens/braces that don't have a
0 commit comments