Bram Moolenaar | 4072ba5 | 2020-12-23 13:56:35 +0100 | [diff] [blame] | 1 | *todo.txt* For Vim version 8.2. Last change: 2020 Dec 22 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 2 | |
| 3 | |
| 4 | VIM REFERENCE MANUAL by Bram Moolenaar |
| 5 | |
| 6 | |
| 7 | TODO list for Vim *todo* |
| 8 | |
| 9 | This is a veeeery long list of known bugs, current work and desired |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 10 | improvements. To make it a little bit accessible, the older items are grouped |
| 11 | by subject. In the first column of the line a classification is used to be |
| 12 | able to look for "the next thing to do": |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 13 | |
| 14 | Priority classification: |
| 15 | 9 next point release |
| 16 | 8 next release |
| 17 | 7 as soon as possible |
| 18 | 6 soon |
| 19 | 5 should be included |
| 20 | 4 nice to have |
| 21 | 3 consider including |
| 22 | 2 maybe not |
| 23 | 1 probably not |
| 24 | - unclassified |
| 25 | |
| 26 | *votes-for-changes* |
| 27 | See |develop.txt| for development plans. You can vote for which items should |
| 28 | be worked on, but only if you sponsor Vim development. See |sponsor|. |
| 29 | |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 30 | Issues can also be entered online: https://github.com/vim/vim/issues |
Bram Moolenaar | c0514bf | 2016-11-17 14:50:09 +0100 | [diff] [blame] | 31 | Only use this for bug reports, not for questions! Those belong on the |
Bram Moolenaar | 6856393 | 2017-01-10 13:31:15 +0100 | [diff] [blame] | 32 | maillist. Updates will be forwarded to the |vim_dev| maillist. Issues |
| 33 | entered there will not be repeated below, unless there is extra information. |
Bram Moolenaar | 251e191 | 2011-06-19 05:09:16 +0200 | [diff] [blame] | 34 | |
Bram Moolenaar | b1c9198 | 2018-05-17 17:04:55 +0200 | [diff] [blame] | 35 | The #1234 numbers refer to an issue or pull request on github. To see it in a |
| 36 | browser use: https://github.com/vim/vim/issues/1234 |
Bram Moolenaar | d473c8c | 2018-08-11 18:00:22 +0200 | [diff] [blame] | 37 | (replace 1234 with the issue/pull number) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 38 | *known-bugs* |
| 39 | -------------------- Known bugs and current work ----------------------- |
| 40 | |
Bram Moolenaar | 4072ba5 | 2020-12-23 13:56:35 +0100 | [diff] [blame] | 41 | Rewrite the section on "magic". Say that 'magic' is normally on, then this |
| 42 | happens... If 'magic' is off, then this is different.. |
| 43 | |
| 44 | test_vim9_cmd: uses uninitialized var |
| 45 | |
Bram Moolenaar | 1b884a0 | 2020-12-10 21:11:27 +0100 | [diff] [blame] | 46 | Vim9 - Make everything work: |
| 47 | - For an :autocmd and :command argument defined in Vim9 script, if a following |
| 48 | line starts with "|" append it. It's like line continuation. (#6702) |
| 49 | - The syntax of a range list[a:b] is ambiguous, is this one "a:b" variable or |
| 50 | a range from "a" to "b"? To avoid confusion, require white space before |
| 51 | (and after) the colon? #7409 |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 52 | - Implement "export {one, two three}". |
Bram Moolenaar | 4072ba5 | 2020-12-23 13:56:35 +0100 | [diff] [blame] | 53 | - Use "null" for v:null, like true and false? #7495 |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 54 | - ISN_CHECKTYPE could use check_argtype() |
Bram Moolenaar | 1b884a0 | 2020-12-10 21:11:27 +0100 | [diff] [blame] | 55 | - Using a script variable inside a :def function doesn't work if the variable |
| 56 | is inside a block, see Test_nested_function(). Should it work? |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 57 | - give error for variable name: |
| 58 | let p = function('NoSuchFunc') |
Bram Moolenaar | d58a3bf | 2020-09-28 21:48:16 +0200 | [diff] [blame] | 59 | - If a :def function is called with a function reference, compile it to get |
| 60 | the function type. |
| 61 | def Filter(x: string, Cond: func(string): bool) |
| 62 | Filter(x, { v -> v =~ '^b' }) |
Bram Moolenaar | 7ff7846 | 2020-07-10 22:00:53 +0200 | [diff] [blame] | 63 | - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop |
| 64 | - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd |
| 65 | - Expand `=expr` in :mkspell |
Bram Moolenaar | 1d59aa1 | 2020-09-19 18:50:13 +0200 | [diff] [blame] | 66 | - Does this work already: can use func as reference: |
| 67 | def SomeFunc() ... |
| 68 | map(list, SomeFunc) |
Bram Moolenaar | 1b884a0 | 2020-12-10 21:11:27 +0100 | [diff] [blame] | 69 | - For builtin functions using tv_get_string*() use check_for_string() to be |
| 70 | more strict about the argument type. |
Bram Moolenaar | 4072ba5 | 2020-12-23 13:56:35 +0100 | [diff] [blame] | 71 | - Allow function names that will be script-local to start with lower case |
| 72 | letter? |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 73 | - Support passing v:none to use the default argument value. (#6504) |
Bram Moolenaar | 1b884a0 | 2020-12-10 21:11:27 +0100 | [diff] [blame] | 74 | - Make map() give an error if the resulting type of the first argument is |
| 75 | wrong. Only works if the type is known? Is this slow (need to go over all |
| 76 | items)? |
| 77 | - Run the same tests in :def and Vim9 script, like in Test_expr7_not() |
| 78 | - Check many more builtin function arguments at compile time. |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 79 | - make 0 == 'string' fail on the script level, like inside :def. |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 80 | - Check that when using a user function name without prefix, it does not find |
| 81 | a global function. Prefixing g: is required. |
Bram Moolenaar | 4466ad6 | 2020-11-21 13:16:30 +0100 | [diff] [blame] | 82 | - Need the equivalent of get_lval() and set_var_lval() to implement assignment |
| 83 | to nested list and dict members. |
| 84 | - Assignment to dict doesn't work: |
| 85 | let ret: dict<string> = #{} |
| 86 | ret[i] = string(i) |
| 87 | - Appending to dict item doesn't work: |
| 88 | let d[i] ..= value |
Bram Moolenaar | 3d1cde8 | 2020-08-15 18:55:18 +0200 | [diff] [blame] | 89 | - Using ".." at script level doesn't convert arguments to a string. |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 90 | - Compile replacement of :s command: s/pat/\=expr/ |
| 91 | - Compile redir to local variable: var_redir_start(). |
Bram Moolenaar | 4072ba5 | 2020-12-23 13:56:35 +0100 | [diff] [blame] | 92 | - Implement type cast at the script level. |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 93 | - Compile builtin functions that access local variables: |
| 94 | islocked() |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 95 | - When evaluating constants for script variables, some functions could work: |
| 96 | has('asdf'), len('string') |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 97 | - Implement "as Name" in "import Item as Name from ..." |
Bram Moolenaar | d58a3bf | 2020-09-28 21:48:16 +0200 | [diff] [blame] | 98 | - Implement using imported items at script level from "import * as X" in |
| 99 | eval_variable(). Should pass the ".xxx" that follows and return that. |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 100 | - Disallow unlet for local/script/imported vars |
| 101 | - Make "++nr" work. |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 102 | - Make closures work: |
| 103 | - Create closure in a loop. Need to make a list of them. |
Bram Moolenaar | cb80aa2 | 2020-10-26 21:12:46 +0100 | [diff] [blame] | 104 | - nested closure only uses one context, not all (#7150) |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 105 | - expandcmd() with `=expr` in filename uses legacy expression. |
| 106 | - eval_expr() in ex_cexpr() |
| 107 | - eval_expr() call in dbg_parsearg() and debuggy_find() |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 108 | Improve error checking: |
Bram Moolenaar | ebdf3c9 | 2020-02-15 21:41:42 +0100 | [diff] [blame] | 109 | - "echo Func()" is an error if Func() does not return anything. |
Bram Moolenaar | 1b884a0 | 2020-12-10 21:11:27 +0100 | [diff] [blame] | 110 | Before launch: |
| 111 | - Add all the error numbers in a good place in documentation. |
| 112 | - In the generic eval docs, point out the Vim9 syntax where it differs. |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 113 | Also: |
Bram Moolenaar | 2c7f8c5 | 2020-04-20 19:52:53 +0200 | [diff] [blame] | 114 | - For range: make table of first ASCII character with flag to quickly check if |
| 115 | it can be a Vim9 command. E.g. "+" can, but "." can't. |
Bram Moolenaar | b17893a | 2020-03-14 08:19:51 +0100 | [diff] [blame] | 116 | - better implementation for partial and tests for that. |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 117 | - Make "g:imported = Export.exported" work in Vim9 script. |
| 118 | - Make Foo.Bar() work to call the dict function. (#5676) |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 119 | - Error in any command in "vim9script" aborts sourcing. |
| 120 | - Find a way to test expressions in legacy and Vim9 script without duplication |
| 121 | - Test each level of expressions properly, with type checking |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 122 | - Test try/catch and throw better, also nested. |
| 123 | Test return inside try/finally jumps to finally and then returns. |
Bram Moolenaar | 23515b4 | 2020-11-29 14:36:24 +0100 | [diff] [blame] | 124 | - Test that a function defined inside a :def function is local to that |
| 125 | function, g: functions can be defined and script-local functions cannot be |
| 126 | defined. |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 127 | - implement :type |
Bram Moolenaar | d1caa94 | 2020-04-10 22:10:56 +0200 | [diff] [blame] | 128 | - import type declaration? |
Bram Moolenaar | 1d59aa1 | 2020-09-19 18:50:13 +0200 | [diff] [blame] | 129 | - Future work: See |vim9-classes| |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 130 | - implement enum |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 131 | - Make accessing varargs faster: arg[expr] |
| 132 | EVAL expr |
Bram Moolenaar | 4466ad6 | 2020-11-21 13:16:30 +0100 | [diff] [blame] | 133 | LOADVARARG (varargs idx) |
Bram Moolenaar | 1d59aa1 | 2020-09-19 18:50:13 +0200 | [diff] [blame] | 134 | - Make debugging work - at least per function. Need to recompile a function |
| 135 | to step through it line-by-line? Evaluate the stack and variables on the |
| 136 | stack? |
| 137 | - Make profiling work - Add ISN_PROFILE instructions after every line? |
| 138 | - List commands when 'verbose' is set or :verbose is used. |
Bram Moolenaar | 4072ba5 | 2020-12-23 13:56:35 +0100 | [diff] [blame] | 139 | Once Vim9 is stable: |
| 140 | - Change the help to prefer Vim9 syntax where appropriate |
| 141 | - Use Vim9 for runtime files. |
| 142 | PR #7497 for autoload/ccomplete.vim |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 143 | Further improvements: |
| 144 | - compile options that are an expression, e.g. "expr:" in 'spellsuggest', |
| 145 | 'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert', |
| 146 | 'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'. |
Bram Moolenaar | 2cfb4a2 | 2020-05-07 18:56:00 +0200 | [diff] [blame] | 147 | - Make inline function work, to be used as a funcref: |
| 148 | let ref = def(arg: type): rettype |
| 149 | body |
| 150 | enddef |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 151 | - compile get_lambda_tv() in popup_add_timeout() |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 152 | - inline call to map() and filter() |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 153 | - compile "skip" argument of searchpair() |
| 154 | - compile "expr" and "call" expression of a channel in channel_exe_cmd()? |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 155 | |
Bram Moolenaar | 790c18b | 2019-07-04 17:22:06 +0200 | [diff] [blame] | 156 | Popup windows: |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 157 | - Add a flag to make a popup window focusable? |
| 158 | CTRL-W P cycle over any preview window or focusable popup, end up back in |
| 159 | current window. |
| 160 | ? - switch between current window and all popup windows |
| 161 | Esc in popup window goes back to previous current window |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 162 | - Add a termcap entry for changing the cursor when it goes under the popup and |
| 163 | back. like t_SI and t_EI (t_SU and t_EU, where "U" means under?) |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 164 | - With terminal in popup, allow for popup_hide() to temporarily hide it.? |
Bram Moolenaar | b17893a | 2020-03-14 08:19:51 +0100 | [diff] [blame] | 165 | - Fire some autocommand event after a new popup window was created and |
| 166 | positioned? PopupNew? Could be used to set some options or move it out of |
| 167 | the way. (#5737) |
| 168 | However, it may also cause trouble, changing the popup of another plugin. |
Bram Moolenaar | 3d1cde8 | 2020-08-15 18:55:18 +0200 | [diff] [blame] | 169 | - Width is not computed correctly when minwidth and maxwidth are &columns |
| 170 | and padding and a scrollbar are used. (#6676) |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 171 | - Add a way to use popup_menu() synchronously: instead of invoking the |
| 172 | callback, return the choice. (Ben Jackson, #6534) |
Bram Moolenaar | 589edb3 | 2019-09-20 14:38:13 +0200 | [diff] [blame] | 173 | - Use popup (or popup menu) for command line completion |
Bram Moolenaar | d7df279 | 2020-01-02 21:34:42 +0100 | [diff] [blame] | 174 | - When using a popup for the info of a completion menu, and there is not |
| 175 | enough space, let the popup overlap with the menu. (#4544) |
| 176 | - Implement flip option. |
Bram Moolenaar | 790c18b | 2019-07-04 17:22:06 +0200 | [diff] [blame] | 177 | - Make redrawing more efficient and avoid flicker: |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 178 | - put popup menu also in popup_mask? |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 179 | - Match does not have right BG color if line length equals popup width. |
| 180 | (#5658) |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 181 | - Any other commands to disable in a popup window? |
Bram Moolenaar | 0c0734d | 2019-11-26 21:44:46 +0100 | [diff] [blame] | 182 | Use ERROR_IF_POPUP_WINDOW for these. |
Bram Moolenaar | 9135901 | 2019-11-30 17:57:03 +0100 | [diff] [blame] | 183 | - Figure out the size and position better if wrapping inserts indent |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 184 | |
Bram Moolenaar | 96f45c0 | 2019-10-26 19:53:45 +0200 | [diff] [blame] | 185 | Text properties: |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 186 | - :goto does not go to the right place when text properties are present. |
Bram Moolenaar | 2c7f8c5 | 2020-04-20 19:52:53 +0200 | [diff] [blame] | 187 | (#5930) |
Bram Moolenaar | b17893a | 2020-03-14 08:19:51 +0100 | [diff] [blame] | 188 | - "cc" does not call inserted_bytes(). (Axel Forsman, #5763) |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 189 | - Combining text property with 'cursorline' does not always work (Billie |
| 190 | Cleek, #5533) |
Bram Moolenaar | 1b884a0 | 2020-12-10 21:11:27 +0100 | [diff] [blame] | 191 | - Should we let the textprop highlight overrule other (e.g. diff) highlight if |
| 192 | the priority is above a certain value? (#7392) |
Bram Moolenaar | 09c6f26 | 2019-11-17 15:55:14 +0100 | [diff] [blame] | 193 | - See remarks at top of src/textprop.c |
Bram Moolenaar | 61da1bf | 2019-06-06 12:14:49 +0200 | [diff] [blame] | 194 | |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 195 | 'incsearch' with :s: |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 196 | - :s/foo using CTRL-G moves to another line, should not happen, or use the |
| 197 | correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345) |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 198 | - :s@pat/tern@ doesn't include "/" in the pattern. (Takahiro Yoshihara, #3637) |
| 199 | pass delim to do_search() ? |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 200 | - Also support range: :/foo/,/bar/delete |
Bram Moolenaar | 20aac6c | 2018-09-02 21:07:30 +0200 | [diff] [blame] | 201 | - Also support for user command, e.g. Cfilter |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 202 | - :%s/foo should take the first match below the cursor line, unless there |
| 203 | isn't one? |
| 204 | Then :%s?foo should take the first match above the cursor line. |
| 205 | |
Bram Moolenaar | f273245 | 2018-06-03 14:47:35 +0200 | [diff] [blame] | 206 | Prompt buffer: |
Bram Moolenaar | 1ff14ba | 2019-11-02 14:09:23 +0100 | [diff] [blame] | 207 | - Add a command line history, using up/down keys. issue #5010 |
Bram Moolenaar | f273245 | 2018-06-03 14:47:35 +0200 | [diff] [blame] | 208 | - delay next prompt until plugin gives OK? |
Bram Moolenaar | b730f0c | 2018-11-25 03:56:26 +0100 | [diff] [blame] | 209 | - add prompt_addtext({buf}, {expr}) none add text to a prompt buffer |
Bram Moolenaar | f273245 | 2018-06-03 14:47:35 +0200 | [diff] [blame] | 210 | |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 211 | Terminal debugger: |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 212 | - Make prompt-buffer variant work better. |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 213 | - Add option to not open the program window. It's not used when attaching to |
| 214 | an already running program. (M. Kelly) |
Bram Moolenaar | 675e8d6 | 2018-06-24 20:42:01 +0200 | [diff] [blame] | 215 | - When only gdb window exists, on "quit" edit another buffer. |
Bram Moolenaar | 314dd79 | 2019-02-03 15:27:20 +0100 | [diff] [blame] | 216 | - Use a sign group |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 217 | - Termdebug does not work when Vim was built with mzscheme: gdb hangs just |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 218 | after "run". Everything else works, including communication channel. Not |
| 219 | initializing mzscheme avoid the problem, thus it's not some #ifdef. |
Bram Moolenaar | 1ff14ba | 2019-11-02 14:09:23 +0100 | [diff] [blame] | 220 | - Add support for lldb? issue #3565 |
Bram Moolenaar | b730f0c | 2018-11-25 03:56:26 +0100 | [diff] [blame] | 221 | - Could we do something similar for debugging Vim scripts? At least see the |
| 222 | script while stepping through it. Simple version would use an extra window. |
Bram Moolenaar | 9d87a37 | 2018-12-18 21:41:50 +0100 | [diff] [blame] | 223 | More complete solution would actually run Vim in a Terminal and control it |
Bram Moolenaar | b730f0c | 2018-11-25 03:56:26 +0100 | [diff] [blame] | 224 | with another Vim instance. |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 225 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 226 | Terminal emulator window: |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 227 | - No support for underline color, t_8u. |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 228 | - When in terminal-Normal mode when the job finishes, the cursor jumps to the |
| 229 | end but the window is not updated. This only happens when typing "a". |
| 230 | :term bash -c "for V in {0..5}; do echo $V; sleep 1; done" |
Bram Moolenaar | 2c7f8c5 | 2020-04-20 19:52:53 +0200 | [diff] [blame] | 231 | - When started with ":terminal ++close" and the shell exits but there is a |
| 232 | background process, the window remains open, because the channel still |
| 233 | exists (and output still shows). Perhaps close the window when an explicit |
| 234 | ++close was used? (#5931) |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 235 | - Using "CTRL-W :confirm quite" and selecting "yes" should work like ":quit!". |
| 236 | (Harm te Hennepe, #6129) |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 237 | - When the job in the terminal doesn't use mouse events, let the scroll wheel |
| 238 | scroll the scrollback, like a terminal does at the shell prompt. #2490 |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 239 | A bit like using CTRL-W N first. |
| 240 | Jump back like with "a" when any key is typed. |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 241 | And use modeless selection. #2962 |
Bram Moolenaar | 95a9dd1 | 2019-12-19 22:12:03 +0100 | [diff] [blame] | 242 | - Use CTRL-W CTRL-K to enter a digraph? #5371 |
Bram Moolenaar | d09091d | 2019-01-17 16:07:22 +0100 | [diff] [blame] | 243 | - When Vim runs in the terminal and changes the title, the statusline needs to |
| 244 | be redrawn. |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 245 | - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt. |
| 246 | (#3327) |
Bram Moolenaar | 2c64ca1 | 2018-10-19 16:22:31 +0200 | [diff] [blame] | 247 | - GUI: hang until key typed. (#3530) |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 248 | - Allow for specifying the directory, with ++cwd={dir}. |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 249 | - With a vertical split only one window is updated. (Linwei, 2018 Jun 2, |
| 250 | #2977) |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 251 | - When pasting should call vterm_keyboard_start_paste(), e.g. when using |
| 252 | K_MIDDLEMOUSE, calling insert_reg(). |
| 253 | - Users expect parsing the :term argument like a shell does, also support |
| 254 | single quotes. E.g. with: :term grep 'alice says "hello"' (#1999) |
Bram Moolenaar | 03998f6 | 2018-05-17 13:20:45 +0200 | [diff] [blame] | 255 | - Win32: Redirecting input does not work, half of Test_terminal_redir_file() |
| 256 | is disabled. |
| 257 | - Win32: Redirecting output works but includes escape sequences. |
| 258 | - Win32: Make terminal used for :!cmd in the GUI work better. Allow for |
| 259 | redirection. |
Bram Moolenaar | 03998f6 | 2018-05-17 13:20:45 +0200 | [diff] [blame] | 260 | - When the job only outputs lines, we could handle resizing the terminal |
| 261 | better: store lines separated by line breaks, instead of screen lines, |
| 262 | then when the window is resized redraw those lines. |
| 263 | - Redrawing is slow with Athena and Motif. (Ramel Eshed) |
| 264 | - For the GUI fill termios with default values, perhaps like pangoterm: |
| 265 | http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134 |
| 266 | - When 'encoding' is not utf-8, or the job is using another encoding, setup |
| 267 | conversions. |
Bram Moolenaar | 7c63fbc | 2018-05-17 13:15:23 +0200 | [diff] [blame] | 268 | |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 269 | Error numbers available: E653 |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 270 | |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 271 | Mapping with partial match not executed properly in GTK. (Ingo Karkat, #7082) |
| 272 | |
| 273 | Patch for Template string: #4634 |
| 274 | Have another look at the implementation. |
| 275 | |
Bram Moolenaar | 1c6737b | 2020-09-07 22:18:52 +0200 | [diff] [blame] | 276 | Patch to implement the vimtutor with a plugin: #6414 |
Bram Moolenaar | 1d59aa1 | 2020-09-19 18:50:13 +0200 | [diff] [blame] | 277 | Was originally written by Felipe Morales. |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 278 | |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 279 | Remove SPACE_IN_FILENAME ? It is only used for completion. |
| 280 | |
Bram Moolenaar | 23515b4 | 2020-11-29 14:36:24 +0100 | [diff] [blame] | 281 | Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598) |
| 282 | Scroll doesn't work correctly, why? |
| 283 | |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 284 | Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work |
| 285 | with 'termguicolors'. #1740 |
| 286 | |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 287 | Patch for blockwise paste reporting changes: #6660. |
| 288 | |
Bram Moolenaar | cb80aa2 | 2020-10-26 21:12:46 +0100 | [diff] [blame] | 289 | Missing filetype test for bashrc, PKGBUILD, etc. |
| 290 | |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 291 | Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co |
| 292 | changes. |
| 293 | |
| 294 | Add an option to start_timer() to return from the input loop with K_IGNORE. |
| 295 | This is useful e.g. when a popup was created that disables mappings, we need |
| 296 | to return from vgetc() to make this happen. #7011 |
| 297 | |
Bram Moolenaar | 1d59aa1 | 2020-09-19 18:50:13 +0200 | [diff] [blame] | 298 | Expanding <mods> should put the tab number from cmdmod.tab before "tab". |
| 299 | Any way to convert "$" back by using a special value? (#6901) |
| 300 | |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 301 | Can we detect true color support? https://gist.github.com/XVilka/8346728 |
| 302 | Try setting a color then request the current color, like using t_u7. |
| 303 | |
| 304 | Check out PR #543 (Roland Puntaier). |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 305 | Patch for multibyte characters in langmap and applying a mapping on them. |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 306 | (Christian Brabandt, 2015 Jun 12, update July 25) |
| 307 | Is this the right solution? Need to cleanup langmap behavior: |
| 308 | - in vgetorpeek() apply langmap to the typeahead buffer and put the result in |
| 309 | a copy-buffer, only when langmap is appropriate for the current mode. Then |
| 310 | check for mapping and let gotchars() work on the copy-buffer. |
| 311 | - Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is |
| 312 | covered by the above change. |
| 313 | So that replaying the register doesn't use keymap/langmap and still does the |
| 314 | same thing. |
| 315 | Also see #737: langmap not applied to replaying recording. |
Bram Moolenaar | 396e829 | 2019-07-13 23:04:31 +0200 | [diff] [blame] | 316 | |
Bram Moolenaar | d1caa94 | 2020-04-10 22:10:56 +0200 | [diff] [blame] | 317 | Buffer autocommands are a bit inconsistent. Add a separate set of |
| 318 | autocommands for the buffer lifecycle: |
| 319 | BufIsCreated (after buffer ID exists) |
| 320 | BufIsLoaded (after buffer ID has content) |
| 321 | BufIsUnloaded (after buffer ID no longer has) |
| 322 | BufIsWiped (after buffer ID was wiped) |
| 323 | BufIsRenamed (after buffer ID gets another name) |
| 324 | The buffer list and windows are locked, no changes possible |
| 325 | |
Bram Moolenaar | 23515b4 | 2020-11-29 14:36:24 +0100 | [diff] [blame] | 326 | Add a ModeChanged autocommand that has an argument indicating the old and new |
| 327 | mode, as what's returned from mode(). Also used for switching Terminal mode. |
| 328 | |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 329 | Matchparen doesn't remove highlight after undo. (#7054) |
| 330 | Is OK when syntax HL is active. |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 331 | |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 332 | Currently Del can be used to delete the last character of a typed count. |
| 333 | Can it also be used to delete an incomplete Normal mode command? (#7096) |
| 334 | After an operator: should work. After "a" or "i" for text objects: should |
| 335 | work. |
| 336 | |
| 337 | Using "au!" after "filetype on" is a bit slow. Can the matching of |
| 338 | autocommands be made faster? (#7056) |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 339 | |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 340 | Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr" |
| 341 | replace this: |
| 342 | let left = GetLeftFunc() |
| 343 | let right = GetRightFunc() |
| 344 | let res = left < right ? lower : left == right ? equal : upper |
| 345 | by: |
| 346 | let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper |
Bram Moolenaar | 73fef33 | 2020-06-21 22:12:03 +0200 | [diff] [blame] | 347 | Patch to make :q work with local arglist. (Christian Brabandt, #6286) |
| 348 | |
Bram Moolenaar | d58a3bf | 2020-09-28 21:48:16 +0200 | [diff] [blame] | 349 | Why does Test_invalid_sid() not work in the GUI? |
| 350 | |
Bram Moolenaar | 4466ad6 | 2020-11-21 13:16:30 +0100 | [diff] [blame] | 351 | ":pedit" ignores the local working directory when 'pvp' is set (#7267) |
| 352 | |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 353 | Lua: updating wrong buffer when using newly created, unloaded buffer. |
| 354 | (#6539) |
| 355 | |
| 356 | When "+ register is set then "" points to it. If another Vim grabs the "+ |
| 357 | register, then "" doesn't contain anything. Make it still follow "+. |
| 358 | (#6435) |
| 359 | |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 360 | Patch to fix drawing error with DirectX. (James Grant, #5688) |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 361 | Causes flicker on resizing. Workaround from Ken Takata. |
| 362 | How about only setting the attribute when part of the Vim window is offscreen? |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 363 | |
Bram Moolenaar | b17893a | 2020-03-14 08:19:51 +0100 | [diff] [blame] | 364 | File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733) |
| 365 | |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 366 | "make test_gui" crashed in submenu_change(). Fix and remove workaround in |
| 367 | add_pixmap_args(). |
Bram Moolenaar | 5be4cee | 2019-09-27 19:34:08 +0200 | [diff] [blame] | 368 | Athena is OK. |
| 369 | Motif: Build on Ubuntu can't enter any text in dialog text fields. |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 370 | Running test_gui and test_gui_init with Motif sometimes kills the window |
| 371 | manager. Problem with Motif? |
Bram Moolenaar | 5be4cee | 2019-09-27 19:34:08 +0200 | [diff] [blame] | 372 | |
Bram Moolenaar | 73fef33 | 2020-06-21 22:12:03 +0200 | [diff] [blame] | 373 | Patch to add :argdedupe. (Nir Lichtman, #6235) |
| 374 | |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 375 | :map output does not clear the reset of the command line. |
| 376 | (#5623, also see #5962) |
| 377 | |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 378 | Problem with auto-formatting - inserting space and putting cursor before added |
| 379 | character. (#6154) |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 380 | |
Bram Moolenaar | 56c860c | 2019-08-17 20:09:31 +0200 | [diff] [blame] | 381 | undo result wrong: Masato Nishihata, #4798 |
| 382 | |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 383 | After recovering from a swap file the undofile should not be used, it causes |
| 384 | corruption. (#6631) |
| 385 | |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 386 | When 'lazyredraw' is set sometimes the title is not updated. |
| 387 | (Jason Franklin, 2020 Feb 3) Looks like a race condition. |
| 388 | |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 389 | Regexp to search for duplicate lines does not work correctly: |
| 390 | /\(^.*\n\)\1 (Chris Morgan, #6239) |
| 391 | |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 392 | With bash ":make" does not set v:shell_error. Possible solution: set |
| 393 | 'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994 |
Bram Moolenaar | 191acfd | 2020-03-27 20:42:43 +0100 | [diff] [blame] | 394 | |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 395 | Using mode() when "/pat" is used in Visual mode returns "v" instead of "c", |
| 396 | which is not useful. Return "c/v" instead. And "c/o" when using "d/pat". |
| 397 | #6127 |
| 398 | |
| 399 | When 'fileignorecase' is set ":e testfile.c" works to edit TestFile.c, but |
| 400 | ":find testfile.c" does not ignore case. |
| 401 | Might be related to #6088. |
| 402 | |
Bram Moolenaar | 1d59aa1 | 2020-09-19 18:50:13 +0200 | [diff] [blame] | 403 | Error for reverse range when using :vimgrep in file "[id-01] file.txt". |
| 404 | (#6919) |
| 405 | |
Bram Moolenaar | 47e1395 | 2020-05-12 22:49:12 +0200 | [diff] [blame] | 406 | When changing the crypt key the buffer should be considered modified. |
| 407 | Like when changing 'fileformat'. Save the old key in save_file_ff(). |
| 408 | (Ninu-Ciprian Marginean) |
| 409 | |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 410 | Strange sequence of BufWipeout and BufNew events while doing omni-complete. |
| 411 | (Paul Jolly, #5656) |
| 412 | Get BufDelete without preceding BufNew. (Paul Jolly, #5694) |
Bram Moolenaar | b17893a | 2020-03-14 08:19:51 +0100 | [diff] [blame] | 413 | Later more requests for what to track. |
| 414 | Should we add new events that don't allow any buffer manipulation? |
| 415 | Really only for dealing with appearing and disappearing buffers, load and |
| 416 | unload. |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 417 | BufWinenter event not fired when saving unnamed buffer. (Paul Jolly, #5655) |
Bram Moolenaar | eab6dff | 2020-03-01 19:06:45 +0100 | [diff] [blame] | 418 | Another spurious BufDelete. (Dani Dickstein, #5701) |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 419 | |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 420 | Wrong error when using local arglist. (Harm te Hennepe, #6133) |
| 421 | |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 422 | Test loose_clipboard() by selecting text before suspending. |
| 423 | |
Bram Moolenaar | 8fe1000 | 2019-09-11 22:56:44 +0200 | [diff] [blame] | 424 | Undo puts cursor in wrong line after "cG<Esc>" undo. |
| 425 | |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 426 | Implement completion for "breakadd". Should expand the second argument, e.g. |
| 427 | "func", and then function names after ":breakadd func". Including |
| 428 | script-local functions. |
Bram Moolenaar | 1c6737b | 2020-09-07 22:18:52 +0200 | [diff] [blame] | 429 | Also for ":profile". |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 430 | |
Bram Moolenaar | 95a9dd1 | 2019-12-19 22:12:03 +0100 | [diff] [blame] | 431 | :unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019 |
| 432 | Dec 19) |
| 433 | |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 434 | Patch to add an option to enable/disable VTP. (Nobuhiro Takasaki, #5344) |
| 435 | Should have three values: empty, "off", "on". Name it 'winterm'? |
| 436 | |
Bram Moolenaar | 0c0734d | 2019-11-26 21:44:46 +0100 | [diff] [blame] | 437 | Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019 |
| 438 | May 20) |
Bram Moolenaar | 5477506 | 2019-07-31 21:07:14 +0200 | [diff] [blame] | 439 | Also put :argadd commands at the start for all buffers, so that their order |
| 440 | remains equal? Then %argdel to clean it up. Do try this with 'hidden' set. |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 441 | Also #5326: netrw buffers are not restored. |
Bram Moolenaar | 5477506 | 2019-07-31 21:07:14 +0200 | [diff] [blame] | 442 | |
Bram Moolenaar | ff78155 | 2020-03-19 20:37:11 +0100 | [diff] [blame] | 443 | When 'backupdir' has a path ending in double slash (meaning: use full path of |
| 444 | the file) combined with 'patchmode' the file name is wrong. (#5791) |
| 445 | |
Bram Moolenaar | 68e6560 | 2019-05-26 21:33:31 +0200 | [diff] [blame] | 446 | Completion mixes results from the current buffer with tags and other files. |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 447 | Happens when typing CTRL-N while still searching for results. E.g., type "b_" |
| 448 | in terminal.c and then CTRL-N twice. |
Bram Moolenaar | 68e6560 | 2019-05-26 21:33:31 +0200 | [diff] [blame] | 449 | Should do current file first and not split it up when more results are found. |
| 450 | (Also #1890) |
Bram Moolenaar | 723dd94 | 2019-04-04 13:11:03 +0200 | [diff] [blame] | 451 | |
Bram Moolenaar | 1d9215b | 2020-01-25 13:27:42 +0100 | [diff] [blame] | 452 | Undo history wrong when ":next file" re-uses a buffer. (#5426) |
| 453 | ex_next() should pass flag to do_argfile(), then to do_ecmd(). |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 454 | Is there a test for this? |
Bram Moolenaar | 1d9215b | 2020-01-25 13:27:42 +0100 | [diff] [blame] | 455 | |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 456 | Help for ":argadd fname" says that if "fname" is already in the argument list |
| 457 | that entry is used. But instead it's always added. (#6210) |
| 458 | Add flag AL_FIND_ADD, if there is one argument find it in the list. |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 459 | |
Bram Moolenaar | 2696761 | 2019-03-17 17:13:16 +0100 | [diff] [blame] | 460 | Adding "10" to 'spellsuggest' causes spell suggestions to become very slow. |
| 461 | (#4087) |
| 462 | |
Bram Moolenaar | b17893a | 2020-03-14 08:19:51 +0100 | [diff] [blame] | 463 | behavior of i_CTRl-R_CTRL-R differs from documentation. (Paul Desmond Parker, |
| 464 | #5771) |
| 465 | |
Bram Moolenaar | 61da1bf | 2019-06-06 12:14:49 +0200 | [diff] [blame] | 466 | ":bnext" in a help buffer is supposed to go to the next help buffer, but it |
| 467 | goes to any buffer, and then :bnext skips help buffers, since they are |
| 468 | unlisted. (#4478) |
| 469 | |
Bram Moolenaar | ebdf3c9 | 2020-02-15 21:41:42 +0100 | [diff] [blame] | 470 | Statusline highlighting error, off by one. (#5599) |
Bram Moolenaar | 8024f93 | 2020-01-14 19:29:13 +0100 | [diff] [blame] | 471 | |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 472 | ":find" with 'path' set to "data*" does not find files, while completion does |
| 473 | find them. (Max Kukartsev, #6218) |
| 474 | |
Bram Moolenaar | 2e693a8 | 2019-10-16 22:35:02 +0200 | [diff] [blame] | 475 | Enable 'termbidi' if $VTE_VERSION >= 5703 ? |
| 476 | |
Bram Moolenaar | 5be4cee | 2019-09-27 19:34:08 +0200 | [diff] [blame] | 477 | Universal solution to detect if t_RS is working, using cursor position. |
| 478 | Koichi Iwamoto, #2126 |
| 479 | |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 480 | Sound: support on Mac? Or does libcanberra work there? |
| 481 | |
Bram Moolenaar | ade0d39 | 2020-01-21 22:33:58 +0100 | [diff] [blame] | 482 | Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509) |
| 483 | |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 484 | The :syntax cchar value can only be a single character. It would be useful to |
| 485 | support combining characters. (Charles Campbell) Also #4687 |
| 486 | |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 487 | "--cleanFOO" does not result in an error. (#5537) |
| 488 | |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 489 | Output from assert_equalfile() doesn't give a hint about what's different. |
| 490 | Assuming the files are text, print the line with the difference. |
| 491 | |
Bram Moolenaar | d7df279 | 2020-01-02 21:34:42 +0100 | [diff] [blame] | 492 | Add "t" action to settagstack(): truncate and add new entries. (#5405) |
| 493 | |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 494 | When 'relativenumber' is set the line just below a diff change doesn't get |
| 495 | updated. (#6138) |
| 496 | |
Bram Moolenaar | 403f3eb | 2019-11-20 22:31:13 +0100 | [diff] [blame] | 497 | Result of synID() sometimes wrong in help files. (#5252) |
| 498 | |
Bram Moolenaar | ade0d39 | 2020-01-21 22:33:58 +0100 | [diff] [blame] | 499 | Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496) |
| 500 | |
Bram Moolenaar | 61da1bf | 2019-06-06 12:14:49 +0200 | [diff] [blame] | 501 | Problem showing a line if the number column width changes when using "o". |
| 502 | (Mateusz Morusiewicz, #4245) |
| 503 | |
Bram Moolenaar | 85850f3 | 2019-07-19 22:05:51 +0200 | [diff] [blame] | 504 | When using :packadd for a replacement language plugin, it is loaded after the |
| 505 | default one. #4698 |
| 506 | |
| 507 | When using :packadd files under "later" are not used, which is inconsistent |
| 508 | with packages under "start". (xtal8, #1994) |
| 509 | |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 510 | Patch to add new motion ]( and ]{. (Yasuhiro Matsumoto, #5320) |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 511 | Better: use the "z" prefix. or ]t) and [t(. |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 512 | |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 513 | Modeless selection doesn't work in gvim. (#4783) |
Bram Moolenaar | 56c860c | 2019-08-17 20:09:31 +0200 | [diff] [blame] | 514 | Caused by patch 8.1.1534. |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 515 | |
Bram Moolenaar | 1d59aa1 | 2020-09-19 18:50:13 +0200 | [diff] [blame] | 516 | Visual highlight not removed when 'display' is "lastline" and line doesn't |
Bram Moolenaar | 7dd64a3 | 2019-05-31 21:41:05 +0200 | [diff] [blame] | 517 | fit. (Kevin Lawler, #4457) |
| 518 | |
Bram Moolenaar | acc2240 | 2020-06-07 21:07:18 +0200 | [diff] [blame] | 519 | Current position in the changelist should be local to the buffer. (#2173) |
Bram Moolenaar | 8fe1000 | 2019-09-11 22:56:44 +0200 | [diff] [blame] | 520 | |
Bram Moolenaar | 0b0f099 | 2018-05-22 21:41:30 +0200 | [diff] [blame] | 521 | Does not build with MinGW out of the box: |
| 522 | - _stat64 is not defined, need to use "struct stat" in vim.h |
| 523 | - WINVER conflict, should use 0x0600 by default? |
Bram Moolenaar | b17893a | 2020-03-14 08:19:51 +0100 | [diff] [blame] | 524 | - INT_MAX not defined: need to include <limits.h> in vim.h |
Bram Moolenaar | eb3dc87 | 2018-05-13 22:34:24 +0200 | [diff] [blame] | 525 | |
| 526 | Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May |
| 527 | 13, #2910) Can't reproduce? |
Bram Moolenaar | ab94343 | 2018-03-29 18:27:07 +0200 | [diff] [blame] | 528 | |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 529 | Display messed up with matchparen, wrapping and scrolling. (#5638) |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 530 | Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532) |
Bram Moolenaar | bc93ceb | 2020-02-26 13:36:21 +0100 | [diff] [blame] | 531 | |
Bram Moolenaar | 4ceaa3a | 2019-12-03 22:49:09 +0100 | [diff] [blame] | 532 | When getting a focus event halfway a mapping this aborts the mapping. E.g. |
| 533 | when "qq" is mapped and after the first "q" the mouse is moved outside of the |
| 534 | gvim window (with focus follows mouse), then the K_FOCUSLOST key is put in the |
| 535 | input buffer. (#5302) |
| 536 | |
Bram Moolenaar | 2e693a8 | 2019-10-16 22:35:02 +0200 | [diff] [blame] | 537 | xterm should be able to pass focus changes to Vim, so that Vim can check for |
| 538 | buffers that changed. Perhaps in misc.c, function selectwindow(). |
| 539 | Xterm 224 supports it! |
| 540 | Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki |
| 541 | Saito, 2013 Apr 24) Update 2016 Aug 12. |
| 542 | Also see issue #609. |
| 543 | We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke. |
| 544 | |
Bram Moolenaar | 8024f93 | 2020-01-14 19:29:13 +0100 | [diff] [blame] | 545 | :buffer completion does not escape "+" properly and results in a regexp error. |
| 546 | (#5467) |
| 547 | |
Bram Moolenaar | 56c860c | 2019-08-17 20:09:31 +0200 | [diff] [blame] | 548 | Check_external_diff() is used too often. (Daniel Hahler, #4800) |
Bram Moolenaar | 6c1e157 | 2019-06-22 02:13:00 +0200 | [diff] [blame] | 549 | |
Bram Moolenaar | 5ef1c6a | 2019-11-10 22:09:11 +0100 | [diff] [blame] | 550 | Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis, |
| 551 | 2007 Feb 18) |
| 552 | Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems. |
| 553 | |
| 554 | Add a WindowScrolled event. Trigger around the same time as CursorMoved. |
| 555 | Can be used to update highlighting. #3127 #5181 |
| 556 | |
Bram Moolenaar | 8fe1000 | 2019-09-11 22:56:44 +0200 | [diff] [blame] | 557 | Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909) |
| 558 | |
Bram Moolenaar | 5be4cee | 2019-09-27 19:34:08 +0200 | [diff] [blame] | 559 | Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12) |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 560 | Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>. |
| 561 | Better use ":bufgrep" ? |
Bram Moolenaar | 8fe1000 | 2019-09-11 22:56:44 +0200 | [diff] [blame] | 562 | |
Bram Moolenaar | df980db | 2017-12-24 13:22:00 +0100 | [diff] [blame] | 563 | Errors found with random data: |
| 564 | heap-buffer-overflow in alist_add (#2472) |
Bram Moolenaar | f0b03c4 | 2017-12-17 17:17:07 +0100 | [diff] [blame] | 565 | |
Bram Moolenaar | 91f84f6 | 2018-07-29 15:07:52 +0200 | [diff] [blame] | 566 | Improve fallback for menu translations, to avoid having to create lots of |
| 567 | files that source the actual file. E.g. menu_da_de -> menu_da |
| 568 | Include part of #3242? |
| 569 | |
Bram Moolenaar | 2c64ca1 | 2018-10-19 16:22:31 +0200 | [diff] [blame] | 570 | When a terminal exit_cb closes the window, a following typed key is lost, if |
| 571 | it's in a mapping. (2018 Oct 6, #2302, #3522) |
| 572 | |
Bram Moolenaar | 5be4cee | 2019-09-27 19:34:08 +0200 | [diff] [blame] | 573 | Patch to have text objects defined by arbitrary single characters. (Daniel |
| 574 | Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31) |
| 575 | Added tests (James McCoy, 2016 Aug 3, #958). Still needs more work. |
| 576 | |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 577 | Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use |
| 578 | t:diffexpr_option t:diffopt_option? (#4782) |
| 579 | |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 580 | Internal diff doesn't handle binary file like external diff does. (Mike |
| 581 | Williams, 2018 Oct 30) |
| 582 | |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 583 | '[ mark in wrong column after put. (#4776) |
| 584 | |
Bram Moolenaar | 5477506 | 2019-07-31 21:07:14 +0200 | [diff] [blame] | 585 | "exepath('bin/cmd')" does not work while ":!bin/cmd" does work. |
| 586 | (Daniel Hahler, #4710) and executable('bin/cmd') returns 1 |
| 587 | |
Bram Moolenaar | 2e693a8 | 2019-10-16 22:35:02 +0200 | [diff] [blame] | 588 | Error drawing the number column when 'cursorline' is set. (#3893) |
| 589 | |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 590 | Problem with :tlmenu: Detach item added with all modes? Issue #3563. |
| 591 | |
Bram Moolenaar | 96f45c0 | 2019-10-26 19:53:45 +0200 | [diff] [blame] | 592 | Add an argument to expandcmd() to expand like ":next" does. |
| 593 | |
Bram Moolenaar | 5ef1c6a | 2019-11-10 22:09:11 +0100 | [diff] [blame] | 594 | When both "a" and "l" is in 'formatoptions' then auto-formatting also happens |
| 595 | in a long line. #5189 |
| 596 | |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 597 | The quoting of the [command] argument of :terminal is not clearly documented. |
| 598 | Give a few examples. (#4288) |
| 599 | |
Bram Moolenaar | 790c18b | 2019-07-04 17:22:06 +0200 | [diff] [blame] | 600 | Opening a file with --remote-tab-silent that matches 'wildignore' does not |
| 601 | work, results in (E479: No match". (#4610) |
| 602 | |
Bram Moolenaar | 5be4cee | 2019-09-27 19:34:08 +0200 | [diff] [blame] | 603 | 7 Add an option to add one pixel column to the character width? Lucida |
| 604 | Console italic is wider than the normal font ("d" overlaps with next char). |
| 605 | Opposite of 'linespace': 'columnspace'. |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 606 | Patch for this (Tristan Konolige, #1011, only added the option, no implem.) |
Bram Moolenaar | 5be4cee | 2019-09-27 19:34:08 +0200 | [diff] [blame] | 607 | |
Bram Moolenaar | 2696761 | 2019-03-17 17:13:16 +0100 | [diff] [blame] | 608 | Bug: script written with "-W scriptout" contains Key codes, while the script |
| 609 | read with "-s scriptin" expects escape codes. Probably "scriptout" needs to |
| 610 | be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041) |
| 611 | |
Bram Moolenaar | 1ff14ba | 2019-11-02 14:09:23 +0100 | [diff] [blame] | 612 | Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and |
| 613 | CTRL-Y scroll one screen line, also if this means the first line doesn't start |
| 614 | with the first character (like what happens with a last line that doesn't |
| 615 | fit). Display "<<<" at the start of the first visible line (like "@@@" is |
| 616 | displayed in the last line). (Arseny Nasokin, #5154) |
| 617 | |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 618 | Window size changes after closing a tab. (#4741) |
| 619 | |
Bram Moolenaar | 68e6560 | 2019-05-26 21:33:31 +0200 | [diff] [blame] | 620 | Problem with colors in terminal window. (Jason Franklin, 2019 May 12) |
| 621 | |
Bram Moolenaar | 396e829 | 2019-07-13 23:04:31 +0200 | [diff] [blame] | 622 | Lifepillar: Updated/cleaned up color schemes: |
| 623 | https://github.com/lifepillar/vim8-colorschemes. |
| 624 | |
| 625 | Include a few color schemes, based on popularity: |
| 626 | http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search |
| 627 | http://vimawesome.com/?q=tag:color-scheme |
| 628 | Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3) |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 629 | - monokai - Xia Crusoe (2017 Aug 4) |
Bram Moolenaar | 396e829 | 2019-07-13 23:04:31 +0200 | [diff] [blame] | 630 | - seoul256 - Christian Brabandt (2017 Aug 3) |
| 631 | - gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from |
| 632 | Lifepillar, 2018 Jan 22, #2573) |
| 633 | - janah - Marco Hinz (2017 Aug 4) |
| 634 | - apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964 |
| 635 | Suggested by Hiroki Kokubun: |
| 636 | - [Iceberg](https://github.com/cocopon/iceberg.vim) (my one) |
| 637 | - [hybrid](https://github.com/w0ng/vim-hybrid) |
| 638 | Include solarized color scheme?, it does not support termguicolors. |
| 639 | - Sanitized version of pablo (Lifepillar, 2017 Nov 21) |
| 640 | |
Bram Moolenaar | 2696761 | 2019-03-17 17:13:16 +0100 | [diff] [blame] | 641 | Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019 |
| 642 | Mar 5) |
| 643 | |
Bram Moolenaar | 85850f3 | 2019-07-19 22:05:51 +0200 | [diff] [blame] | 644 | Many users don't like 'thesaurus' to match so many words. (#4667, #1611) |
| 645 | - when the match with the first word is partial, don't add other words on that |
| 646 | line. |
| 647 | - support other file formats, such as comma separated. Indicate by a prefix |
| 648 | to the file in the 'thesaurus' option. |
| 649 | - 'threglookexp' option: only match with first word in thesaurus file. |
| 650 | (Jakson A. Aquino, 2006 Jun 14) |
| 651 | |
Bram Moolenaar | 6c1e157 | 2019-06-22 02:13:00 +0200 | [diff] [blame] | 652 | Some composing characters actually add a cell width to the character they are |
| 653 | on top off, making the whole thing two characters wide. (#4526) |
| 654 | |
Bram Moolenaar | 12ee7ff | 2019-06-10 22:47:40 +0200 | [diff] [blame] | 655 | Should we include some part of pull request #4505, not increment changedtick |
| 656 | in some cases? E.g. for ":write" when the changed flag was already off, the |
| 657 | buffer didn't change at all. |
| 658 | |
Bram Moolenaar | 12ee7ff | 2019-06-10 22:47:40 +0200 | [diff] [blame] | 659 | Line numbers in profile are off when function was defined with ":execute". |
| 660 | (Daniel Hahler, #4511) |
| 661 | |
Bram Moolenaar | 7dd64a3 | 2019-05-31 21:41:05 +0200 | [diff] [blame] | 662 | Session file contains absolute paths when "curdir" is removed form |
| 663 | 'sessionoptions', making it impossible to have a session with a relative path. |
| 664 | (#4450) |
| 665 | |
Bram Moolenaar | d09091d | 2019-01-17 16:07:22 +0100 | [diff] [blame] | 666 | When using a timer callback vgetc_busy is reset, allowing for using input(). |
| 667 | But in a channel callback this does not happen. We need to do something |
| 668 | similar to check_due_timer(). Also see #3809. |
| 669 | |
Bram Moolenaar | 2c64ca1 | 2018-10-19 16:22:31 +0200 | [diff] [blame] | 670 | C syntax: {} inside () causes following {} to be highlighted as error. |
| 671 | (Michalis Giannakidis, 2006 Jun 1) |
| 672 | |
Bram Moolenaar | f6b4010 | 2019-02-22 15:24:03 +0100 | [diff] [blame] | 673 | Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this |
| 674 | added? |
| 675 | |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 676 | Add test for urxvt mouse codes. Also test that mouse coordinates can be |
| 677 | negative. (see #4326) |
| 678 | |
| 679 | 'cmdheight' has a tab-local value, but it cannot be obtained with |
| 680 | `:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_ |
| 681 | tab page. (Ingo Karkat, #4324) |
| 682 | :call settabwinvar(1, 1, '&cmdheight', 2) also doesn't work well. |
| 683 | |
Bram Moolenaar | 723dd94 | 2019-04-04 13:11:03 +0200 | [diff] [blame] | 684 | This modeline throws unexpected errors: (#4165) |
| 685 | vim: syn=nosyntax |
| 686 | |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 687 | ":doau SomeEvent" gives "No matching autocommands". This message doesn't give |
| 688 | a hint about how to fix it. (#4300) |
| 689 | |
Bram Moolenaar | d09091d | 2019-01-17 16:07:22 +0100 | [diff] [blame] | 690 | Make balloon_show() work outside of 'balloonexpr'? Users expect it to work: |
| 691 | #2948. (related to #1512?) |
| 692 | On Win32 it stops showing, because showState is already ShS_SHOWING. |
| 693 | balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec |
| 694 | 20, #2481) |
| 695 | Also see #2352, want better control over balloon, perhaps set the position. |
| 696 | Should also be possible to add highlighting, like in the status line? |
| 697 | balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail, |
| 698 | 2018 Sep 14) |
| 699 | Another request: #3811. |
| 700 | |
Bram Moolenaar | 15142e2 | 2018-04-30 22:19:58 +0200 | [diff] [blame] | 701 | More warnings from static analysis: |
| 702 | https://lgtm.com/projects/g/vim/vim/alerts/?mode=list |
Bram Moolenaar | 7dda86f | 2018-04-20 22:36:41 +0200 | [diff] [blame] | 703 | |
Bram Moolenaar | f6b4010 | 2019-02-22 15:24:03 +0100 | [diff] [blame] | 704 | Still a E315 error when using terminal. (Masato Nishihata, #3959) |
| 705 | |
Bram Moolenaar | 6c1e157 | 2019-06-22 02:13:00 +0200 | [diff] [blame] | 706 | Not existing directory in CDPATH leads to two shell calls. (#4525) |
| 707 | |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 708 | Use dict_iterate_start() / dict_iterate_next() instead of relying on the |
| 709 | internals of the dict structure. |
| 710 | |
Bram Moolenaar | 9d87a37 | 2018-12-18 21:41:50 +0100 | [diff] [blame] | 711 | nvo-mode mapping works on Windows, not on Linux. (#3678) |
| 712 | |
Bram Moolenaar | 62e1bb4 | 2019-04-08 16:25:07 +0200 | [diff] [blame] | 713 | Missing tests for: |
| 714 | - add_termcap_entry() |
| 715 | |
Bram Moolenaar | 396e829 | 2019-07-13 23:04:31 +0200 | [diff] [blame] | 716 | Redo only remembers the last change. Could use "{count}g." to redo an older |
| 717 | change. How does the user know which change? At least have a way to list |
| 718 | them: ":repeats". Add to history, like search history and command line history. |
| 719 | |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 720 | Incsearch test fails when locale is "C". (Dominique Pelle, #3986) |
| 721 | Also run all tests with C locale? |
| 722 | |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 723 | "vat" doesn't work well on XML when the closing > is on another line. |
| 724 | #3927 |
| 725 | |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 726 | Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17) |
Bram Moolenaar | 675e8d6 | 2018-06-24 20:42:01 +0200 | [diff] [blame] | 727 | Related to bracketed paste. I cannot reproduce it. |
Bram Moolenaar | f273245 | 2018-06-03 14:47:35 +0200 | [diff] [blame] | 728 | |
Bram Moolenaar | 314dd79 | 2019-02-03 15:27:20 +0100 | [diff] [blame] | 729 | When 'confirm' is set a "silent q" doesn't show the prompt. It should in this |
| 730 | case. (Nate Peterson, 2019 Jan 31, #3892) |
| 731 | For "silent! q" it should not prompt and just fail. |
| 732 | |
Bram Moolenaar | 911ead1 | 2019-04-21 00:03:35 +0200 | [diff] [blame] | 733 | Add <aevent>, which expands to the currently triggered autocommand event name. |
| 734 | (Daniel Hahler, #4232) Or add it to v:event (easier to use but slightly more |
| 735 | expensive). |
Bram Moolenaar | 62e1bb4 | 2019-04-08 16:25:07 +0200 | [diff] [blame] | 736 | |
Bram Moolenaar | 723dd94 | 2019-04-04 13:11:03 +0200 | [diff] [blame] | 737 | Some xterm responses are not properly handled: (Markus Gömmel, 2019 Apr 1) |
| 738 | DCS 0 $ r Pt ST should be ignored. |
| 739 | DCS 0 + r/Pt/ ST already ignored? |
| 740 | |
Bram Moolenaar | b730f0c | 2018-11-25 03:56:26 +0100 | [diff] [blame] | 741 | Using CTRL-L to add a character to the search string that contains \v, |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 742 | punctuation is repeated. (Smylers, 2018 Nov 17, #3621) |
Bram Moolenaar | b730f0c | 2018-11-25 03:56:26 +0100 | [diff] [blame] | 743 | |
Bram Moolenaar | 2c64ca1 | 2018-10-19 16:22:31 +0200 | [diff] [blame] | 744 | ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550). |
| 745 | |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 746 | Using single wide base character with double wide composing character gives |
| 747 | drawing errors. Fill up the base character? (Dominique, #4328) |
| 748 | |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 749 | Problem with two buffers with the same name a/b, if it didn't exist before and |
| 750 | is created outside of Vim. (dskloetg, 2018 Jul 16, #3219) |
| 751 | |
Bram Moolenaar | c8c8849 | 2018-12-27 23:59:26 +0100 | [diff] [blame] | 752 | When 'sidescrolloff' is set, using "zl" to go to the end of the line, suddenly |
| 753 | scrolls back. Should allow for this scrolling, like 'scrolloff' does when |
| 754 | using CTRL-E. (Yee Cheng Chin, #3721) |
| 755 | |
Bram Moolenaar | 93a1df2 | 2018-09-10 11:51:50 +0200 | [diff] [blame] | 756 | Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3, |
| 757 | #3405) Introduced by 8.0.1517, which was fixing another memory access error. |
| 758 | (Sep 8) |
| 759 | |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 760 | Add function to make use of internal diff, working on two lists and returning |
| 761 | unified diff (list of lines). |
| 762 | |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 763 | When splitting a window with few text lines, the relative cursor position is |
| 764 | kept, which means part of the text isn't displayed. Better show all the text |
| 765 | when possible. (Dylan Lloyd, #3973) |
| 766 | |
Bram Moolenaar | 9d87a37 | 2018-12-18 21:41:50 +0100 | [diff] [blame] | 767 | Make ":interactive !cmd" stop termcap mode, also when used in an autocommand. |
| 768 | (#3692) |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 769 | |
Bram Moolenaar | f6b4010 | 2019-02-22 15:24:03 +0100 | [diff] [blame] | 770 | Add buffer argument to undotree(). (#4001) |
| 771 | |
Bram Moolenaar | 23515b4 | 2020-11-29 14:36:24 +0100 | [diff] [blame] | 772 | Memory leak in test_debugger |
Bram Moolenaar | ff78155 | 2020-03-19 20:37:11 +0100 | [diff] [blame] | 773 | Using uninitialized value in test_crypt (can't explain why). |
Bram Moolenaar | ff78155 | 2020-03-19 20:37:11 +0100 | [diff] [blame] | 774 | Memory leak in test_terminal_fail |
Bram Moolenaar | 68e6560 | 2019-05-26 21:33:31 +0200 | [diff] [blame] | 775 | TODO: be able to run all parts of test_alot with valgrind separately |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 776 | Memory leak in test_alot with pyeval() (allocating partial) |
Bram Moolenaar | 68e6560 | 2019-05-26 21:33:31 +0200 | [diff] [blame] | 777 | Memory leak in test_alot with expand() |
| 778 | Memory leaks in test_channel? (or is it because of fork()) |
Bram Moolenaar | 675e8d6 | 2018-06-24 20:42:01 +0200 | [diff] [blame] | 779 | |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 780 | gethostbyname() is old, use getaddrinfo() if available. (#3227) |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 781 | |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 782 | matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul |
| 783 | 19. |
| 784 | |
Bram Moolenaar | 314dd79 | 2019-02-03 15:27:20 +0100 | [diff] [blame] | 785 | Should make 'listchars' global-local. Local to window or to buffer? |
Bram Moolenaar | 95a9dd1 | 2019-12-19 22:12:03 +0100 | [diff] [blame] | 786 | Probably window. #5206 |
Bram Moolenaar | 314dd79 | 2019-02-03 15:27:20 +0100 | [diff] [blame] | 787 | Add something like 'fillchars' local to window, but allow for specifying a |
| 788 | highlight name. Esp. for the statusline. |
Bram Moolenaar | 68e6560 | 2019-05-26 21:33:31 +0200 | [diff] [blame] | 789 | And "extends" and "precedes" are also useful without 'list' set. Also in |
| 790 | 'fillchars' or another option? |
Bram Moolenaar | 2963456 | 2020-01-09 21:46:04 +0100 | [diff] [blame] | 791 | Related: #3820 - Support setting the character displayed below the last line? |
| 792 | Neovim uses "eob:X" in 'fillchars'. |
Bram Moolenaar | 314dd79 | 2019-02-03 15:27:20 +0100 | [diff] [blame] | 793 | |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 794 | Sourceforge Vim pages still have content, redirect from empty page. |
| 795 | Check for PHP errors. (Wayne Davison, 2018 Oct 26) |
| 796 | |
Bram Moolenaar | 68e6560 | 2019-05-26 21:33:31 +0200 | [diff] [blame] | 797 | Problem with Visual yank when 'linebreak' and 'showbreak' are set. |
| 798 | Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018 |
| 799 | Nov 17) Asked about this, Dec 22. Christian will have a look. |
| 800 | |
Bram Moolenaar | 68e6560 | 2019-05-26 21:33:31 +0200 | [diff] [blame] | 801 | Patch to fix that using "5gj" starting inside a closed fold does not work on |
| 802 | screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test. |
| 803 | |
Bram Moolenaar | d473c8c | 2018-08-11 18:00:22 +0200 | [diff] [blame] | 804 | home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9) |
| 805 | |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 806 | When the status line uses term_gettitle(), it does not get updated when the |
| 807 | terminal title changes. (Josh Triplett, 2018 Sep 9, #3418) |
| 808 | How would we know that the status line needs to be updated? |
| 809 | |
Bram Moolenaar | d473c8c | 2018-08-11 18:00:22 +0200 | [diff] [blame] | 810 | Adjust windows installer explanation of behavior. (scootergrisen, #3310) |
| 811 | |
Bram Moolenaar | d09091d | 2019-01-17 16:07:22 +0100 | [diff] [blame] | 812 | Update for xim-input-style help (Tony Mechelynck, 2019 Jan 10). |
| 813 | Feedback from someone who uses this? |
| 814 | |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 815 | ml_get error. (Dominique Pelle, 2018 Sep 14, #3434) |
| 816 | |
| 817 | Only output t_Cs when t_Ce is also set. do not use Cs and Ce termcap entries. (Daniel Hahler, 2018 Sep 25) |
| 818 | Add t_cS and t_cR for cursor color select and reset. Use Cs and Cr terminfo |
| 819 | values. |
| 820 | |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 821 | Further xdiff changes: |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 822 | - More options, e.g. different kind of whitespace diff. |
| 823 | - when editing text, update the surrounding diff blocks. |
| 824 | - omit diff.exe from distribution |
| 825 | - Can we make this show differences within a line? |
| 826 | - add option to use external diff above a certain size. |
Bram Moolenaar | 20aac6c | 2018-09-02 21:07:30 +0200 | [diff] [blame] | 827 | |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 828 | Difference between two regexp engines: #3373 |
| 829 | |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 830 | Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639) |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 831 | What is the practical use for this? Need an example. |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 832 | |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 833 | When the last line wraps, selecting with the mouse below that line only |
| 834 | includes the first screen line. (2018 Aug 23, #3368) |
| 835 | |
| 836 | Refactored HTML indent file. (Michael Lee, #1821) |
Bram Moolenaar | 5be4cee | 2019-09-27 19:34:08 +0200 | [diff] [blame] | 837 | Asked to write a test. |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 838 | |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 839 | MS-Windows: .lnk file not resolved properly when 'encoding' is set. |
| 840 | (lkintact, 2018 Sep 22, #3473) |
| 841 | |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 842 | Merge checking for 'cursorline' and 'concealcursor', see neovim #9492. |
| 843 | |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 844 | Display error when a conceal match uses '\%>1l'. (#4854) |
| 845 | |
Bram Moolenaar | 96f45c0 | 2019-10-26 19:53:45 +0200 | [diff] [blame] | 846 | Add a windowID argument to placing a sign, so that it only shows up in one |
| 847 | window for the buffer. |
| 848 | |
Bram Moolenaar | 6c1e157 | 2019-06-22 02:13:00 +0200 | [diff] [blame] | 849 | Request to add sign_setlist() to make it faster to add a lot of signs, e.g. |
| 850 | when adding a sign for every quickfix entry. (#4557) |
| 851 | |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 852 | Win32 key codes are messy. Mike Williams tried to fix that, but now old |
| 853 | mappings no longer work. Create a new terminal for the better solution? |
| 854 | |
Bram Moolenaar | 85eee13 | 2018-05-06 17:57:30 +0200 | [diff] [blame] | 855 | Script generated by :mksession does not work well if there are windows with |
| 856 | modified buffers |
| 857 | change "silent only" into "silent only!" |
| 858 | change "edit fname" of first buffer to "hide edit fname" |
| 859 | skip "badd fname" if "fname" is already in the buffer list |
| 860 | remove remark about unloading buffers from documentation |
| 861 | |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 862 | Compiler warnings (geeknik, 2017 Oct 26): |
| 863 | - signed integer overflow in do_sub() (#2249) |
| 864 | - signed integer overflow in get_address() (#2248) |
| 865 | - signed integer overflow in getdecchrs() (#2254) |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 866 | - undefined left shift in get_string_tv() (#2250) |
| 867 | |
Bram Moolenaar | 91f84f6 | 2018-07-29 15:07:52 +0200 | [diff] [blame] | 868 | Win32 console: <F11> and <F12> typed in Insert mode don't result in normal |
| 869 | characters. (#3246) |
| 870 | |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 871 | 'foldtext' is evaluated too often. (Daniel Hahler, #2773) |
| 872 | |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 873 | Add Native language protocol server (LSP) support. (Yegappan Lakshmanan, 2018 |
| 874 | Oct 28) |
| 875 | |
Bram Moolenaar | 2c64ca1 | 2018-10-19 16:22:31 +0200 | [diff] [blame] | 876 | ml_get error when using a Python script. (Yggdroot, 2017 Jun 1, #1737) |
| 877 | Lemonboy can reproduce (2017 Jun 5) |
| 878 | Also reproduced by Benjamin Doherty, 2018 Oct 4. |
| 879 | Simpler way: Ken Takata, Oct 6. |
| 880 | |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 881 | Add more testing of the GTK GUI. |
| 882 | - gtk_test_widget_click() can be used to simulate a click in a widget. |
| 883 | |
Bram Moolenaar | ab94343 | 2018-03-29 18:27:07 +0200 | [diff] [blame] | 884 | Tests failing for "make testgui" with GTK: |
| 885 | - Test_setbufvar_options() |
| 886 | - Test_exit_callback_interval() |
| 887 | |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 888 | Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6) |
| 889 | Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1. |
Bram Moolenaar | b730f0c | 2018-11-25 03:56:26 +0100 | [diff] [blame] | 890 | Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018 |
| 891 | Nov 22). |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 892 | |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 893 | Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14) |
| 894 | |
| 895 | Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug |
| 896 | 24) |
| 897 | |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 898 | Try out background make plugin: |
Bram Moolenaar | b5b7562 | 2018-03-09 22:22:21 +0100 | [diff] [blame] | 899 | https://github.com/AndrewVos/vim-make-background |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 900 | or asyncmake: |
Bram Moolenaar | b5b7562 | 2018-03-09 22:22:21 +0100 | [diff] [blame] | 901 | https://github.com/yegappan/asyncmake |
| 902 | |
Bram Moolenaar | 7dda86f | 2018-04-20 22:36:41 +0200 | [diff] [blame] | 903 | Add an option with file patterns, to be used when unloading a buffer: If there |
| 904 | is a match, remove entries for the buffer from marks, jumplist, etc. To be |
| 905 | used for git temp files. |
| 906 | |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 907 | Cursor in wrong position when line wraps. (#2540) |
| 908 | |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 909 | Setting 'columns' in a BufEnter autocommand causes a second tab width to |
| 910 | behave strangely, as if there is a gap and a vertical window separator. |
| 911 | (Michael Soyka, 2018 Sep 23, #3477) |
| 912 | |
Bram Moolenaar | 6dc819b | 2018-07-03 16:42:19 +0200 | [diff] [blame] | 913 | Make {skip} argument of searchpair() consistent with other places where we |
| 914 | pass an expression to evaluate. Allow passing zero for "never skip". |
| 915 | |
Bram Moolenaar | 25a6e8a | 2018-03-30 12:27:32 +0200 | [diff] [blame] | 916 | Add an option similar to 'lazyredraw' to skip redrawing while executing a |
| 917 | script or function. |
| 918 | |
Bram Moolenaar | 6dc819b | 2018-07-03 16:42:19 +0200 | [diff] [blame] | 919 | When using a menu item while the "more" prompt is displayed doesn't work well. |
| 920 | E.g. after using help->version. Have a key that ends the "more" prompt and |
| 921 | does nothing otherwise? |
| 922 | |
Bram Moolenaar | 85eee13 | 2018-05-06 17:57:30 +0200 | [diff] [blame] | 923 | MS-Windows: write may fail if another program is reading the file. |
| 924 | If 'readonly' is not set but the file appears to be readonly later, try again |
| 925 | (wait a little while). |
| 926 | CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5) |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 927 | |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 928 | Using --remote to open a file in which a # appears does not work on |
| 929 | MS-Windows. Perhaps in \# the \ is seen as a path separator. (Axel Bender, |
| 930 | 2017 Feb 9) Can we expand wildcards first and send the path literally to the |
| 931 | receiving Vim? Or make an exception for #, it's not useful remotely. |
| 932 | |
Bram Moolenaar | 85eee13 | 2018-05-06 17:57:30 +0200 | [diff] [blame] | 933 | Should add a test for every command line argument. Check coverage for what is |
| 934 | missing: --nofork, -A , -b, -h, etc. |
| 935 | |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 936 | ":au * * command" should not be allowed, only use * for event when listing or |
| 937 | deleting autocmds, not when adding them. |
| 938 | |
Bram Moolenaar | 85eee13 | 2018-05-06 17:57:30 +0200 | [diff] [blame] | 939 | Alternative manpager.vim. (Enno, 2018 Jan 5, #2529) |
Bram Moolenaar | ab94343 | 2018-03-29 18:27:07 +0200 | [diff] [blame] | 940 | |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 941 | With 'foldmethod' "indent" and appending an empty line, what follows isn't |
| 942 | included in the existing fold. Deleting the empty line and undo fixes it. |
| 943 | (Oleg Koshovetc, 2018 Jul 15, #3214) |
| 944 | |
Bram Moolenaar | 85eee13 | 2018-05-06 17:57:30 +0200 | [diff] [blame] | 945 | Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1) |
Bram Moolenaar | 0b0f099 | 2018-05-22 21:41:30 +0200 | [diff] [blame] | 946 | Lacks a test. |
Bram Moolenaar | 85eee13 | 2018-05-06 17:57:30 +0200 | [diff] [blame] | 947 | |
Bram Moolenaar | b5b7562 | 2018-03-09 22:22:21 +0100 | [diff] [blame] | 948 | Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018 |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 949 | Jan 15, #2555) |
| 950 | |
Bram Moolenaar | ab94343 | 2018-03-29 18:27:07 +0200 | [diff] [blame] | 951 | ":bufdo e" disabled syntax HL in windows other than the current. (BPJ) |
| 952 | |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 953 | Check argument of systemlist(). (Pavlov) |
| 954 | |
Bram Moolenaar | 98ef233 | 2018-03-18 14:44:37 +0100 | [diff] [blame] | 955 | No maintainer for Vietnamese translations. |
| 956 | No maintainer for Simplified Chinese translations. |
| 957 | |
Bram Moolenaar | 7dda86f | 2018-04-20 22:36:41 +0200 | [diff] [blame] | 958 | Python indenting: alternative way to indent arguments: |
| 959 | http://orchistro.tistory.com/236 |
| 960 | Should be supported with a flag. |
| 961 | |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 962 | Starting job with cwd option, when the directory does not exist, gives a |
| 963 | confusing error message. (Wang Shidong, 2018 Jan 2, #2519) |
| 964 | |
Bram Moolenaar | b5b7562 | 2018-03-09 22:22:21 +0100 | [diff] [blame] | 965 | Add the debug command line history to viminfo. |
| 966 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 967 | Add Makefiles to the runtime/spell directory tree, since nobody uses Aap. |
| 968 | Will have to explain the manual steps (downloading the .aff and .dic files, |
| 969 | applying the diff, etc. |
| 970 | |
Bram Moolenaar | 15142e2 | 2018-04-30 22:19:58 +0200 | [diff] [blame] | 971 | Pasting a register in Visual mode cannot be repeated. (Mahmoud Al-Qudsi, 2018 |
| 972 | Apr 26, #2849) |
| 973 | |
Bram Moolenaar | 7254067 | 2018-02-09 22:00:53 +0100 | [diff] [blame] | 974 | User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a |
| 975 | word is re-added to it. (Matej Cepl, 2018 Feb 6) |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 976 | |
Bram Moolenaar | b0d45e7 | 2017-11-05 18:19:24 +0100 | [diff] [blame] | 977 | Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9) |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 978 | |
Bram Moolenaar | 0635ee6 | 2017-04-28 20:32:33 +0200 | [diff] [blame] | 979 | With foldmethod=syntax and nofoldenable comment highlighting isn't removed. |
| 980 | (Marcin Szewczyk, 2017 Apr 26) |
| 981 | |
Bram Moolenaar | c572da5 | 2017-08-27 16:52:01 +0200 | [diff] [blame] | 982 | Using 'wildignore' also applies to literally entered file name. Also with |
| 983 | :drop (remote commands). |
| 984 | |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 985 | Inserting a line in a CompleteDone autocommand may confuse undo. (micbou, |
| 986 | 2018 Jun 18, #3027) |
| 987 | |
Bram Moolenaar | 7dda86f | 2018-04-20 22:36:41 +0200 | [diff] [blame] | 988 | Implement option_save() and option_restore(): |
| 989 | option_restore({list}) *option_restore()* |
| 990 | Restore options previously saved by option_save(). |
| 991 | When buffer-local options have been saved, this function must |
| 992 | be called when the same buffer is the current buffer. |
| 993 | When window-local options have been saved, this function must |
| 994 | be called when the same window is the current window. |
| 995 | When in the wrong buffer and/or window an error is given and |
| 996 | the local options won't be restored. |
| 997 | |
| 998 | option_save({list}) *option_save()* |
| 999 | Saves the options named in {list}. The returned value can be |
| 1000 | passed to option_restore(). Example: > |
| 1001 | let s:saved_options = option_save([ |
| 1002 | \ 'ignorecase', |
| 1003 | \ 'iskeyword', |
| 1004 | \ ]) |
| 1005 | au <buffer> BufLeave * |
| 1006 | \ call option_restore(s:saved_options) |
| 1007 | < The advantage over using `:let` is that global and local |
| 1008 | values are handled and the script ID is restored, so that |
| 1009 | `:verbose set` will show where the option was originally set, |
| 1010 | not where it was restored. |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 1011 | Alternatively: save and restore ALL options. Implementation needs to use |
| 1012 | copy-on-write. Return an ID from option_save(), when |
| 1013 | option_restore(ID) is called give an error if another option_save() |
Bram Moolenaar | d09091d | 2019-01-17 16:07:22 +0100 | [diff] [blame] | 1014 | was called in the meantime, they must be balanced. |
Bram Moolenaar | 7dda86f | 2018-04-20 22:36:41 +0200 | [diff] [blame] | 1015 | |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 1016 | "gvim --remote" from a directory with non-word characters changes the current |
| 1017 | directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266) |
| 1018 | Also see #1689. |
| 1019 | |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 1020 | When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be |
Bram Moolenaar | 7254067 | 2018-02-09 22:00:53 +0100 | [diff] [blame] | 1021 | highlighted. (van-de-bugger, 2018 Jan 23, #2576) |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 1022 | |
Bram Moolenaar | 675e8d6 | 2018-06-24 20:42:01 +0200 | [diff] [blame] | 1023 | ":file" does not show anything when 'shortmess' contains 'F'. (#3070) |
| 1024 | |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 1025 | No profile information for function that executes ":quit". (Daniel Hahler, |
| 1026 | 2017 Dec 26, #2501) |
| 1027 | |
Bram Moolenaar | d473c8c | 2018-08-11 18:00:22 +0200 | [diff] [blame] | 1028 | A function on a dictionary is not profiled. (ZyX, 2010 Dec 25) |
| 1029 | |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 1030 | Add script number to profile? (#3330 breaks tests). |
| 1031 | |
Bram Moolenaar | d473c8c | 2018-08-11 18:00:22 +0200 | [diff] [blame] | 1032 | A function defined locally and lambda's are not easily recognized. |
| 1033 | Mention where they were defined somewhere. |
| 1034 | |
Bram Moolenaar | a2a8016 | 2017-11-21 23:09:50 +0100 | [diff] [blame] | 1035 | Invalid range error when using BufWinLeave for closing terminal. |
| 1036 | (Gabriel Barta, 2017 Nov 15, #2339) |
| 1037 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1038 | ml_get errors with buggy script. (Dominique, 2017 Apr 30) |
| 1039 | |
| 1040 | Error in emsg with buggy script. (Dominique, 2017 Apr 30) |
| 1041 | |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 1042 | Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494) |
| 1043 | Requires 'formatoptions' to include "j". (Gary Johnson, 2017 Dec 24) |
| 1044 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 1045 | Patch to support hunspell. (Matej Cepl, Jan 2018, #2500) Based on older patch |
| 1046 | in #846) |
| 1047 | Doesn't work on Windows yet. Not ready to included, hard coded paths. |
| 1048 | |
Bram Moolenaar | 7dda86f | 2018-04-20 22:36:41 +0200 | [diff] [blame] | 1049 | Win32 GUI: when running a fast timer, the cursor no longer blinks. |
| 1050 | Was reported: cursor blinks in terminal on widows with a timer. (xtal8, #2142) |
| 1051 | |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 1052 | When a timer is running and typing CTRL-R on the command line, it is not |
| 1053 | redrawn properly. (xtal8, 2017 Oct 23, #2241) |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 1054 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 1055 | In an optional package the "after" directory is not scanned? |
| 1056 | (Renato Fabbri, 2018 Feb 22) |
| 1057 | |
Bram Moolenaar | f0b03c4 | 2017-12-17 17:17:07 +0100 | [diff] [blame] | 1058 | Patch for Neovim concerning restoring when closing help window. (glacambre |
| 1059 | neovim #7431) |
Bram Moolenaar | a2a8016 | 2017-11-21 23:09:50 +0100 | [diff] [blame] | 1060 | |
Bram Moolenaar | a2a8016 | 2017-11-21 23:09:50 +0100 | [diff] [blame] | 1061 | Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017 |
| 1062 | Nov 21) |
| 1063 | |
Bram Moolenaar | 4466ad6 | 2020-11-21 13:16:30 +0100 | [diff] [blame] | 1064 | When t_Co is changed from termresponse, the OptionSet autocommand event isn't |
Bram Moolenaar | 7db25fe | 2018-05-13 00:02:36 +0200 | [diff] [blame] | 1065 | triggered. Use the code from the end of set_num_option() in |
| 1066 | set_color_count(). |
| 1067 | |
| 1068 | Add another autocommand like TermResponse that is fired for the other terminal |
| 1069 | responses, such as bg and fg. Use "bg", "fg", "blink", etc. for the name. |
| 1070 | |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 1071 | When using command line window, CmdlineLeave is triggered without |
| 1072 | CmdlineEnter. (xtal8, 2017 Oct 30, #2263) |
| 1073 | Add some way to get the nested state. Although CmdwinEnter is obviously |
| 1074 | always nested. |
| 1075 | |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 1076 | matchit hasn't been maintained for a long time. #955. |
| 1077 | |
Bram Moolenaar | a2a8016 | 2017-11-21 23:09:50 +0100 | [diff] [blame] | 1078 | Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313) |
| 1079 | |
Bram Moolenaar | f0b03c4 | 2017-12-17 17:17:07 +0100 | [diff] [blame] | 1080 | MS-Windows: buffer completion doesn't work when using backslash (or slash) |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 1081 | for a path separator. (xtal8, #2201) |
| 1082 | |
Bram Moolenaar | 589edb3 | 2019-09-20 14:38:13 +0200 | [diff] [blame] | 1083 | Would be nice for Insert mode completion to highlight the text that was added |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 1084 | (and may change when picking another completion). |
Bram Moolenaar | 95bafa2 | 2018-10-02 13:26:25 +0200 | [diff] [blame] | 1085 | |
Bram Moolenaar | c572da5 | 2017-08-27 16:52:01 +0200 | [diff] [blame] | 1086 | Test runtime files. |
| 1087 | Start with filetype detection: testdir/test_filetype.vim |
Bram Moolenaar | 1ccd8ff | 2017-08-11 19:50:37 +0200 | [diff] [blame] | 1088 | |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 1089 | Window not closed when deleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029) |
Bram Moolenaar | c572da5 | 2017-08-27 16:52:01 +0200 | [diff] [blame] | 1090 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1091 | Add options_default() / options_restore() to set several options to Vim |
| 1092 | defaults for a plugin. Comments from Zyx, 2017 May 10. |
| 1093 | Perhaps use a vimcontext / endvimcontext command block. |
| 1094 | |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 1095 | After using :noautocmd CursorMoved may still trigger. (Andy Stewart, 2017 Sep |
| 1096 | 13, #2084). Set old position after the command. |
Bram Moolenaar | c572da5 | 2017-08-27 16:52:01 +0200 | [diff] [blame] | 1097 | |
Bram Moolenaar | c572da5 | 2017-08-27 16:52:01 +0200 | [diff] [blame] | 1098 | When bracketed paste is used, pasting at the ":append" prompt does not get the |
| 1099 | line breaks. (Ken Takata, 2017 Aug 22) |
| 1100 | |
Bram Moolenaar | a2a8016 | 2017-11-21 23:09:50 +0100 | [diff] [blame] | 1101 | The ":move" command does not honor closed folds. (Ryan Lue, #2351) |
| 1102 | |
Bram Moolenaar | ab94343 | 2018-03-29 18:27:07 +0200 | [diff] [blame] | 1103 | Patch to fix increment/decrement not working properly when 'virtualedit' is |
| 1104 | set. (Hirohito Higashi, 2016 Aug 1, #923) |
Bram Moolenaar | 65e0d77 | 2020-06-14 17:29:55 +0200 | [diff] [blame] | 1105 | Was this fixed? |
Bram Moolenaar | ab94343 | 2018-03-29 18:27:07 +0200 | [diff] [blame] | 1106 | |
Bram Moolenaar | a2a8016 | 2017-11-21 23:09:50 +0100 | [diff] [blame] | 1107 | Cannot copy modeless selection when cursor is inside it. (lkintact, #2300) |
| 1108 | |
Bram Moolenaar | f55e4c8 | 2017-08-01 20:44:53 +0200 | [diff] [blame] | 1109 | Test_writefile_fails_conversion failure on Solaris because if different iconv |
| 1110 | behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872) |
| 1111 | |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 1112 | 'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221) |
| 1113 | |
Bram Moolenaar | 1ccd8ff | 2017-08-11 19:50:37 +0200 | [diff] [blame] | 1114 | The ++ options for the :edit command are also useful on the Vim command line. |
| 1115 | |
Bram Moolenaar | f0b03c4 | 2017-12-17 17:17:07 +0100 | [diff] [blame] | 1116 | When recovering a file, put the swap file name in b:recovered_swapfile. Then |
| 1117 | a command can delete it. |
| 1118 | |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 1119 | Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14, |
| 1120 | #2089) Patch with possible solution by Björn Linse. |
| 1121 | |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 1122 | The change list index is local to a buffer, but it doesn't make sense using it |
| 1123 | for another buffer. (lacygoll) Copy w_changelistidx to wininfo_S and back. |
| 1124 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1125 | X11: Putting more than about 262040 characters of text on the clipboard and |
| 1126 | pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23) |
| 1127 | clip_x11_request_selection_cb() is called with zero value and length. |
| 1128 | Also: Get an error message from free() in the process that owns the selection. |
| 1129 | Seems to happen when the selection is requested the second time, but before |
| 1130 | clip_x11_convert_selection_cb() is invoked, thus in X library code. |
Bram Moolenaar | f55e4c8 | 2017-08-01 20:44:53 +0200 | [diff] [blame] | 1131 | Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25) |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1132 | |
| 1133 | Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696) |
| 1134 | |
Bram Moolenaar | 1ccd8ff | 2017-08-11 19:50:37 +0200 | [diff] [blame] | 1135 | Creating a partial with an autoload function is confused about the "self" |
| 1136 | attribute of the function. For an unknown function assume "self" and make |
Bram Moolenaar | 7ff7846 | 2020-07-10 22:00:53 +0200 | [diff] [blame] | 1137 | that optional? (Bjorn Linse, 2017 Aug 5) |
Bram Moolenaar | 1ccd8ff | 2017-08-11 19:50:37 +0200 | [diff] [blame] | 1138 | |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 1139 | Cindent: returning a structure has more indent for the second item. |
| 1140 | (Sam Pagenkopf, 2017 Sep 14, #2090) |
| 1141 | |
Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 1142 | Patch from Christian Brabandt to preserve upper case marks when wiping out a |
| 1143 | buffer. (2013 Dec 9) |
| 1144 | Also fixes #2166? |
| 1145 | |
Bram Moolenaar | f55e4c8 | 2017-08-01 20:44:53 +0200 | [diff] [blame] | 1146 | Python: After "import vim" error messages only show the first line of the |
| 1147 | stack trace. (Yggdroot, 2017 Jul 28, #1887) |
| 1148 | |
Bram Moolenaar | a2a8016 | 2017-11-21 23:09:50 +0100 | [diff] [blame] | 1149 | Profile of a dict function is lost when the dict is deleted. Would it be |
| 1150 | possible to collect this? (Daniel Hahler, #2350) |
| 1151 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1152 | When checking if a bufref is valid, also check the buffer number, to catch the |
| 1153 | case of :bwipe followed by :new. |
| 1154 | |
Bram Moolenaar | b6e0ec6 | 2017-07-23 22:12:20 +0200 | [diff] [blame] | 1155 | Patch to skip writing a temp file for diffing if the buffer is equal to the |
| 1156 | existing file. (Akria Sheng, 2017 Jul 22) |
| 1157 | Could also skip writing lines that are the same. |
| 1158 | |
Bram Moolenaar | f55e4c8 | 2017-08-01 20:44:53 +0200 | [diff] [blame] | 1159 | Patch with Files for Latvian language. (Vitolins, 2017 May 3, #1675) |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1160 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1161 | MS-Windows: Opening same file in a second gvim hangs. (Sven Bruggemann, 2017 |
| 1162 | Jul 4) |
| 1163 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1164 | Setting 'clipboard' to "unnamed" makes a global command very slow (Daniel |
| 1165 | Drucker, 2017 May 8). |
| 1166 | This was supposed to be fixed, did it break again somehow? |
| 1167 | Christian cannot reproduce it. |
| 1168 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1169 | Using composing char in mapping does not work properly. maparg() shows the |
| 1170 | wrong thing. (Nikolai Pavlov, 2017 Jul 8, #1827) |
| 1171 | Or is this not an actual problem? |
| 1172 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1173 | Better TeX indent file. (Christian Brabandt, 2017 May 3) |
| 1174 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1175 | Use gvimext.dll from the nightly build? (Issue #249) |
| 1176 | |
Bram Moolenaar | 6aa8cea | 2017-06-05 14:44:35 +0200 | [diff] [blame] | 1177 | 'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31, |
| 1178 | #1736) |
| 1179 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1180 | Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May |
| 1181 | 8, #1690) |
| 1182 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1183 | Bogus characters inserted when triggering indent while changing text. |
| 1184 | (Vitor Antunes, 2016 Nov 22, #1269) |
| 1185 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1186 | Using "wviminfo /tmp/viminfo" does not store file marks that Vim knows about, |
| 1187 | it only works when merging with an existing file. (Shougo, 2017 Jun 19, #1781) |
| 1188 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1189 | Segmentation fault with complete(). (Lifepillar, 2017 Apr 29, #1668) |
| 1190 | Check for "pat" to be NULL in search_for_exact_line()? |
| 1191 | How did it get NULL? Comment by Christian, Apr 30. |
| 1192 | |
| 1193 | Is it possible to keep the complete menu open when calling complete()? |
| 1194 | (Prabir Shrestha, 2017 May 19, #1713) |
| 1195 | |
Bram Moolenaar | 214641f | 2017-03-05 17:04:09 +0100 | [diff] [blame] | 1196 | Memory leak in test97? The string is actually freed. Weird. |
| 1197 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1198 | assert_fails() can only check for the first error. Make it possible to have |
| 1199 | it catch multiple errors and check all of them. |
| 1200 | |
Bram Moolenaar | 3df0173 | 2017-02-17 22:47:16 +0100 | [diff] [blame] | 1201 | Add a toolbar in the terminal. Can be global, above all windows, or specific |
| 1202 | for one window. |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1203 | |
| 1204 | Make maparg() also return the raw rhs, so that it doesn't depend on 'cpo'. |
| 1205 | (Brett Stahlman, 2017 May 23) |
| 1206 | Even better: add a way to disable a mapping temporarily and re-enable it |
| 1207 | later. This is for a sub-mode that is active for a short while (one buffer). |
| 1208 | Still need maplist() to find the mappings. What can we use to identify a |
| 1209 | mapping? Something unique would be better than the LHS. |
Bram Moolenaar | 6aa8cea | 2017-06-05 14:44:35 +0200 | [diff] [blame] | 1210 | Perhaps simpler: actually delete the mappings. Use maplist() to list matching |
| 1211 | mappings (with a lhs prefix, like maparg()), mapdelete() to delete, |
Bram Moolenaar | 1ccd8ff | 2017-08-11 19:50:37 +0200 | [diff] [blame] | 1212 | maprestore() to restore (using the output of maplist()). |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1213 | |
Bram Moolenaar | 40962ec | 2018-01-28 22:47:25 +0100 | [diff] [blame] | 1214 | Add an argument to :mkvimrc (or add another command) to skip mappings from |
Bram Moolenaar | 6aa8cea | 2017-06-05 14:44:35 +0200 | [diff] [blame] | 1215 | plugins (source is a Vim script). No need to put these in a .vimrc, they will |
| 1216 | be defined when the plugin is loaded. |
| 1217 | |
Bram Moolenaar | 3df0173 | 2017-02-17 22:47:16 +0100 | [diff] [blame] | 1218 | Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}]) |
| 1219 | tb_highlight(winid, 'ToolBar') |
| 1220 | tb_get(winid) |
Bram Moolenaar | 5162822 | 2016-12-01 23:03:28 +0100 | [diff] [blame] | 1221 | |
Bram Moolenaar | a02a551 | 2016-06-17 12:48:11 +0200 | [diff] [blame] | 1222 | json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23) |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1223 | What if there is an invalid character? |
Bram Moolenaar | 4f3f668 | 2016-03-26 23:01:59 +0100 | [diff] [blame] | 1224 | |
Bram Moolenaar | 6d5ad4c | 2016-10-27 17:00:16 +0200 | [diff] [blame] | 1225 | Json string with trailing \u should be an error. (Lcd) |
| 1226 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1227 | import can't be used in define option when include matches too. |
| 1228 | (Romain Lafourcade, 2017 Jun 18, #1519) |
| 1229 | |
Bram Moolenaar | 690afe1 | 2017-01-28 18:34:47 +0100 | [diff] [blame] | 1230 | When session file has name in argument list but the buffer was deleted, the |
| 1231 | buffer is not deleted when using the session file. (#1393) |
| 1232 | Should add the buffer in hidden state. |
Bram Moolenaar | bc2eada | 2017-01-02 21:27:47 +0100 | [diff] [blame] | 1233 | |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 1234 | Wrong diff highlighting with three files. (2016 Oct 20, #1186) |
| 1235 | Also get E749 on exit. |
Bram Moolenaar | bc2eada | 2017-01-02 21:27:47 +0100 | [diff] [blame] | 1236 | Another example in #1309 |
| 1237 | |
Bram Moolenaar | bc2eada | 2017-01-02 21:27:47 +0100 | [diff] [blame] | 1238 | When deleting a mark or register, leave a tombstone, so that it's also deleted |
| 1239 | when writing viminfo (and the delete was the most recent action). #1339 |
| 1240 | |
Bram Moolenaar | bc2eada | 2017-01-02 21:27:47 +0100 | [diff] [blame] | 1241 | Suggestion to improve pt-br spell checking. (Marcelo D Montu, 2016 Dec 15, |
| 1242 | #1330) |
| 1243 | |
Bram Moolenaar | 7571d55 | 2016-08-18 22:54:46 +0200 | [diff] [blame] | 1244 | Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17) |
| 1245 | |
Bram Moolenaar | 214641f | 2017-03-05 17:04:09 +0100 | [diff] [blame] | 1246 | GTK: When adding a timer from 'balloonexpr' it won't fire, because |
| 1247 | g_main_context_iteration() doesn't return. Need to trigger an event when the |
| 1248 | timer expires. |
| 1249 | |
Bram Moolenaar | bc2eada | 2017-01-02 21:27:47 +0100 | [diff] [blame] | 1250 | Rule to use "^" for statusline does not work if a space is defined with |
| 1251 | highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11) |
| 1252 | |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 1253 | 8 "stl" and "stlnc" in 'fillchars' don't work for multibyte characters. |
Bram Moolenaar | bc2eada | 2017-01-02 21:27:47 +0100 | [diff] [blame] | 1254 | Patch by Christian Wellenbrock, 2013 Jul 5. |
| 1255 | |
Bram Moolenaar | 3df0173 | 2017-02-17 22:47:16 +0100 | [diff] [blame] | 1256 | Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca |
| 1257 | Fuentes, 2017 Feb 12, #1470) |
| 1258 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1259 | Add a "keytrans()" function, which turns the internal byte representation of a |
| 1260 | key into a form that can be used for :map. E.g. |
| 1261 | let xx = "\<C-Home>" |
| 1262 | echo keytrans(xx) |
| 1263 | <C-Home> |
| 1264 | |
Bram Moolenaar | 036986f | 2017-03-16 17:41:02 +0100 | [diff] [blame] | 1265 | Check for errors E704 and E705 only does VAR_FUNC, should also do VAR_PARTIAL. |
| 1266 | (Nikolai Pavlov, 2017 Mar 13, #1557) |
| 1267 | Make a function to check for function-like type? |
| 1268 | |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 1269 | Screen updated delayed when using CTRL-O u in Insert mode. |
| 1270 | (Barlik, #1191) Perhaps because status message? |
| 1271 | |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 1272 | Implement named arguments for functions with optional arguments: |
| 1273 | func Foo(start, count = 1, all = 1) |
Bram Moolenaar | 036986f | 2017-03-16 17:41:02 +0100 | [diff] [blame] | 1274 | call Foo(12, all = 0) |
Bram Moolenaar | 3df0173 | 2017-02-17 22:47:16 +0100 | [diff] [blame] | 1275 | |
Bram Moolenaar | 3df0173 | 2017-02-17 22:47:16 +0100 | [diff] [blame] | 1276 | Add a command to take a range of lines, filter them and put the output |
| 1277 | somewhere else. :{range}copy {dest} !cmd |
| 1278 | |
Bram Moolenaar | 690afe1 | 2017-01-28 18:34:47 +0100 | [diff] [blame] | 1279 | The TermResponse event is not triggered when a plugin has set 'eventignore' to |
| 1280 | "all". Netrw does this. (Gary Johnson, 2017 Jan 24) |
| 1281 | Postpone the event until 'eventignore' is reset. |
| 1282 | |
Bram Moolenaar | 9423749 | 2017-04-23 18:40:21 +0200 | [diff] [blame] | 1283 | Expanding /**/ is slow. Idea by Luc Hermitte, 2017 Apr 14. |
| 1284 | |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1285 | Once .exe with updated installer is available: Add remark to download page |
| 1286 | about /S and /D options (Ken Takata, 2016 Apr 13) |
Bram Moolenaar | 6f1d9a0 | 2016-07-24 14:12:38 +0200 | [diff] [blame] | 1287 | Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases |
| 1288 | |
Bram Moolenaar | 1ccd8ff | 2017-08-11 19:50:37 +0200 | [diff] [blame] | 1289 | ":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a |
Bram Moolenaar | 214641f | 2017-03-05 17:04:09 +0100 | [diff] [blame] | 1290 | vertical split. (Haldean Brown, 2017 Mar 1) |
| 1291 | |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1292 | Use ADDR_OTHER instead of ADDR_LINES for many more commands. |
Bram Moolenaar | fc65cab | 2018-08-28 22:58:02 +0200 | [diff] [blame] | 1293 | E.g. all the location list commands use a count. |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1294 | Add tests for using number larger than number of lines in buffer. |
Bram Moolenaar | e18c0b3 | 2016-03-20 21:08:34 +0100 | [diff] [blame] | 1295 | |
Bram Moolenaar | 214641f | 2017-03-05 17:04:09 +0100 | [diff] [blame] | 1296 | Might be useful to have isreadonly(), like we have islocked(). |
| 1297 | Avoids exceptions, e.g. when using the b: namespace as a dict. |
| 1298 | |
Bram Moolenaar | 2ec618c | 2016-10-01 14:47:05 +0200 | [diff] [blame] | 1299 | Patch to make v:shell_error writable. (Christian Brabandt, 2016 Sep 27) |
Bram Moolenaar | bc2eada | 2017-01-02 21:27:47 +0100 | [diff] [blame] | 1300 | Useful to restore it. Is there another solution? |
Bram Moolenaar | 2ec618c | 2016-10-01 14:47:05 +0200 | [diff] [blame] | 1301 | |
Bram Moolenaar | 6856393 | 2017-01-10 13:31:15 +0100 | [diff] [blame] | 1302 | "ci[" does not look for next [ like ci" does look for next ". |
| 1303 | (J.F. 2017 Jan 7) |
| 1304 | |
Bram Moolenaar | 5162822 | 2016-12-01 23:03:28 +0100 | [diff] [blame] | 1305 | Patch for wrong cursor position on wrapped line, involving breakindent. |
| 1306 | (Ozaki Kiichi, 2016 Nov 25) |
Bram Moolenaar | 690afe1 | 2017-01-28 18:34:47 +0100 | [diff] [blame] | 1307 | Does this also fix #1408 ? |
Bram Moolenaar | 5162822 | 2016-12-01 23:03:28 +0100 | [diff] [blame] | 1308 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1309 | 'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792) |
| 1310 | |
Bram Moolenaar | 5162822 | 2016-12-01 23:03:28 +0100 | [diff] [blame] | 1311 | Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30) |
| 1312 | |
Bram Moolenaar | 0635ee6 | 2017-04-28 20:32:33 +0200 | [diff] [blame] | 1313 | When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017 |
| 1314 | Apr 23, #1653) |
Bram Moolenaar | ade0d39 | 2020-01-21 22:33:58 +0100 | [diff] [blame] | 1315 | Can 'completeopt' be made buffer-local? (#5487) |
Bram Moolenaar | 0635ee6 | 2017-04-28 20:32:33 +0200 | [diff] [blame] | 1316 | |
Bram Moolenaar | 214641f | 2017-03-05 17:04:09 +0100 | [diff] [blame] | 1317 | Window resizing with 'winfixheight': With a vertical split the height changes |
| 1318 | anyway. (Tommy allen, 2017 Feb 21, #1502) |
| 1319 | |
Bram Moolenaar | 91c4937 | 2016-05-08 09:50:29 +0200 | [diff] [blame] | 1320 | Invalid behavior with NULL list. (Nikolai Pavlov, #768) |
Bram Moolenaar | 50ba526 | 2016-09-22 22:33:02 +0200 | [diff] [blame] | 1321 | E.g. deepcopy(test_null_list()) |
Bram Moolenaar | 91c4937 | 2016-05-08 09:50:29 +0200 | [diff] [blame] | 1322 | |
Bram Moolenaar | 3e496b0 | 2016-09-25 22:11:48 +0200 | [diff] [blame] | 1323 | Patch to make it possible to extend a list with itself. |
| 1324 | (Nikolai Pavlov, 2016 Sep 23) |
| 1325 | |
Bram Moolenaar | 6d5ad4c | 2016-10-27 17:00:16 +0200 | [diff] [blame] | 1326 | Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24) |
| 1327 | |
Bram Moolenaar | 5162822 | 2016-12-01 23:03:28 +0100 | [diff] [blame] | 1328 | On Windows buffer completion sees backslash as escape char instead of path |
| 1329 | separator. (Toffanim, 2016 Nov 24, #1274) |
| 1330 | |
Bram Moolenaar | 64d8e25 | 2016-09-06 22:12:34 +0200 | [diff] [blame] | 1331 | min() and max() spawn lots of error messages if sorted list/dictionary |
| 1332 | contains invalid data (Nikolay Pavlov, 2016 Sep 4, #1039) |
| 1333 | |
Bram Moolenaar | dc08328 | 2016-10-11 08:57:33 +0200 | [diff] [blame] | 1334 | Should :vmap in matchit.vim be :xmap? (Tony Mechelynck) |
| 1335 | |
Bram Moolenaar | 2685212 | 2016-05-24 20:02:38 +0200 | [diff] [blame] | 1336 | Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807) |
| 1337 | |
Bram Moolenaar | 6f1d9a0 | 2016-07-24 14:12:38 +0200 | [diff] [blame] | 1338 | Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18) |
| 1339 | |
Bram Moolenaar | dc08328 | 2016-10-11 08:57:33 +0200 | [diff] [blame] | 1340 | Add "unicode true" to NSIS installer. Doesn't work with Windows 95, which we |
| 1341 | no longer support. |
| 1342 | |
Bram Moolenaar | 64d8e25 | 2016-09-06 22:12:34 +0200 | [diff] [blame] | 1343 | sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep |
| 1344 | 4#1038) |
| 1345 | |
Bram Moolenaar | 4466ad6 | 2020-11-21 13:16:30 +0100 | [diff] [blame] | 1346 | sort() does not use 'smartcase' for the skip pattern, even though 'ignorecase' |
| 1347 | is used. (Filipe Brandenburger, #7322) |
| 1348 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 1349 | +channel: |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 1350 | - Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi) |
Bram Moolenaar | 1ff14ba | 2019-11-02 14:09:23 +0100 | [diff] [blame] | 1351 | - Add ch_readlines(): for a channel in NL mode, reads as many lines as are |
| 1352 | available. Should be more efficient than looping over ch_read() with |
| 1353 | ch_status() to check for more. |
Bram Moolenaar | 388a5d4 | 2020-05-26 21:20:45 +0200 | [diff] [blame] | 1354 | - If buffer contents is changed in a callback, set w_redr_status so that it |
| 1355 | gets redrawn in redraw_after_callback(). #6120 |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 1356 | - Add a separate timeout for opening a socket. Currently it's fixed at 50 |
| 1357 | msec, which is too small for a remote connection. (tverniquet, #2130) |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 1358 | - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026) |
| 1359 | - Writing raw mode to a buffer should still handle NL characters as line |
| 1360 | breaks. (Dmitry Zotikov, 2017 Aug 16) |
| 1361 | - When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler, |
| 1362 | 2016 Dec 11, #1320) |
| 1363 | - Implement |job-term| ? |
Bram Moolenaar | 2a953fc | 2019-01-26 17:41:47 +0100 | [diff] [blame] | 1364 | - Calling a function when receiving a "call" on a channel, using feedkeys() |
| 1365 | does not work. It does work from a timer. (Qiming Zhao, #3852) |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 1366 | - Channel test fails with Motif. Sometimes kills the X11 server. |
| 1367 | - When a message in the queue but there is no callback, drop it after a while? |
| 1368 | Add timestamp to queued messages and callbacks with ID, remove after a |
| 1369 | minute. Option to set the droptime. |
| 1370 | - Add an option to drop text of very long lines? Default to 1 Mbyte. |
| 1371 | - Add remark about undo sync, is there a way to force it? |
| 1372 | - When starting a job, have an option to open the server socket, so we know |
| 1373 | the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz, |
| 1374 | Feb 9) How to do this on MS-Windows? |
| 1375 | - For connection to server, a "keep open" flag would be useful. Retry |
| 1376 | connecting in the main loop with zero timeout. |
| 1377 | - job_start(): run job in a newly opened terminal (not a terminal window). |
| 1378 | With xterm could use -S{pty}. |
| 1379 | Although user could use "xterm -e 'cmd arg'". |
| 1380 | |
| 1381 | Regexp problems: |
Bram Moolenaar | f6b4010 | 2019-02-22 15:24:03 +0100 | [diff] [blame] | 1382 | - NFA engine can be slow for some patterns. Dominique found out that most |
| 1383 | time is spent in addstate_here() copying the threads. Instead of copying, |
| 1384 | let each thread point to the next one (by offset, the list is reallocated). |
| 1385 | (Dominique Pelle, 2019 Feb 18) |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 1386 | - Old engine: using 'incsearch' /\Zabc does not highlight the "c" if it has a |
| 1387 | composing character. New engine is OK. (Tony Mechelynck, 2019 May 5) |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 1388 | - When search pattern has the base character both with and without combining |
| 1389 | character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312) |
| 1390 | - [:space:] only matches ASCII spaces. Add [:white:] for all space-like |
| 1391 | characters, esp. including 0xa0. Use character class zero. |
| 1392 | - Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6. |
| 1393 | (Manuel Ortega, 2016 Apr 24) |
| 1394 | Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on |
| 1395 | LC_CTYPE |
| 1396 | - The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine |
| 1397 | matches everywhere. |
| 1398 | - Using win_linetabsize() can still be slow. Cache the result, store col and |
| 1399 | vcol. Reset them when moving to another line. |
| 1400 | - Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4) |
| 1401 | - Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$' |
| 1402 | (Lech Lorens, 2014 Feb 3) |
| 1403 | - Issue 164: freeze on regexp search. |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 1404 | - Ignorecase not handled properly for multibyte characters. (Axel Bender, |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 1405 | 2013 Dec 11) |
| 1406 | - Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin |
| 1407 | Szamotulski; Remark from Brett 2014 Jan 6 and 7. |
| 1408 | - NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12) |
| 1409 | - Does not work with NFA regexp engine: |
| 1410 | \%u, \%x, \%o, \%d followed by a composing character |
| 1411 | - Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4) |
| 1412 | - \%'[ does not work. '%'] does work. (Masaaki Nakamura, 2016 Apr 4) |
| 1413 | - Bug relating to back references. (Ingo Karkat, 2014 Jul 24) |
| 1414 | - New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle, |
| 1415 | 2015 Feb 7) |
| 1416 | - Using back reference before the capturing group sometimes works with the old |
| 1417 | engine, can we do this with the new engine? E.g. with |
| 1418 | "/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags. |
| 1419 | This problem is probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$". |
| 1420 | (guotuofeng, 2015 Jun 22) |
| 1421 | - Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12) |
| 1422 | - Problem with \v(A)@<=b+\1c. (Issue 334) |
| 1423 | - Diff highlighting can be very slow. (Issue 309) |
| 1424 | - Using %> for a virtual column has a check based on 'tabsize'. Better would |
| 1425 | be to cache the result of win_linetabsize(col), storing both col and vcol, |
| 1426 | and use them to decide whether win_linetabsize() needs to be called. Reset |
| 1427 | col and vcol when moving to another line. |
| 1428 | - this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving |
| 1429 | out the \& works. Seems any column check after \& fails. |
| 1430 | - Difference between two engines: ".*\zs\/\@>\/" on text "///" |
| 1431 | (Chris Paul, 2016 Nov 13) New engine not greedy enough? |
| 1432 | Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*') |
| 1433 | (2017 May 15, #1252) |
| 1434 | |
Bram Moolenaar | 6856393 | 2017-01-10 13:31:15 +0100 | [diff] [blame] | 1435 | Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4, |
| 1436 | #1350) |
| 1437 | |
Bram Moolenaar | 9423749 | 2017-04-23 18:40:21 +0200 | [diff] [blame] | 1438 | Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct |
| 1439 | 3. Doesn't work properly according to Yukihiro Nakadaira. |
| 1440 | Also see #1635. |
| 1441 | |
Bram Moolenaar | 2ec618c | 2016-10-01 14:47:05 +0200 | [diff] [blame] | 1442 | Idea from Sven: record sequence of keys. Useful to show others what they are |
| 1443 | doing (look over the shoulder), and also to see what happened. |
| 1444 | Probably list of keystrokes, with some annotations for mode changes. |
Bram Moolenaar | 3df0173 | 2017-02-17 22:47:16 +0100 | [diff] [blame] | 1445 | Could store in logfile to be able to analyse it with an external command. |
Bram Moolenaar | 2ec618c | 2016-10-01 14:47:05 +0200 | [diff] [blame] | 1446 | E.g. to see when's the last time a plugin command was used. |
| 1447 | |
Bram Moolenaar | 7571d55 | 2016-08-18 22:54:46 +0200 | [diff] [blame] | 1448 | cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983) |
| 1449 | |
Bram Moolenaar | 74675a6 | 2017-07-15 13:53:23 +0200 | [diff] [blame] | 1450 | :map X may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816) |
| 1451 | |
Bram Moolenaar | 6d5ad4c | 2016-10-27 17:00:16 +0200 | [diff] [blame] | 1452 | Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25) |
| 1453 | |
Bram Moolenaar | d079690 | 2016-09-16 20:02:31 +0200 | [diff] [blame] | 1454 | When using ":diffput" through a mapping, undo in the target buffer isn't |
| 1455 | synced. (Ryan Carney, 2016 Sep 14) |
| 1456 | |
Bram Moolenaar | bc8801c | 2016-08-02 21:04:33 +0200 | [diff] [blame] | 1457 | Syntax highlighting for messages with RFC3339 timestamp (#946) |
| 1458 | Did maintainer reply? |
Bram Moolenaar | 42ebd06 | 2016-07-17 13:35:14 +0200 | [diff] [blame] | 1459 | |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1460 | ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19) |
| 1461 | Also with latest version. |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 1462 | |
Bram Moolenaar | bc8801c | 2016-08-02 21:04:33 +0200 | [diff] [blame] | 1463 | Completion for input() does not expand environment variables. (chdiza, 2016 |
| 1464 | Jul 25, #948) |
| 1465 | |
Bram Moolenaar | 6856393 | 2017-01-10 13:31:15 +0100 | [diff] [blame] | 1466 | Patch to add 'systemencoding', convert between 'encoding' and this for file |
| 1467 | names, shell commands and the like. (Kikuchan, 2010 Oct 14) |
| 1468 | Assume the system converts between the actual encoding of the filesystem to |
| 1469 | the system encoding (usually utf-8). |
| 1470 | |
Bram Moolenaar | 269f595 | 2016-07-15 22:54:41 +0200 | [diff] [blame] | 1471 | MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c? |
| 1472 | Otherwise task flickers in taskbar. |
Bram Moolenaar | e18dbe8 | 2016-07-02 21:42:23 +0200 | [diff] [blame] | 1473 | |
Bram Moolenaar | 269f595 | 2016-07-15 22:54:41 +0200 | [diff] [blame] | 1474 | Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925) |
| 1475 | |
Bram Moolenaar | 2ec618c | 2016-10-01 14:47:05 +0200 | [diff] [blame] | 1476 | Have a way to get the call stack, in a function and from an exception. |
| 1477 | #1125 |
| 1478 | |
Bram Moolenaar | 0952131 | 2016-08-12 22:54:35 +0200 | [diff] [blame] | 1479 | Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple |
| 1480 | times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5) |
| 1481 | |
Bram Moolenaar | 06d2d38 | 2016-05-20 17:24:11 +0200 | [diff] [blame] | 1482 | Patch to improve map documentation. Issue #799. |
| 1483 | |
Bram Moolenaar | 5f148ec | 2016-03-07 22:59:26 +0100 | [diff] [blame] | 1484 | We can use '. to go to the last change in the current buffer, but how about |
| 1485 | the last change in any buffer? Can we use ', (, is next to .)? |
| 1486 | |
Bram Moolenaar | 818078d | 2016-08-27 21:58:42 +0200 | [diff] [blame] | 1487 | Ramel Eshed: system() is much slower than job_start(), why? (Aug 26) |
| 1488 | |
Bram Moolenaar | e18dbe8 | 2016-07-02 21:42:23 +0200 | [diff] [blame] | 1489 | When generating the Unicode tables with runtime/tools/unicode.vim the |
| 1490 | emoji_width table has only one entry. |
| 1491 | |
Bram Moolenaar | 4f3f668 | 2016-03-26 23:01:59 +0100 | [diff] [blame] | 1492 | It's possible to add ",," to 'wildignore', an empty entry. Causes problems. |
| 1493 | Reject the value? #710. |
| 1494 | |
Bram Moolenaar | 06d2d38 | 2016-05-20 17:24:11 +0200 | [diff] [blame] | 1495 | When doing "vi buf.md" a BufNew autocommand for *.md is not triggered. |
| 1496 | Because of using the initial buffer? (Dun Peal, 2016 May 12) |
| 1497 | |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1498 | Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574 |
| 1499 | No test, needs some work to include. |
Bram Moolenaar | 64d8e25 | 2016-09-06 22:12:34 +0200 | [diff] [blame] | 1500 | |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 1501 | Patch to improve indenting for C++ constructor with initializer list. |
| 1502 | (Hirohito Higashi, 2016 Mar 31) |
Bram Moolenaar | f391327 | 2016-02-25 00:00:01 +0100 | [diff] [blame] | 1503 | |
Bram Moolenaar | b4d6c3e | 2017-05-27 16:45:17 +0200 | [diff] [blame] | 1504 | Zero-out krypt key information when no longer in use. (Ben Fritz, 2017 May 15) |
| 1505 | |
Bram Moolenaar | e18c0b3 | 2016-03-20 21:08:34 +0100 | [diff] [blame] | 1506 | Add stronger encryption. Could use libsodium (NaCl). |
| 1507 | https://github.com/jedisct1/libsodium/ |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 1508 | Possibly include the needed code so that it can be built everywhere. |
Bram Moolenaar | e18c0b3 | 2016-03-20 21:08:34 +0100 | [diff] [blame] | 1509 | |
Bram Moolenaar | 214641f | 2017-03-05 17:04:09 +0100 | [diff] [blame] | 1510 | Add a way to restart a timer. It's similar to timer_stop() and timer_start(), |
| 1511 | but the reference remains valid. |
| 1512 | |
Bram Moolenaar | d2f3a8b | 2018-06-19 14:35:59 +0200 | [diff] [blame] | 1513 | Need to try out instructions in INSTALLpc.txt about how to install all |
Bram Moolenaar | acb4f22 | 2016-01-10 15:59:26 +0100 | [diff] [blame] | 1514 | interfaces and how to build Vim with them. |
| 1515 | Appveyor build with self-installing executable, includes getting most |
| 1516 | interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build |
| 1517 | result: https://ci.appveyor.com/project/k-takata/vim/history |
Bram Moolenaar | bcb9898 | 2014-05-01 14:08:19 +0200 | [diff] [blame] | 1518 | |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 1519 | Problem that a previous silent ":throw" causes a following try/catch not to |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 1520 | work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24) |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 1521 | |
Bram Moolenaar | 8feef4f | 2015-01-07 16:57:10 +0100 | [diff] [blame] | 1522 | Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15) |
| 1523 | |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 1524 | Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10) |
| 1525 | |
Bram Moolenaar | e4a3bcf | 2016-08-26 19:52:37 +0200 | [diff] [blame] | 1526 | Add ":read :command", to insert the output of an Ex command? |
| 1527 | Can already do it with ":$put =execute('command')". |
| 1528 | |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1529 | When repeating the 'confirm' dialog one needs to press Enter. (ds26gte, 2016 |
| 1530 | Apr 17) #762 |
| 1531 | |
Bram Moolenaar | d079690 | 2016-09-16 20:02:31 +0200 | [diff] [blame] | 1532 | exists(":tearoff") does not tell you if the command is implemented. (Tony |
| 1533 | Mechelynck) Perhaps use exists("::tearoff") to check? |
| 1534 | |
Bram Moolenaar | 13d5aee | 2016-01-21 23:36:05 +0100 | [diff] [blame] | 1535 | Use vim.vim syntax highlighting for help file examples, but without ":" in |
| 1536 | 'iskeyword' for syntax. |
| 1537 | |
Bram Moolenaar | a02a551 | 2016-06-17 12:48:11 +0200 | [diff] [blame] | 1538 | When command names are very long :command output is difficult to read. Use a |
| 1539 | maximum for the column width? (#871) |
Bram Moolenaar | 802a0d9 | 2016-06-26 16:17:58 +0200 | [diff] [blame] | 1540 | Patcy by varmanishant, 2016 Jun 18, #876 |
Bram Moolenaar | a02a551 | 2016-06-17 12:48:11 +0200 | [diff] [blame] | 1541 | |
Bram Moolenaar | b4ff518 | 2015-11-10 21:15:48 +0100 | [diff] [blame] | 1542 | Installation of .desktop files does not work everywhere. |
| 1543 | It's now fixed, but the target directory probably isn't right. |
| 1544 | Add configure check? |
| 1545 | Should use /usr/local/share/applications or /usr/share/applications. |
| 1546 | Or use $XDG_DATA_DIRS. |
| 1547 | Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4) |
| 1548 | |
Bram Moolenaar | 369b6f5 | 2017-01-17 12:22:32 +0100 | [diff] [blame] | 1549 | Test object i{ and it do not behave the same. #1379 |
| 1550 | Do not include the linebreak at the start? |
| 1551 | |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 1552 | Feature request: add the "al" text object, to manipulate a screen line. |
| 1553 | Especially useful when using 'linebreak' |
| 1554 | |
Bram Moolenaar | 438f67a | 2014-01-07 06:09:28 +0100 | [diff] [blame] | 1555 | ":cd C:\Windows\System32\drivers\etc*" does not work, even though the |
| 1556 | directory exists. (Sergio Gallelli, 2013 Dec 29) |
| 1557 | |
Bram Moolenaar | 6856393 | 2017-01-10 13:31:15 +0100 | [diff] [blame] | 1558 | In debug mode one can inspect variables, but not the function parameters |
| 1559 | (starting with a:). (Luc Hermitte, 2017 Jan 4, #1352) |
| 1560 | |
Bram Moolenaar | 0648142 | 2016-04-30 15:13:38 +0200 | [diff] [blame] | 1561 | If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe, |
| 1562 | 2016 Apr 25, #780) |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 1563 | |
Bram Moolenaar | 5e9b2fa | 2016-02-01 22:37:05 +0100 | [diff] [blame] | 1564 | Patch to avoid redrawing tabline when the popup menu is visible. |
| 1565 | (Christian Brabandt, 2016 Jan 28) |
| 1566 | |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1567 | When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot |
| 1568 | restore the mode properly. (Andrew Stewart, 2016 Apr 20) |
| 1569 | Do not trigger the event? |
| 1570 | |
Bram Moolenaar | 5e9b2fa | 2016-02-01 22:37:05 +0100 | [diff] [blame] | 1571 | Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013) |
| 1572 | Update suggested by Yasuhiro Matsumoto, 2014 Nov 25: |
| 1573 | https://gist.github.com/presuku/d3d6b230b9b6dcfc0477 |
| 1574 | |
Bram Moolenaar | 38a5563 | 2016-02-15 22:07:32 +0100 | [diff] [blame] | 1575 | Patch to make the behavior of "w" more straightforward, but not Vi compatible. |
| 1576 | With a 'cpo' flag. (Christian Brabandt, 2016 Feb 8) |
| 1577 | |
Bram Moolenaar | aa3b15d | 2016-04-21 08:53:19 +0200 | [diff] [blame] | 1578 | Patch to add optionproperties(). (Anton Lindqvist, 2016 Mar 27, update Apr 13) |
Bram Moolenaar | 4f3f668 | 2016-03-26 23:01:59 +0100 | [diff] [blame] | 1579 | |
Bram Moolenaar | cbebd48 | 2016-02-07 23:02:56 +0100 | [diff] [blame] | 1580 | Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3) |
| 1581 | |
Bram Moolenaar | e0fa374 | 2016-02-20 15:47:01 +0100 | [diff] [blame] | 1582 | Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17) |
Bram Moolenaar | 38a5563 | 2016-02-15 22:07:32 +0100 | [diff] [blame] | 1583 | Only remembers one error. |
| 1584 | |
Bram Moolenaar | b477af2 | 2018-07-15 20:20:18 +0200 | [diff] [blame] | 1585 | GVim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab. |
Bram Moolenaar | 7d76c80 | 2014-10-15 22:51:52 +0200 | [diff] [blame] | 1586 | |
Bram Moolenaar | 12969c0 | 2015-09-08 23:36:10 +0200 | [diff] [blame] | 1587 | Unexpected delay when using CTRL-O u. It's not timeoutlen. |
| 1588 | (Gary Johnson, 2015 Aug 28) |
Bram Moolenaar | 88774fd | 2015-08-25 19:52:04 +0200 | [diff] [blame] | 1589 | |
Bram Moolenaar | 345efa0 | 2016-01-15 20:57:49 +0100 | [diff] [blame] | 1590 | Instead of separately uploading patches to the ftp site, we can get them from |
| 1591 | github with a URL like this: |
Bram Moolenaar | e392eb4 | 2015-11-19 20:38:09 +0100 | [diff] [blame] | 1592 | https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff |
Bram Moolenaar | fa73534 | 2016-01-03 22:14:44 +0100 | [diff] [blame] | 1593 | Diff for version.c contains more context, can't skip a patch. |
Bram Moolenaar | 298b440 | 2016-01-28 22:38:53 +0100 | [diff] [blame] | 1594 | |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 1595 | Python: ":py raw_input('prompt')" doesn't work. (Manu Hack) |
Bram Moolenaar | 7cba6c0 | 2013-09-05 22:13:31 +0200 | [diff] [blame] | 1596 | |
Bram Moolenaar | 77cdfd1 | 2016-03-12 12:57:59 +0100 | [diff] [blame] | 1597 | Comparing nested structures with "==" uses a different comparator than when |
Bram Moolenaar | 298b440 | 2016-01-28 22:38:53 +0100 | [diff] [blame] | 1598 | comparing individual items. |
Bram Moolenaar | 298b440 | 2016-01-28 22:38:53 +0100 | [diff] [blame] | 1599 | |
Bram Moolenaar | b4ff518 | 2015-11-10 21:15:48 +0100 | [diff] [blame] | 1600 | Using uninitialized memory. (Dominique Pelle, 2015 Nov 4) |
| 1601 | |
Bram Moolenaar | c229967 | 2014-11-13 14:25:38 +0100 | [diff] [blame] | 1602 | MS-Windows: When editing a file with a leading space, writing it uses the |
| 1603 | wrong name. (Aram, 2014 Nov 7) Vim 7.4. |
| 1604 | |
Bram Moolenaar | 2b8388b | 2015-02-28 13:11:45 +0100 | [diff] [blame] | 1605 | Can't recognize the $ProgramFiles(x86) environment variable. Recognize it |
| 1606 | specifically? First try with the parens, then without. |
| 1607 | |
Bram Moolenaar | e0fa374 | 2016-02-20 15:47:01 +0100 | [diff] [blame] | 1608 | Patch to add :mapgroup, put mappings in a group like augroup. |
| 1609 | (Yasuhiro Matsumoto, 2016 Feb 19) |
| 1610 | |
Bram Moolenaar | 822ff86 | 2014-06-12 21:46:14 +0200 | [diff] [blame] | 1611 | Value returned by virtcol() changes depending on how lines wrap. This is |
Bram Moolenaar | 34401cc | 2014-08-29 15:12:19 +0200 | [diff] [blame] | 1612 | inconsistent with the documentation. |
Bram Moolenaar | 822ff86 | 2014-06-12 21:46:14 +0200 | [diff] [blame] | 1613 | |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 1614 | Value of virtcol() for '[ and '] depend on multibyte character. |
Bram Moolenaar | 690afe1 | 2017-01-28 18:34:47 +0100 | [diff] [blame] | 1615 | (Luchr, #277) |
| 1616 | |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 1617 | Can we cache the syntax attributes, so that updates for 'relativenumber' and |
Bram Moolenaar | 6aa8cea | 2017-06-05 14:44:35 +0200 | [diff] [blame] | 1618 | 'cursorline'/'cursorcolumn' are a lot faster? Thus store the attributes |
| 1619 | before combining them. |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 1620 | |
Bram Moolenaar | 818078d | 2016-08-27 21:58:42 +0200 | [diff] [blame] | 1621 | C highlighting: modern C allows: /* comment */ #ifdef |
| 1622 | and also line continuation after #include. |
| 1623 | I can't recommend it though. |
| 1624 | |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 1625 | Build with Python on Mac does not always use the right library. |
| 1626 | (Kazunobu Kuriyama, 2015 Mar 28) |
| 1627 | |
Bram Moolenaar | e392eb4 | 2015-11-19 20:38:09 +0100 | [diff] [blame] | 1628 | To support Thai (and other languages) word boundaries, include the ICU |
| 1629 | library: http://userguide.icu-project.org/boundaryanalysis |
| 1630 | |
Bram Moolenaar | 2b8388b | 2015-02-28 13:11:45 +0100 | [diff] [blame] | 1631 | When complete() first argument is before where insert started and 'backspace' |
| 1632 | is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19) |
| 1633 | |
Bram Moolenaar | 5e9b2fa | 2016-02-01 22:37:05 +0100 | [diff] [blame] | 1634 | Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan |
| 1635 | 30) |
| 1636 | |
Bram Moolenaar | 75b8156 | 2014-04-06 14:09:13 +0200 | [diff] [blame] | 1637 | MS-Windows: Crash opening very long file name starting with "\\". |
| 1638 | (Christian Brock, 2012 Jun 29) |
| 1639 | |
Bram Moolenaar | 60cce2f | 2015-10-13 23:21:27 +0200 | [diff] [blame] | 1640 | The OptionSet autocommand event is not always triggered. (Rick Howe, 2015 Sep |
| 1641 | 24): :diffthis, :diffoff. |
Bram Moolenaar | 2b8388b | 2015-02-28 13:11:45 +0100 | [diff] [blame] | 1642 | |
Bram Moolenaar | 88774fd | 2015-08-25 19:52:04 +0200 | [diff] [blame] | 1643 | ":set all&" still does not handle all side effects. Centralize handling side |
| 1644 | effects for when set by the user, on init and when reset to default. |
| 1645 | |
Bram Moolenaar | 60cce2f | 2015-10-13 23:21:27 +0200 | [diff] [blame] | 1646 | ":tag" does not jump to the right entry of a :tselect. (James Speros, 2015 Oct |
| 1647 | 9) |
| 1648 | |
| 1649 | The argument for "-S" is not taken literally, the ":so" command expands |
| 1650 | wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4) |
| 1651 | |
Bram Moolenaar | fc39ecf | 2015-08-11 20:34:49 +0200 | [diff] [blame] | 1652 | Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5) |
Bram Moolenaar | 88774fd | 2015-08-25 19:52:04 +0200 | [diff] [blame] | 1653 | Update Aug 14. |
Bram Moolenaar | fc39ecf | 2015-08-11 20:34:49 +0200 | [diff] [blame] | 1654 | |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 1655 | When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet, |
| 1656 | the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21) |
| 1657 | |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 1658 | Example in editing.txt uses $HOME with the expectation that it ends in a |
Bram Moolenaar | 88774fd | 2015-08-25 19:52:04 +0200 | [diff] [blame] | 1659 | slash. For me it does, but perhaps not for everybody. Add a function that |
| 1660 | inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12) |
| 1661 | |
Bram Moolenaar | 91e15e1 | 2014-09-19 22:38:48 +0200 | [diff] [blame] | 1662 | ml_updatechunk() is slow when retrying for another encoding. (John Little, |
| 1663 | 2014 Sep 11) |
| 1664 | |
Bram Moolenaar | fc39ecf | 2015-08-11 20:34:49 +0200 | [diff] [blame] | 1665 | Patch to fix checking global option value when not using it. |
| 1666 | (Arnaud Decara, 2015 Jul 23) |
| 1667 | |
Bram Moolenaar | f913281 | 2015-07-21 19:19:13 +0200 | [diff] [blame] | 1668 | When 'showbreak' is set repeating a Visual operation counts the size of the |
| 1669 | 'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20) |
| 1670 | |
Bram Moolenaar | f913281 | 2015-07-21 19:19:13 +0200 | [diff] [blame] | 1671 | Patch to add grepfile(). (Scott Prager, 2015 May 26) |
| 1672 | Work in progress. |
| 1673 | |
Bram Moolenaar | 298b440 | 2016-01-28 22:38:53 +0100 | [diff] [blame] | 1674 | Would be useful to have a treemap() or deepmap() function. Like map() but |
| 1675 | when an item is a list or dict would recurse into it. |
| 1676 | |
Bram Moolenaar | fc39ecf | 2015-08-11 20:34:49 +0200 | [diff] [blame] | 1677 | Patch for global-local options consistency. (Arnaud Decara, 2015 Jul 22) |
| 1678 | Is this right? |
| 1679 | |
Bram Moolenaar | f913281 | 2015-07-21 19:19:13 +0200 | [diff] [blame] | 1680 | Patch to make getregtype() return the right size for non-linux systems. |
| 1681 | (Yasuhiro Matsumoto, 2014 Jul 8) |
| 1682 | Breaks test_eval. Inefficient, can we only compute y_width when needed? |
| 1683 | |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 1684 | Patch to use different terminal mode settings for system(). (Hayaki Saito) |
| 1685 | Does this work for everybody? |
Bram Moolenaar | e271909 | 2015-01-10 15:09:25 +0100 | [diff] [blame] | 1686 | |
Bram Moolenaar | e2db6c9 | 2015-06-19 18:48:41 +0200 | [diff] [blame] | 1687 | Patch for man.vim. (SungHyun Nam, 2015 May 20) |
| 1688 | Doesn't work completely (Dominique Orban) |
| 1689 | |
Bram Moolenaar | fc39ecf | 2015-08-11 20:34:49 +0200 | [diff] [blame] | 1690 | Patch to add a "literal" argument to bufnr(). (Olaf Dabrunz, 2015 Aug 4) |
| 1691 | |
Bram Moolenaar | 5837f1f | 2015-03-21 18:06:14 +0100 | [diff] [blame] | 1692 | When a session file is created and there are "nofile" buffers, these are not |
| 1693 | filled. Need to trigger BufReadCmd autocommands. Also handle deleting the |
| 1694 | initial empty buffer better. (ZyX, 2015 March 8) |
| 1695 | |
Bram Moolenaar | 8feef4f | 2015-01-07 16:57:10 +0100 | [diff] [blame] | 1696 | Extended file attributes lost on write (backupcopy=no). Issue 306. |
| 1697 | |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 1698 | Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25) |
| 1699 | OK to not block marks? |
| 1700 | |
Bram Moolenaar | e271909 | 2015-01-10 15:09:25 +0100 | [diff] [blame] | 1701 | Patch on Issue 72: 'autochdir' causes problems for :vimgrep. |
| 1702 | |
Bram Moolenaar | ca63501 | 2015-09-25 20:34:21 +0200 | [diff] [blame] | 1703 | When two SIGWINCH arrive very quickly, the second one may be lost. |
| 1704 | (Josh Triplett, 2015 Sep 17) |
| 1705 | |
Bram Moolenaar | 3a991dd | 2014-10-02 01:41:41 +0200 | [diff] [blame] | 1706 | Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24) |
Bram Moolenaar | 7cba6c0 | 2013-09-05 22:13:31 +0200 | [diff] [blame] | 1707 | |
Bram Moolenaar | ed32d94 | 2014-12-06 23:33:00 +0100 | [diff] [blame] | 1708 | Result of systemlist() does not show whether text ended in line break. |
| 1709 | (Bjorn Linse, 2014 Nov 27) |
| 1710 | |
Bram Moolenaar | 3a991dd | 2014-10-02 01:41:41 +0200 | [diff] [blame] | 1711 | When in 'comments' "n:x" follows after three-part comment directly it repeats |
| 1712 | any one-character from the previous line. (Kartik Agaram, 2014 Sep 19) |
| 1713 | |
| 1714 | Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21) |
Bram Moolenaar | 6e93246 | 2014-09-09 18:48:09 +0200 | [diff] [blame] | 1715 | |
Bram Moolenaar | 92dff18 | 2014-02-11 19:15:50 +0100 | [diff] [blame] | 1716 | Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19) |
Bram Moolenaar | 8d04317 | 2014-01-23 14:24:41 +0100 | [diff] [blame] | 1717 | |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 1718 | Patch: Let rare word highlighting overrule good word highlighting. |
| 1719 | (Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2) |
| 1720 | |
| 1721 | Patch to add digits argument to round(). (Yasuhiro Matsumoto, 2015 Apr 26) |
| 1722 | |
Bram Moolenaar | 32efaf6 | 2014-11-05 17:02:17 +0100 | [diff] [blame] | 1723 | Can assign to s:type when a function s:type has been defined. |
| 1724 | Also the other way around: define a function while a variable with that name |
| 1725 | was already defined. |
| 1726 | (Yasuhiro Matsumoto, 2014 Nov 3) |
| 1727 | |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 1728 | Patch for ordered dict. (Ozaki Kiichi, 2015 May 7) |
| 1729 | |
Bram Moolenaar | 91e15e1 | 2014-09-19 22:38:48 +0200 | [diff] [blame] | 1730 | Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12) |
Bram Moolenaar | e3faf44 | 2014-12-14 01:27:49 +0100 | [diff] [blame] | 1731 | Remark from Roland Eggner: does it cause crashes? (2014 Dec 12) |
Bram Moolenaar | 8feef4f | 2015-01-07 16:57:10 +0100 | [diff] [blame] | 1732 | Updated patch by Roland Eggner, Dec 16 |
Bram Moolenaar | e18dbe8 | 2016-07-02 21:42:23 +0200 | [diff] [blame] | 1733 | Updated patch from Charles, 2016 Jul 2 |
Bram Moolenaar | 8feef4f | 2015-01-07 16:57:10 +0100 | [diff] [blame] | 1734 | |
Bram Moolenaar | 7d76c80 | 2014-10-15 22:51:52 +0200 | [diff] [blame] | 1735 | Patch for building a 32bit Vim with 64bit MingW compiler. |
| 1736 | (Michael Soyka, 2014 Oct 15) |
| 1737 | |
Bram Moolenaar | 8a94d87 | 2015-01-25 13:02:57 +0100 | [diff] [blame] | 1738 | Patch: On MS-Windows shellescape() may have to triple double quotes. |
| 1739 | (Ingo Karkat, 2015 Jan 16) |
| 1740 | |
Bram Moolenaar | 8feef4f | 2015-01-07 16:57:10 +0100 | [diff] [blame] | 1741 | Patch for glob(), adding slash to normal files. (Ingo Karkat, 2014 Dec 22) |
| 1742 | |
Bram Moolenaar | a0f849e | 2015-10-30 14:37:44 +0100 | [diff] [blame] | 1743 | When entering and leaving the preview window autocommands are triggered, but |
| 1744 | these may not work well. Perhaps set a flag to indicate that the preview |
| 1745 | window is involved? (John Otter, 2015 Oct 27) |
| 1746 | |
Bram Moolenaar | 32efaf6 | 2014-11-05 17:02:17 +0100 | [diff] [blame] | 1747 | Using "." to repeat an Ex command puts that command in history. Probably |
| 1748 | should not happen. If the command is the result of a mapping it's not put in |
| 1749 | history either. (Jacob Niehus, 2014 Nov 2) |
| 1750 | Patch from Jacob, Nov 2. |
| 1751 | |
Bram Moolenaar | 822ff86 | 2014-06-12 21:46:14 +0200 | [diff] [blame] | 1752 | "hi link" does not respect groups with GUI settings only. (Mark Lodato, 2014 |
| 1753 | Jun 8) |
| 1754 | |
Bram Moolenaar | c229967 | 2014-11-13 14:25:38 +0100 | [diff] [blame] | 1755 | Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not |
| 1756 | insert a space. (Micha Mos, 2014 Nov 7) |
| 1757 | |
Bram Moolenaar | a687837 | 2014-03-22 21:02:50 +0100 | [diff] [blame] | 1758 | No error for missing endwhile. (ZyX, 2014 Mar 20) |
| 1759 | |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 1760 | Patch to make extend() fail early when it might fail at some point. |
| 1761 | (Olaf Dabrunz, 2015 May 2) Makes extend() slower, do we still want it? |
| 1762 | Perhaps only the checks that can be done without looping over the dict or |
| 1763 | arguments. |
| 1764 | |
Bram Moolenaar | e392eb4 | 2015-11-19 20:38:09 +0100 | [diff] [blame] | 1765 | Problem with transparent and matchgroup. Issue #475 |
| 1766 | |
Bram Moolenaar | 1360030 | 2014-05-22 18:26:40 +0200 | [diff] [blame] | 1767 | Idea: For a window in the middle (has window above and below it), use |
| 1768 | right-mouse-drag on the status line to move a window up/down without changing |
Bram Moolenaar | 34401cc | 2014-08-29 15:12:19 +0200 | [diff] [blame] | 1769 | its height? It's like dragging the status bar above it at the same time. |
Bram Moolenaar | e968e36 | 2014-05-13 20:23:24 +0200 | [diff] [blame] | 1770 | |
Bram Moolenaar | 32efaf6 | 2014-11-05 17:02:17 +0100 | [diff] [blame] | 1771 | Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21) |
| 1772 | |
Bram Moolenaar | a687837 | 2014-03-22 21:02:50 +0100 | [diff] [blame] | 1773 | This does not give an error: (Andre Sihera, 2014 Mar 21) |
| 1774 | vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1' |
| 1775 | This neither: (ZyX) |
| 1776 | vim -u NONE 1 2 3 -c 'bufdo while 1 | echo 1' |
| 1777 | |
Bram Moolenaar | 7e38ea2 | 2014-04-05 22:55:53 +0200 | [diff] [blame] | 1778 | 'viewdir' default on MS-Windows is not a good choice, it's a system directory. |
| 1779 | Change 'viewdir' to "$HOME/vimfiles/view" and use 'viewdiralt' to also read |
| 1780 | from? |
Bram Moolenaar | 3678208 | 2013-11-28 13:53:34 +0100 | [diff] [blame] | 1781 | |
Bram Moolenaar | 822ff86 | 2014-06-12 21:46:14 +0200 | [diff] [blame] | 1782 | Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman, |
| 1783 | 2014 Jun 8) |
| 1784 | |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 1785 | Include a plugin manager with Vim? vim-plug seems to be the best currently: |
| 1786 | https://github.com/junegunn/vim-plug. |
Bram Moolenaar | 13d5aee | 2016-01-21 23:36:05 +0100 | [diff] [blame] | 1787 | Also Vundle: https://github.com/gmarik/vundle |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 1788 | Or minpac: https://github.com/k-takata/minpac, since it leverages the builtin |
| 1789 | package feature. |
Bram Moolenaar | 76f3b1a | 2014-03-27 22:30:07 +0100 | [diff] [blame] | 1790 | Long message about this from ZyX, 2014 Mar 23. And following replies. |
| 1791 | Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html |
| 1792 | User view: |
Bram Moolenaar | 13d5aee | 2016-01-21 23:36:05 +0100 | [diff] [blame] | 1793 | - Support multiple sources, basically any http:// URL. Or a central place that |
| 1794 | will work for everybody (github? redirects from vim.org?). |
| 1795 | Be able to look into the files before deciding to install. |
Bram Moolenaar | 76f3b1a | 2014-03-27 22:30:07 +0100 | [diff] [blame] | 1796 | - Be able to try out a plugin and remove it again with (almost) no traces. |
| 1797 | - Each plugin needs a "manifest" file that has the version, dependencies |
| 1798 | (including Vim version and features), conflicts, list of files, etc. |
| 1799 | Updater uses that to decide what/how to update. |
| 1800 | Dependencies can use a URL for specific versions, or short name for scripts |
| 1801 | on vim.org. |
| 1802 | - Once a plugin is installed it remembers where it came from, updater checks |
| 1803 | there. Can manually update when really needed. |
| 1804 | - Must be possible to install for one user. Also system wide? |
| 1805 | - Can edit plugin config with Vim. Can temporarily disable a plugin. |
| 1806 | - Run the update manually, find latest version and install. |
| 1807 | - Be able to download without special tools, must work for 95% of users. |
| 1808 | Implementation: |
| 1809 | - Avoid the 'runtimepath' getting long. Need some other way to keep each |
| 1810 | plugin separate. |
| 1811 | - When installing or updating, first figure out what needs to be done. This |
| 1812 | may involve recursively fetching manifest files for dependencies. Then show |
| 1813 | the user what's going to change and ask for OK. |
| 1814 | - Scripts on Vim.org must be able to consist of several files. Is zip format |
| 1815 | sufficient? Upload the manifest? Or refer to a site that has the manifest? |
| 1816 | - Best is to fetch individual files or use a Vimball. Reduces dependency on |
| 1817 | tools that might be missing and allows inspection of the files before |
| 1818 | installing. |
| 1819 | Out of scope: |
| 1820 | - Overview of plugins, ratings, comments, etc. That's another world. |
| 1821 | - Development work on plugins (although diff with distributed version would be |
| 1822 | useful). |
| 1823 | |
Bram Moolenaar | 7e38ea2 | 2014-04-05 22:55:53 +0200 | [diff] [blame] | 1824 | Setting the spell file in a session only reads the local additions, not the |
| 1825 | normal spell file. (Enno Nagel, 2014 Mar 29) |
Bram Moolenaar | 8d04317 | 2014-01-23 14:24:41 +0100 | [diff] [blame] | 1826 | |
Bram Moolenaar | bcb9898 | 2014-05-01 14:08:19 +0200 | [diff] [blame] | 1827 | When typing the first character of a command, e.g. "f", then using a menu, the |
| 1828 | menu item doesn't work. Clear typeahead when using a menu? |
| 1829 | |
Bram Moolenaar | 7e38ea2 | 2014-04-05 22:55:53 +0200 | [diff] [blame] | 1830 | Editing an ascii file as ucs-2 or ucs-4 causes display errors. |
| 1831 | (ZyX, 2014 Mar 30) |
| 1832 | |
| 1833 | ":Next 1 some-arg" does not complain about trailing argument. Also for |
| 1834 | various other commands. (ZyX, 2014 Mar 30) |
Bram Moolenaar | 8d04317 | 2014-01-23 14:24:41 +0100 | [diff] [blame] | 1835 | |
Bram Moolenaar | 0a63ded | 2015-04-15 13:31:24 +0200 | [diff] [blame] | 1836 | Patch to skip sort if no line matches the expression. |
Bram Moolenaar | 8bb1c3e | 2014-07-04 16:43:17 +0200 | [diff] [blame] | 1837 | (Christian Brabandt, 2014 Jun 25) |
| 1838 | |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 1839 | VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow |
| 1840 | instead. (Samuel Ferencik, 2013 Sep 28) |
| 1841 | |
Bram Moolenaar | 0858917 | 2014-03-08 18:38:28 +0100 | [diff] [blame] | 1842 | Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4) |
Bram Moolenaar | 822ff86 | 2014-06-12 21:46:14 +0200 | [diff] [blame] | 1843 | Remark on the docs. Should not be a compile time feature. But then what? |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 1844 | Also see #2034. |
Bram Moolenaar | 0858917 | 2014-03-08 18:38:28 +0100 | [diff] [blame] | 1845 | |
Bram Moolenaar | 34401cc | 2014-08-29 15:12:19 +0200 | [diff] [blame] | 1846 | Completion of ":e" is ":earlier", should be ":edit". Complete to the matching |
Bram Moolenaar | 822ff86 | 2014-06-12 21:46:14 +0200 | [diff] [blame] | 1847 | command instead of doing this alphabetically. (Mikel Jorgensen) |
Bram Moolenaar | 438f67a | 2014-01-07 06:09:28 +0100 | [diff] [blame] | 1848 | |
Bram Moolenaar | 4b550b4 | 2013-12-15 10:02:33 +0100 | [diff] [blame] | 1849 | Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14) |
| 1850 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 1851 | Several syntax file match "^\s*" which may get underlined if that's in the |
| 1852 | highlight group. Add a "\zs" after it? |
Bram Moolenaar | 34feacb | 2012-12-05 19:01:43 +0100 | [diff] [blame] | 1853 | |
Bram Moolenaar | 5a5f459 | 2015-04-13 12:43:06 +0200 | [diff] [blame] | 1854 | The undo file name can get too long. (Issue 346) |
| 1855 | For the path use a hash instead of dir%dir%dir%name hash%name. |
| 1856 | |
Bram Moolenaar | a687837 | 2014-03-22 21:02:50 +0100 | [diff] [blame] | 1857 | Patch to add ":undorecover", get as much text out of the undo file as |
Bram Moolenaar | 7b61a54 | 2014-08-23 15:31:19 +0200 | [diff] [blame] | 1858 | possible. (Christian Brabandt, 2014 Mar 12, update Aug 22) |
Bram Moolenaar | a687837 | 2014-03-22 21:02:50 +0100 | [diff] [blame] | 1859 | |
Bram Moolenaar | d5d015d | 2013-11-03 21:14:31 +0100 | [diff] [blame] | 1860 | Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16) |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 1861 | |
Bram Moolenaar | 4b550b4 | 2013-12-15 10:02:33 +0100 | [diff] [blame] | 1862 | Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12) |
| 1863 | |
Bram Moolenaar | 3678208 | 2013-11-28 13:53:34 +0100 | [diff] [blame] | 1864 | 7 Windows XP: When using "ClearType" for text smoothing, a column of yellow |
| 1865 | pixels remains when typing spaces in front of a "D" ('guifont' set to |
| 1866 | "lucida_console:h8"). |
| 1867 | Patch by Thomas Tuegel, also for GTK, 2013 Nov 24 |
| 1868 | |
Bram Moolenaar | 7cba6c0 | 2013-09-05 22:13:31 +0200 | [diff] [blame] | 1869 | :help gives example for z?, but it does not work. m? and t? do work. |
| 1870 | |
Bram Moolenaar | 8e5af3e | 2011-04-28 19:02:44 +0200 | [diff] [blame] | 1871 | Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10) |
| 1872 | |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 1873 | Checking runtime scripts: Thilo Six, 2012 Jun 6. |
| 1874 | |
Bram Moolenaar | 4b550b4 | 2013-12-15 10:02:33 +0100 | [diff] [blame] | 1875 | When evaluating expression in backticks, autoload doesn't work. |
| 1876 | (Andy Wokula, 2013 Dec 14) |
| 1877 | |
| 1878 | Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013 |
Bram Moolenaar | 259f26a | 2018-05-15 22:25:40 +0200 | [diff] [blame] | 1879 | Dec 13. Only helps a bit, 10000ii<Esc> is still too slow. |
Bram Moolenaar | 4b550b4 | 2013-12-15 10:02:33 +0100 | [diff] [blame] | 1880 | |
Bram Moolenaar | 97cc238 | 2012-10-03 21:46:54 +0200 | [diff] [blame] | 1881 | GTK: problem with 'L' in 'guioptions' changing the window width. |
| 1882 | (Aaron Cornelius, 2012 Feb 6) |
| 1883 | |
Bram Moolenaar | 3678208 | 2013-11-28 13:53:34 +0100 | [diff] [blame] | 1884 | Patch to add option that tells whether small deletes go into the numbered |
| 1885 | registers. (Aryeh Leib Taurog, 2013 Nov 18) |
| 1886 | |
Bram Moolenaar | 1aeaf8c | 2012-05-18 13:46:39 +0200 | [diff] [blame] | 1887 | Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3. |
| 1888 | |
Bram Moolenaar | e2db695 | 2013-07-24 19:53:36 +0200 | [diff] [blame] | 1889 | The BufUnload event is triggered when re-using the empty buffer. |
| 1890 | (Pokey Rule, 2013 Jul 22) |
| 1891 | Patch by Marcin Szamotulski, 2013 Jul 22. |
| 1892 | |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 1893 | The CompleteDone autocommand needs some info passed to it: |
| 1894 | - The word that was selected (empty if abandoned complete) |
| 1895 | - Type of completion: tag, omnifunc, user func. |
| 1896 | |
Bram Moolenaar | 8d04317 | 2014-01-23 14:24:41 +0100 | [diff] [blame] | 1897 | Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5) |
| 1898 | Doesn't work for string in list. Other way to pass all types of variables |
| 1899 | reliably? |
| 1900 | |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 1901 | Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}. |
| 1902 | (Christian Brabandt, 2013 Dec 9) |
| 1903 | |
Bram Moolenaar | 3678208 | 2013-11-28 13:53:34 +0100 | [diff] [blame] | 1904 | Exception caused by argument of return is not caught by try/catch. |
| 1905 | (David Barnett, 2013 Nov 19) |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 1906 | Bug in try/catch: return with invalid compare throws error that isn't caught. |
| 1907 | (ZyX, 2011 Jan 26) |
| 1908 | try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15) |
| 1909 | try/catch not working when inside a for loop. (ZyX, 2011 Jan 25) |
Bram Moolenaar | 3678208 | 2013-11-28 13:53:34 +0100 | [diff] [blame] | 1910 | |
Bram Moolenaar | bf88493 | 2013-04-05 22:26:15 +0200 | [diff] [blame] | 1911 | Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt, |
| 1912 | 2013 Mar 19, later message) |
Bram Moolenaar | 26402cb | 2013-02-20 21:26:00 +0100 | [diff] [blame] | 1913 | |
| 1914 | Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15) |
| 1915 | |
Bram Moolenaar | 531da59 | 2013-05-06 05:58:55 +0200 | [diff] [blame] | 1916 | Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May |
| 1917 | 5) |
| 1918 | |
Bram Moolenaar | 56b45b9 | 2013-06-24 22:22:18 +0200 | [diff] [blame] | 1919 | Patch to add "Q" and "A" responses to interactive :substitute. They are |
| 1920 | carried over when using :global. (Christian Brabandt, 2013 Jun 19) |
| 1921 | |
Bram Moolenaar | 203d04d | 2013-06-06 21:36:40 +0200 | [diff] [blame] | 1922 | Bug with 'cursorline' in diff mode. Line being scrolled into view gets |
| 1923 | highlighted as the cursor line. (Alessandro Ivaldi, 2013 Jun 4) |
| 1924 | |
Bram Moolenaar | 4b60a6c | 2013-11-14 05:48:46 +0100 | [diff] [blame] | 1925 | Two highlighting bugs. (ZyX, 2013 Aug 18) |
Bram Moolenaar | 7cba6c0 | 2013-09-05 22:13:31 +0200 | [diff] [blame] | 1926 | |
Bram Moolenaar | 97cc238 | 2012-10-03 21:46:54 +0200 | [diff] [blame] | 1927 | Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep |
Bram Moolenaar | 3a0d809 | 2012-10-21 03:02:54 +0200 | [diff] [blame] | 1928 | 28) With tests: Oct 9. |
Bram Moolenaar | 97cc238 | 2012-10-03 21:46:54 +0200 | [diff] [blame] | 1929 | |
Bram Moolenaar | 7cba6c0 | 2013-09-05 22:13:31 +0200 | [diff] [blame] | 1930 | Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2) |
| 1931 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 1932 | Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec) |
| 1933 | |
Bram Moolenaar | ff03419 | 2013-04-24 18:51:19 +0200 | [diff] [blame] | 1934 | - Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine |
| 1935 | the two into a regex for searching. (Ned Konz) |
| 1936 | Patch by Christian Brabandt, 2013 Apr 20, unfinished. |
Bram Moolenaar | 97cc238 | 2012-10-03 21:46:54 +0200 | [diff] [blame] | 1937 | |
Bram Moolenaar | 9ba7e17 | 2013-07-17 22:37:26 +0200 | [diff] [blame] | 1938 | Bug: findfile("any", "file:///tmp;") does not work. |
Bram Moolenaar | ff03419 | 2013-04-24 18:51:19 +0200 | [diff] [blame] | 1939 | |
Bram Moolenaar | 3a0d809 | 2012-10-21 03:02:54 +0200 | [diff] [blame] | 1940 | In the ATTENTION message about an existing swap file, mention the name of the |
| 1941 | process that is running. It might actually be some other program, e.g. after |
| 1942 | a reboot. |
| 1943 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 1944 | patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6) |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 1945 | Patch to add "combine" to :syntax, combines highlight attributes. (Nate |
| 1946 | Soares, 2012 Dec 3) |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 1947 | |
Bram Moolenaar | 84f7235 | 2012-03-11 15:57:40 +0100 | [diff] [blame] | 1948 | Syntax update problem in one buffer opened in two windows, bottom window is |
| 1949 | not correctly updated. (Paul Harris, 2012 Feb 27) |
Bram Moolenaar | f1568ec | 2011-12-14 21:17:39 +0100 | [diff] [blame] | 1950 | |
Bram Moolenaar | 1514667 | 2011-10-20 22:22:38 +0200 | [diff] [blame] | 1951 | Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4. |
| 1952 | Or use expand('<sid>')? |
| 1953 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 1954 | Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9) |
| 1955 | |
Bram Moolenaar | ac7bd63 | 2013-03-19 11:35:58 +0100 | [diff] [blame] | 1956 | Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17) |
| 1957 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 1958 | b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan |
| 1959 | 7) |
| 1960 | |
Bram Moolenaar | 14b6945 | 2013-06-29 23:05:20 +0200 | [diff] [blame] | 1961 | Win32: The Python interface only works with one version of Python, selected at |
| 1962 | compile time. Can this be made to work with version 2.1 and 2.2 dynamically? |
| 1963 | |
| 1964 | Python: Be able to define a Python function that can be called directly from |
| 1965 | Vim script. Requires converting the arguments and return value, like with |
| 1966 | vim.bindeval(). |
| 1967 | |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 1968 | Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers, |
| 1969 | 2012 Aug 4) |
| 1970 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 1971 | Patch to improve equivalence classes in regexp patterns. |
| 1972 | (Christian Brabandt, 2013 Jan 16, update Jan 17) |
| 1973 | |
Bram Moolenaar | 97d6249 | 2012-11-15 21:28:22 +0100 | [diff] [blame] | 1974 | Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24) |
| 1975 | But use Gnome instead of GTK? |
| 1976 | |
| 1977 | Should be possible to enable/disable matchparen per window or buffer. |
| 1978 | Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin |
| 1979 | Szamotulski, 2012 Nov 8) |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 1980 | |
Bram Moolenaar | 9ba7e17 | 2013-07-17 22:37:26 +0200 | [diff] [blame] | 1981 | Session file creation: 'autochdir' causes trouble. Keep it off until after |
| 1982 | loading all files. |
| 1983 | |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 1984 | 'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23) |
Bram Moolenaar | c873442 | 2012-06-01 22:38:45 +0200 | [diff] [blame] | 1985 | |
Bram Moolenaar | ad3b366 | 2013-05-17 18:14:19 +0200 | [diff] [blame] | 1986 | Patch to append regexp to tag commands to make it possible to select one out |
Bram Moolenaar | bf88493 | 2013-04-05 22:26:15 +0200 | [diff] [blame] | 1987 | of many matches. (Cody Cutler, 2013 Mar 28) |
| 1988 | |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 1989 | The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O. |
| 1990 | Suggestion for another map. (Philip Mat, 2012 Jun 18) |
| 1991 | But use "gi" instead of "a". Or use CTRL-\ CTRL-O. |
Bram Moolenaar | c873442 | 2012-06-01 22:38:45 +0200 | [diff] [blame] | 1992 | |
Bram Moolenaar | 97d6249 | 2012-11-15 21:28:22 +0100 | [diff] [blame] | 1993 | When there are no command line arguments ":next" and ":argu" give E163, which |
| 1994 | is confusing. Should say "the argument list is empty". |
| 1995 | |
Bram Moolenaar | b8ff1fb | 2012-02-04 21:59:01 +0100 | [diff] [blame] | 1996 | URXVT: |
Bram Moolenaar | 34feacb | 2012-12-05 19:01:43 +0100 | [diff] [blame] | 1997 | - will get stuck if byte sequence does not contain the expected semicolon. |
Bram Moolenaar | b8ff1fb | 2012-02-04 21:59:01 +0100 | [diff] [blame] | 1998 | - Use urxvt mouse support also in xterm. Explanations: |
| 1999 | http://www.midnight-commander.org/ticket/2662 |
| 2000 | |
Bram Moolenaar | 7d76c80 | 2014-10-15 22:51:52 +0200 | [diff] [blame] | 2001 | Patch to have the fold and sign column and at the last line of the buffer. |
| 2002 | (Marco Hinz, 2014 Sep 25) |
| 2003 | Alternate suggestion: let all columns continue, also the number column. |
| 2004 | |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 2005 | Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns) |
Bram Moolenaar | 6c35bea | 2012-07-25 17:49:10 +0200 | [diff] [blame] | 2006 | New tests Jul 13. Update Jul 17. Discussion Jul 18. |
Bram Moolenaar | c873442 | 2012-06-01 22:38:45 +0200 | [diff] [blame] | 2007 | |
Bram Moolenaar | b8ff1fb | 2012-02-04 21:59:01 +0100 | [diff] [blame] | 2008 | When running Vim in silent ex mode, an existing swapfile causes Vim to wait |
| 2009 | for a user action without a prompt. (Maarten Billemont, 2012 Feb 3) |
| 2010 | Do give the prompt? Quit with an error? |
Bram Moolenaar | f1568ec | 2011-12-14 21:17:39 +0100 | [diff] [blame] | 2011 | |
Bram Moolenaar | d38b055 | 2012-04-25 19:07:41 +0200 | [diff] [blame] | 2012 | Patch for input method status. (Hirohito Higashi, 2012 Apr 18) |
| 2013 | |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 2014 | Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6) |
| 2015 | |
Bram Moolenaar | ff03419 | 2013-04-24 18:51:19 +0200 | [diff] [blame] | 2016 | Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013 |
| 2017 | Apr 18) |
| 2018 | |
Bram Moolenaar | 1514667 | 2011-10-20 22:22:38 +0200 | [diff] [blame] | 2019 | Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27) |
| 2020 | And one for gui_x11.txt. |
| 2021 | |
Bram Moolenaar | 5dc6252 | 2012-02-13 00:05:22 +0100 | [diff] [blame] | 2022 | ":cd" doesn't work when current directory path contains "**". |
| 2023 | finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10) |
| 2024 | Requires a rewrite of the file_file_in_path code. |
| 2025 | |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 2026 | Should use has("browsefilter") in ftplugins. Requires patch 7.3.593. |
| 2027 | |
Bram Moolenaar | 34700a6 | 2013-03-07 13:20:54 +0100 | [diff] [blame] | 2028 | Update for vim2html.pl. (Tyru, 2013 Feb 22) |
| 2029 | |
Bram Moolenaar | 1514667 | 2011-10-20 22:22:38 +0200 | [diff] [blame] | 2030 | Patch to sort functions starting with '<' after others. Omit dict functions, |
| 2031 | they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11) |
| 2032 | |
Bram Moolenaar | 5dc6252 | 2012-02-13 00:05:22 +0100 | [diff] [blame] | 2033 | Patch to pass list to or(), and() and xor(). (Yasuhiro Matsumoto, 2012 Feb 8) |
| 2034 | |
Bram Moolenaar | f1568ec | 2011-12-14 21:17:39 +0100 | [diff] [blame] | 2035 | Patch to improve "it" and "at" text object matching. (Christian Brabandt, 2011 |
| 2036 | Nov 20) |
| 2037 | |
Bram Moolenaar | c873442 | 2012-06-01 22:38:45 +0200 | [diff] [blame] | 2038 | Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26) |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 2039 | Update Jun 2. |
Bram Moolenaar | c873442 | 2012-06-01 22:38:45 +0200 | [diff] [blame] | 2040 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 2041 | `] moves to character after insert, instead of the last inserted character. |
Bram Moolenaar | f1568ec | 2011-12-14 21:17:39 +0100 | [diff] [blame] | 2042 | (Yukihiro Nakadaira, 2011 Dec 9) |
| 2043 | |
| 2044 | Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29) |
| 2045 | |
Bram Moolenaar | db7207e | 2012-02-22 17:30:19 +0100 | [diff] [blame] | 2046 | BufWinLeave triggers too late when quitting last window in a tab page. (Lech |
| 2047 | Lorens, 2012 Feb 21) |
| 2048 | |
Bram Moolenaar | f1568ec | 2011-12-14 21:17:39 +0100 | [diff] [blame] | 2049 | Patch for 'transparency' option. (Sergiu Dotenco, 2011 Sep 17) |
| 2050 | Only for MS-Windows. No documentation. Do we want this? |
| 2051 | |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 2052 | Patch to support cursor shape in Cygwin console. (Ben bgold, 2011 Dec 27) |
| 2053 | |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 2054 | On MS-Windows a temp dir with a & init causes system() to fail. (Ben Fritz, |
| 2055 | 2012 Jun 19) |
| 2056 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2057 | 'cursorline' is displayed too short when there are concealed characters and |
| 2058 | 'list' is set. (Dennis Preiser) |
| 2059 | Patch 7.3.116 was the wrong solution. |
Bram Moolenaar | 9729301 | 2011-07-18 19:40:27 +0200 | [diff] [blame] | 2060 | Christian Brabandt has another incomplete patch. (2011 Jul 13) |
Bram Moolenaar | 5b435d6 | 2012-04-05 17:33:26 +0200 | [diff] [blame] | 2061 | |
Bram Moolenaar | 251e191 | 2011-06-19 05:09:16 +0200 | [diff] [blame] | 2062 | With concealed text mouse click doesn't put the cursor in the right position. |
| 2063 | (Herb Sitz) Fix by Christian Brabandt, 2011 Jun 16. Doesn't work properly, |
| 2064 | need to make the change in where RET_WIN_BUF_CHARTABSIZE() is called. |
| 2065 | |
| 2066 | Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2, |
| 2067 | only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug |
| 2068 | 21, Ben Fritz, 2010 Sep 14) |
| 2069 | |
Bram Moolenaar | f1568ec | 2011-12-14 21:17:39 +0100 | [diff] [blame] | 2070 | Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17) |
| 2071 | New feature, requires testing. Made some remarks. |
| 2072 | |
| 2073 | Win32: Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011 |
| 2074 | Sep 17) Asked for feedback from others. |
| 2075 | |
Bram Moolenaar | 6be7f87 | 2012-01-20 21:08:56 +0100 | [diff] [blame] | 2076 | Win32: Cannot cd into a directory that starts with a space. (Andy Wokula, 2012 |
| 2077 | Jan 19) |
| 2078 | |
Bram Moolenaar | fa73534 | 2016-01-03 22:14:44 +0100 | [diff] [blame] | 2079 | Need to escape $HOME on Windows for fnameescape()? (ZyX, 2011 Jul 21, |
| 2080 | discussion 2013 Jul 4) Can't simply use a backslash, \$HOME has a different |
| 2081 | meaning already. Would be possible to use $$HOME where $HOME is to be used. |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2082 | |
Bram Moolenaar | bc488a7 | 2013-07-05 21:01:22 +0200 | [diff] [blame] | 2083 | "2" in 'formatoptions' not working in comments. (Christian Corneliussen, 2011 |
Bram Moolenaar | f1568ec | 2011-12-14 21:17:39 +0100 | [diff] [blame] | 2084 | Oct 26) |
| 2085 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2086 | Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20) |
| 2087 | |
Bram Moolenaar | 5302d9e | 2011-09-14 17:55:08 +0200 | [diff] [blame] | 2088 | With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty |
| 2089 | register. (Michael Seiwald, 2011 Jun 28) I can't reproduce it. |
Bram Moolenaar | 251e191 | 2011-06-19 05:09:16 +0200 | [diff] [blame] | 2090 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2091 | Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26) |
| 2092 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2093 | When using a Vim server, a # in the path causes an error message. |
| 2094 | (Jeff Lanzarotta, 2011 Feb 17) |
| 2095 | |
Bram Moolenaar | 84f7235 | 2012-03-11 15:57:40 +0100 | [diff] [blame] | 2096 | When there is a ">" in a line that "gq" wraps to the start of the next line, |
| 2097 | then the following line will pick it up as a leader. Should get the leader |
| 2098 | from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27) |
| 2099 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2100 | Using ":break" or something else that stops executing commands inside a |
| 2101 | ":finally" does not rethrow a previously uncaught exception. (ZyX, 2010 Oct |
| 2102 | 15) |
| 2103 | |
| 2104 | Vim using lots of memory when joining lines. (John Little, 2010 Dec 3) |
| 2105 | |
Bram Moolenaar | ec7944a | 2013-06-12 21:29:15 +0200 | [diff] [blame] | 2106 | BT regexp engine: After trying a \@> match and failing, submatches are not |
| 2107 | cleared. See test64. |
| 2108 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2109 | On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a |
| 2110 | 64 bits value. Change all number options to use nropt_T and define it to the |
| 2111 | right type. |
| 2112 | |
| 2113 | string() can't parse back "inf" and "nan". Fix documentation or fix code? |
| 2114 | (ZyX, 2010 Aug 23) |
| 2115 | |
| 2116 | When doing "redir => s:foo" in a script and then "redir END" somewhere else |
| 2117 | (e.g. in a function) it can't find s:foo. |
Bram Moolenaar | 9ba7e17 | 2013-07-17 22:37:26 +0200 | [diff] [blame] | 2118 | When a script contains "redir => s:foo" but doesn't end redirection, a |
| 2119 | following "redir" command gives an error for not being able to access s:foo. |
| 2120 | (ZyX, 2011 Mar 27) |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2121 | |
Bram Moolenaar | d960d76 | 2011-09-21 19:22:10 +0200 | [diff] [blame] | 2122 | When setqflist() uses a filename that triggers a BufReadCmd autocommand Vim |
| 2123 | doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18) |
| 2124 | |
Bram Moolenaar | 3678208 | 2013-11-28 13:53:34 +0100 | [diff] [blame] | 2125 | Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19) |
| 2126 | |
Bram Moolenaar | 9729301 | 2011-07-18 19:40:27 +0200 | [diff] [blame] | 2127 | When setting a local option value from the global value, add a script ID that |
| 2128 | indicates this, so that ":verbose set" can give a hint. Check with options in |
| 2129 | the help file. |
| 2130 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2131 | After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18) |
| 2132 | Also for another example (ZyX, 2011 Jan 24) |
| 2133 | |
| 2134 | Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24) |
| 2135 | |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 2136 | "0g@$" puts '] on last byte of multibyte. (ZyX, 2011 Jan 22) |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2137 | |
Bram Moolenaar | b8ff1fb | 2012-02-04 21:59:01 +0100 | [diff] [blame] | 2138 | Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30) |
| 2139 | |
Bram Moolenaar | e2db695 | 2013-07-24 19:53:36 +0200 | [diff] [blame] | 2140 | Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27) |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2141 | |
| 2142 | Loading autoload script even when usage is inside "if 0". (Christian Brabandt, |
| 2143 | 2010 Dec 18) |
| 2144 | |
Bram Moolenaar | 251e191 | 2011-06-19 05:09:16 +0200 | [diff] [blame] | 2145 | With a filler line in diff mode, it isn't displayed in the column with line |
| 2146 | number, but it is in the sign column. Doesn't look right. (ZyX 2011 Jun 5) |
| 2147 | Patch by Christian Brabandt, 2011 Jun 5. Introduces new problems. |
| 2148 | |
Bram Moolenaar | 7cba6c0 | 2013-09-05 22:13:31 +0200 | [diff] [blame] | 2149 | Add jump() function. (Marcin Szamotulski, 2013 Aug 29) |
| 2150 | Is this needed? CTRL-O and CTRL-I do the same, just more difficult to use. |
| 2151 | |
Bram Moolenaar | 5302d9e | 2011-09-14 17:55:08 +0200 | [diff] [blame] | 2152 | 8 Add a command to jump to the next character highlighted with "Error". |
| 2153 | Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9. |
| 2154 | |
Bram Moolenaar | 32efaf6 | 2014-11-05 17:02:17 +0100 | [diff] [blame] | 2155 | Add event for when the text scrolls. A bit like CursorMoved. Also a similar |
| 2156 | one for insert mode. Use the event in matchparen to update the highlight if |
| 2157 | the match scrolls into view. |
| 2158 | |
Bram Moolenaar | 5302d9e | 2011-09-14 17:55:08 +0200 | [diff] [blame] | 2159 | 7 Use "++--", "+++--" for different levels instead of "+---" "+----". |
| 2160 | Patch by Christian Brabandt, 2011 Jul 27. |
| 2161 | Update by Ben Fritz, with fix for TOhtml. (2011 Jul 30) |
| 2162 | |
| 2163 | 9 Add %F to 'errorformat': file name without spaces. Useful on Unix to |
| 2164 | avoid matching something up to a time 11:22:33. |
| 2165 | Patch by Christian Brabandt, 2011 Jul 27. |
| 2166 | |
Bram Moolenaar | 5302d9e | 2011-09-14 17:55:08 +0200 | [diff] [blame] | 2167 | Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22) |
| 2168 | Also add named groups: \%{name}(re) and \%{name}g |
| 2169 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2170 | In the sandbox it's not allowed to do many things, but it's possible to change |
| 2171 | or set variables. Add a way to prevent variables from being changed in the |
| 2172 | sandbox? E.g.: ":protect g:restore_settings". |
| 2173 | |
| 2174 | GTK: drawing a double-width combining character over single-width characters |
| 2175 | doesn't look right. (Dominique Pelle, 2010 Aug 8) |
| 2176 | |
| 2177 | GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25) |
| 2178 | |
| 2179 | Win32: tear-off menu does not work when menu language is German. (Markus |
| 2180 | Bossler, 2011 Mar 2) Fixed by 7.3.095? |
| 2181 | |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 2182 | Wish for NetBeans commands: |
| 2183 | - make it possible to have 'defineAnnoType' also handle terminal colors. |
| 2184 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2185 | Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18) |
| 2186 | |
| 2187 | 7.3.014 changed how backslash at end of line works, but still get a NUL when |
| 2188 | there is one backslash. (Ray Frush, 2010 Nov 18) What does the original ex |
| 2189 | do? |
| 2190 | |
Bram Moolenaar | adc2182 | 2011-04-01 18:03:16 +0200 | [diff] [blame] | 2191 | Searching mixed with Visual mode doesn't redraw properly. (James Vega, 2010 Nov |
| 2192 | 22) |
| 2193 | |
Bram Moolenaar | d58e929 | 2011-02-09 17:07:58 +0100 | [diff] [blame] | 2194 | New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30) |
| 2195 | - move compflags to separate growarray? |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 2196 | - instead of a regexp use a hashtable. Expand '?', '*', '+'. What would be |
Bram Moolenaar | d58e929 | 2011-02-09 17:07:58 +0100 | [diff] [blame] | 2197 | the maximum repeat for * and +? |
| 2198 | |
Bram Moolenaar | 662db67 | 2011-03-22 14:05:35 +0100 | [diff] [blame] | 2199 | "L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle, |
| 2200 | 2011 Feb 27) |
| 2201 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2202 | Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the |
| 2203 | ^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer? |
| 2204 | |
Bram Moolenaar | d58e929 | 2011-02-09 17:07:58 +0100 | [diff] [blame] | 2205 | When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't |
| 2206 | exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan |
| 2207 | 9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c. |
| 2208 | |
| 2209 | g` not working correctly when using :edit. It works OK when editing a file on |
| 2210 | the command line. (Ingo Karkat, 2011 Jan 25) |
| 2211 | |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 2212 | Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim |
| 2213 | crash? (Raiwil, 2010 Nov 17) |
| 2214 | |
Bram Moolenaar | 9ba7e17 | 2013-07-17 22:37:26 +0200 | [diff] [blame] | 2215 | Patch to add FoldedLineNr highlighting: different highlighting for the line |
| 2216 | number of a closed fold. (eXerigumo Clanjor, 2013 Jul 15) |
| 2217 | |
Bram Moolenaar | ec7944a | 2013-06-12 21:29:15 +0200 | [diff] [blame] | 2218 | Regexp engine performance: |
| 2219 | - Profiling: |
| 2220 | ./vim -u NONE -s ~/vim/test/ruby.vim |
| 2221 | ./vim -u NONE -s ~/vim/test/loop.vim |
| 2222 | ./vim -u NONE -s ~/vim/test/alsa.vim |
| 2223 | ./vim -s ~/vim/test/todo.vim |
| 2224 | ./vim -s ~/vim/test/xml.vim |
| 2225 | Dominique Pelle: xmlSyncDT is particularly slow (Jun 7) |
| 2226 | - More test files from the src/pkg/regexp/testdata directory in the Go repo. |
| 2227 | - Performance tests: |
| 2228 | - Using asciidoc syntax. (Marek Schimara, 2013 Jun 6) |
| 2229 | - ~/vim/text/FeiqCfg.xml (file from Netjune) |
| 2230 | - ~/vim/text/edl.svg (also XML) |
| 2231 | - glts has five tests. (May 25) |
| 2232 | - ~/vim/test/slowsearch |
| 2233 | - ~/vim/test/rgb.vim |
| 2234 | - search for a.*e*exn in the vim executable. Go to last line to use |
| 2235 | 'hlsearch'. |
| 2236 | - Slow combination of folding and PHP syntax highlighting. Script to |
| 2237 | reproduce it. Caused by "syntax sync fromstart" in combination with patch |
| 2238 | 7.2.274. (Christian Brabandt, 2010 May 27) Generally, folding with |
| 2239 | 'foldmethod' set to "syntax" is slow. Do profiling to find out why. |
| 2240 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2241 | Problem producing tags file when hebrew.frx is present. It has a BOM. |
| 2242 | Results in E670. (Tony Mechelynck, 2010 May 2) |
| 2243 | |
Bram Moolenaar | 1514667 | 2011-10-20 22:22:38 +0200 | [diff] [blame] | 2244 | 'beval' option should be global-local. |
| 2245 | |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 2246 | Ruby: ":ruby print $buffer.number" returns zero. |
Bram Moolenaar | 483c5d8 | 2010-10-20 18:45:33 +0200 | [diff] [blame] | 2247 | |
Bram Moolenaar | 755bd26 | 2010-08-14 17:46:20 +0200 | [diff] [blame] | 2248 | setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11) |
Bram Moolenaar | 2a988a1 | 2010-08-13 15:24:39 +0200 | [diff] [blame] | 2249 | |
Bram Moolenaar | 0536570 | 2010-10-27 18:34:44 +0200 | [diff] [blame] | 2250 | With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott, |
| 2251 | 2010 Oct 24) |
| 2252 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2253 | Messages in message.txt are highlighted as examples. |
| 2254 | |
Bram Moolenaar | 0536570 | 2010-10-27 18:34:44 +0200 | [diff] [blame] | 2255 | When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010 |
| 2256 | Oct 22) 'isprint' is set to "@,161-255". |
| 2257 | |
Bram Moolenaar | 483c5d8 | 2010-10-20 18:45:33 +0200 | [diff] [blame] | 2258 | ":echo "\x85" =~# '[\u0085]'" returns 1 instead of 0. (ZyX, 2010 Oct 3) |
| 2259 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2260 | 'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15) |
| 2261 | |
Bram Moolenaar | 6ee8d89 | 2012-01-10 14:55:01 +0100 | [diff] [blame] | 2262 | C-indenting: A matching { in a comment is ignored, but intermediate { are not |
| 2263 | checked to be in a comment. Implement FM_SKIPCOMM flag of findmatchlimit(). |
| 2264 | Issue 46. |
| 2265 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2266 | Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16) |
| 2267 | |
Bram Moolenaar | 2a8a3ec | 2011-01-08 16:06:37 +0100 | [diff] [blame] | 2268 | Using CompilerSet doesn't record where an option was set from. E.g., in the |
| 2269 | gcc compiler plugin. (Gary Johnson, 2010 Dec 13) |
| 2270 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2271 | ":helpgrep" does not put the cursor in the correct column when preceded by |
| 2272 | accented character. (Tony Mechelynck, 2010 Apr 15) |
| 2273 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2274 | Don't call check_restricted() for histadd(), setbufvar(), settabvar(), |
| 2275 | setwinvar(). |
| 2276 | |
Bram Moolenaar | b477af2 | 2018-07-15 20:20:18 +0200 | [diff] [blame] | 2277 | Patch for gVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7) |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 2278 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2279 | When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines |
| 2280 | instead of one. (Constantin Pan, 2010 Sep 10) |
| 2281 | |
Bram Moolenaar | 5302d9e | 2011-09-14 17:55:08 +0200 | [diff] [blame] | 2282 | Gui menu edit/paste in block mode insert only inserts in one line (Bjorn |
| 2283 | Winckler, 2011 May 11) |
| 2284 | Requires a map mode for Insert mode started from blockwise Visual mode. |
Bram Moolenaar | 2a8a3ec | 2011-01-08 16:06:37 +0100 | [diff] [blame] | 2285 | |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 2286 | Writing nested List and Dict in viminfo gives error message and can't be read |
| 2287 | back. (Yukihiro Nakadaira, 2010 Nov 13) |
| 2288 | |
Bram Moolenaar | b52073a | 2010-03-17 20:02:06 +0100 | [diff] [blame] | 2289 | Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11) |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2290 | Additional info by Dominique Pelle. (also on 2010 Apr 10) |
| 2291 | |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 2292 | CreateFile and CreateFileW are used without sharing, filewritable() fails when |
| 2293 | the file was already open (e.g. script is being sourced). Add FILE_SHARE_READ| |
Bram Moolenaar | 4466ad6 | 2020-11-21 13:16:30 +0100 | [diff] [blame] | 2294 | FILE_SHARE_WRITE in mch_access()? (Philippe Vaucher, 2010 Nov 2) |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 2295 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2296 | Is ~/bin (literally) in $PATH supposed to work? (Paul, 2010 March 29) |
| 2297 | Looks like only bash can do it. (Yakov Lerner) |
| 2298 | |
Bram Moolenaar | b2c0350 | 2010-07-02 20:20:09 +0200 | [diff] [blame] | 2299 | Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010 |
| 2300 | Jun 29) Caused by 7.2.433? |
| 2301 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2302 | Jumplist doesn't work properly in Insert mode? (Jean Johner, 2010 Mar 20) |
| 2303 | |
Bram Moolenaar | b52073a | 2010-03-17 20:02:06 +0100 | [diff] [blame] | 2304 | Problem with transparent cmdline. Also: Terminal title is wrong with |
| 2305 | non-ASCII character. (Lily White, 2010 Mar 7) |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2306 | |
| 2307 | iconv() doesn't fail on an illegal character, as documented. (Yongwei Wu, 2009 |
| 2308 | Nov 15, example Nov 26) Add argument to specify whether iconv() should fail |
| 2309 | or replace with a character and continue? |
| 2310 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2311 | Add local time at start of --startuptime output. |
| 2312 | Requires configure check for localtime(). |
| 2313 | Use format year-month-day hr:min:sec. |
| 2314 | |
Bram Moolenaar | 34feacb | 2012-12-05 19:01:43 +0100 | [diff] [blame] | 2315 | Patch to make ":hi link" also take arguments. (Nate Soares, 2012 Dec 4) |
| 2316 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2317 | Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3) |
| 2318 | Find tail? Might have a / in argument. Find space? Might have space in |
| 2319 | path. |
| 2320 | |
Bram Moolenaar | d58e929 | 2011-02-09 17:07:58 +0100 | [diff] [blame] | 2321 | Test 51 fails when language set to German. (Marco, 2011 Jan 9) |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 2322 | Dominique can't reproduce it. |
Bram Moolenaar | d58e929 | 2011-02-09 17:07:58 +0100 | [diff] [blame] | 2323 | |
Bram Moolenaar | 61d35bd | 2012-03-28 20:51:51 +0200 | [diff] [blame] | 2324 | 'ambiwidth' should be global-local. |
| 2325 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2326 | ":function f(x) keepjumps" creates a function where every command is executed |
| 2327 | like it has ":keepjumps" before it. |
| 2328 | |
Bram Moolenaar | 86ae720 | 2015-07-10 19:31:35 +0200 | [diff] [blame] | 2329 | Coverity: Check if there are new reported defects: |
| 2330 | https://scan.coverity.com/projects/241 |
Bram Moolenaar | 755bd26 | 2010-08-14 17:46:20 +0200 | [diff] [blame] | 2331 | |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 2332 | Patch to support :undo absolute jump to file save number. (Christian Brabandt, |
| 2333 | 2010 Nov 5) |
| 2334 | |
Bram Moolenaar | 0952131 | 2016-08-12 22:54:35 +0200 | [diff] [blame] | 2335 | Patch to use 'foldnestmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011 |
Bram Moolenaar | 2a8a3ec | 2011-01-08 16:06:37 +0100 | [diff] [blame] | 2336 | Jan 7) |
| 2337 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2338 | Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8) |
| 2339 | |
Bram Moolenaar | 0065402 | 2011-02-25 14:42:19 +0100 | [diff] [blame] | 2340 | With 'wildmode' set to "longest:full,full" and pressing Tab once the first |
| 2341 | entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011 |
| 2342 | Feb 12) |
| 2343 | |
Bram Moolenaar | 4421d6a | 2010-08-14 13:33:56 +0200 | [diff] [blame] | 2344 | Display error when 'tabline' that includes a file name with double-width |
| 2345 | characters. (2010 Aug 14, bootleq) |
| 2346 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2347 | Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26) |
| 2348 | |
Bram Moolenaar | 9729301 | 2011-07-18 19:40:27 +0200 | [diff] [blame] | 2349 | Using ']' as the end of a range in a pattern requires double escaping: |
| 2350 | /[@-\\]] (Andy Wokula, 2011 Jun 28) |
| 2351 | |
Bram Moolenaar | d960d76 | 2011-09-21 19:22:10 +0200 | [diff] [blame] | 2352 | Syntax priority problem. (Charles Campbell, 2011 Sep 15) |
| 2353 | |
Bram Moolenaar | 97ea511 | 2010-06-12 06:46:44 +0200 | [diff] [blame] | 2354 | When completion inserts the first match, it may trigger the line to be folded. |
| 2355 | Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9) |
| 2356 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2357 | When a:base in 'completefunc' starts with a number it's passed as a number, |
| 2358 | not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a |
| 2359 | string value. |
| 2360 | |
Bram Moolenaar | 86ae720 | 2015-07-10 19:31:35 +0200 | [diff] [blame] | 2361 | For running gvim on a USB stick: avoid the OLE registration. Use a command |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2362 | line argument -noregister. |
| 2363 | |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 2364 | When using an expression in 'statusline' leading white space sometimes goes |
| 2365 | missing (but not always). (ZyX, 2010 Nov 1) |
| 2366 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2367 | When a mapping exists both for insert mode and lang-insert mode, the last one |
| 2368 | doesn't work. (Tyru, 2010 May 6) Or is this intended? |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2369 | |
| 2370 | Still a problem with ":make" in the wrong directory. Caused by ":bufdo". |
| 2371 | (Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15. |
| 2372 | Caused by "doautoall syntaxset BufEnter *" in syntax/nosyntax.vim ? |
| 2373 | There also is a BufLeave/BufEnter aucmd to save/restore view. |
| 2374 | Does the patch to save/restore globaldir work? |
| 2375 | |
| 2376 | ":bufdo normal gg" while 'hidden' is set leaves buffers without syntax |
| 2377 | highlighting. Don't disable Syntax autocommands then? Or add a flag/modifier |
| 2378 | to avoid changing 'eventignore'? |
| 2379 | |
| 2380 | Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6) |
| 2381 | Probably needs a bit of work. |
| 2382 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 2383 | List of encoding aliases. (Takao Fujiwara, 2009 Jul 18) |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2384 | Are they all OK? Update Jul 22. |
| 2385 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2386 | Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18) |
| 2387 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2388 | Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15) |
| 2389 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2390 | Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010 |
| 2391 | Sep 1) |
| 2392 | |
Bram Moolenaar | 5dc6252 | 2012-02-13 00:05:22 +0100 | [diff] [blame] | 2393 | Win32: Patch for using .png files for icons. (Charles Peacech, 2012 Feb 5) |
| 2394 | |
Bram Moolenaar | 33aea18 | 2010-08-07 13:19:27 +0200 | [diff] [blame] | 2395 | Putting a Visual block while 'visualedit' is "all" does not leave the cursor |
| 2396 | on the first character. (John Beckett, 2010 Aug 7) |
| 2397 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2398 | Setting 'tags' to "tagsdir/*" does not find "tagsdir/tags". (Steven K. Wong, |
| 2399 | 2009 Jul 18) |
| 2400 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2401 | Patch to add "focusonly" to 'scrollopt', so that scrollbind also applies in |
| 2402 | window that doesn't have focus. (Jonathon Mah, 2009 Jan 12) |
| 2403 | Needs more work. |
| 2404 | |
| 2405 | Problem with <script> mappings (Andy Wokula, 2009 Mar 8) |
| 2406 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2407 | When starting Vim with "gvim -f -u non_existent_file > foo.txt" there are a |
| 2408 | few control characters in the output. (Dale Wiles, 2009 May 28) |
| 2409 | |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 2410 | 'cmdwinheight' is only used in last window when 'winheight' is a large value. |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2411 | (Tony Mechelynck, 2009 Apr 15) |
| 2412 | |
| 2413 | Status line containing winnr() isn't updated when splitting the window (Clark |
| 2414 | J. Wang, 2009 Mar 31) |
| 2415 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2416 | When $VIMRUNTIME is set in .vimrc, need to reload lang files. Already done |
| 2417 | for GTK, how about others? (Ron Aaron, 2010 Apr 10) |
| 2418 | |
Bram Moolenaar | ede981a | 2010-08-11 23:37:32 +0200 | [diff] [blame] | 2419 | Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9) |
| 2420 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2421 | ":tab split fname" doesn't set the alternate file in the original window, |
| 2422 | because win_valid() always returns FALSE. Below win_new_tabpage() in |
| 2423 | ex_docmd.c. |
| 2424 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2425 | Space before comma in function definition not allowed: "function x(a , b)" |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2426 | Give a more appropriate error message. Add a remark to the docs. |
| 2427 | |
| 2428 | string_convert() should be able to convert between utf-8 and utf-16le. Used |
| 2429 | for GTK clipboard. Avoid requirement for iconv. |
| 2430 | |
| 2431 | Now that colnr_T is int instead of unsigned, more type casts can be removed. |
| 2432 | |
| 2433 | 'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul |
| 2434 | 20) |
| 2435 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2436 | Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron, |
| 2437 | 2009 Apr 7) Reminder Apr 14. |
| 2438 | |
| 2439 | Add "no_hlsearch" to winsaveview(). |
| 2440 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2441 | When 'foldmethod' is "indent", adding an empty line below a fold and then |
| 2442 | indented text, creates a new fold instead of joining it with the previous one. |
| 2443 | (Evan Laforge, 2009 Oct 17) |
| 2444 | |
| 2445 | Bug: When reloading a buffer changed outside of Vim, BufRead autocommands |
| 2446 | are applied to the wrong buffer/window. (Ben Fritz, 2009 Apr 2, May 11) |
| 2447 | Ignore window options when not in the right window? |
| 2448 | Perhaps we need to use a hidden window for applying autocommands to a buffer |
| 2449 | that doesn't have a window. |
| 2450 | |
| 2451 | When using "ab foo bar" and mapping <Tab> to <Esc>, pressing <Tab> after foo |
| 2452 | doesn't trigger the abbreviation like <Esc> would. (Ramana Kumar, 2009 Sep 6) |
| 2453 | |
| 2454 | getbufvar() to get a window-local option value for a buffer that's not |
| 2455 | displayed in a window should return the value that's stored for that buffer. |
| 2456 | |
| 2457 | ":he ctrl_u" can be auto-corrected to ":he ctrl-u". |
| 2458 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2459 | There should be a way after an abbreviation has expanded to go back to what |
| 2460 | was typed. CTRL-G h ? Would also undo last word or line break inserted |
| 2461 | perhaps. And undo CTRL-W. CTRL-G l would redo. |
| 2462 | |
Bram Moolenaar | 84f888a | 2010-08-05 21:40:16 +0200 | [diff] [blame] | 2463 | Diff mode out of sync. (Gary Johnson, 2010 Aug 4) |
| 2464 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2465 | Win32 GUI: last message from startup doesn't show up when there is an echoerr |
| 2466 | command. (Cyril Slobin, 2009 Mar 13) |
| 2467 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2468 | Win32: completion of file name ":e c:\!test" results in ":e c:\\!test", which |
| 2469 | does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22) |
| 2470 | |
Bram Moolenaar | f5963f7 | 2010-07-23 22:10:27 +0200 | [diff] [blame] | 2471 | opening/closing window causes other window with 'winfixheight' to change |
| 2472 | height. Also happens when there is another window in the frame, if it's not |
Bram Moolenaar | 2c3b1d9 | 2010-07-24 16:58:02 +0200 | [diff] [blame] | 2473 | very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22) |
Bram Moolenaar | f5963f7 | 2010-07-23 22:10:27 +0200 | [diff] [blame] | 2474 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2475 | Directory wrong in session file, caused by ":lcd" in BufEnter autocommand. |
| 2476 | (Felix Kater, 2009 Mar 3) |
| 2477 | |
Bram Moolenaar | 97d6249 | 2012-11-15 21:28:22 +0100 | [diff] [blame] | 2478 | Session file generates error upon loading, cause by --remote-silent-tab. |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 2479 | (7tommm (ytommm) 2010 Nov 24) |
| 2480 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2481 | Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing |
| 2482 | char 0x0301. (Tony Mechelynck, 2009 Mar 4) |
| 2483 | |
Bram Moolenaar | e968e36 | 2014-05-13 20:23:24 +0200 | [diff] [blame] | 2484 | Searching for composing char works, but not when inside []. (ZyX, Benjamin R. |
| 2485 | Haskell, 2010 Aug 24) |
| 2486 | |
| 2487 | This does not work yet: "a\(%C\)" (get composing characters into a submatch). |
| 2488 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2489 | Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish |
| 2490 | messages, even though locale is not supported. But ":lang messages |
| 2491 | es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle, |
| 2492 | 2009 Jan 26) |
| 2493 | |
Bram Moolenaar | 2a8a3ec | 2011-01-08 16:06:37 +0100 | [diff] [blame] | 2494 | When $HOME contains special characters, such as a comma, escape them when used |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2495 | in an option. (Michael Hordijk, 2009 May 5) |
| 2496 | Turn "esc" argument of expand_env_esc() into string of chars to be escaped. |
| 2497 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2498 | Should make 'ignorecase' global-local, so that it makes sense setting it from |
| 2499 | a modeline. |
| 2500 | |
| 2501 | Add cscope target to Makefile. (Tony Mechelynck, 2009 Jun 18, replies by |
| 2502 | Sergey Khorev) |
| 2503 | |
| 2504 | Consider making YankRing or something else that keeps a list of yanked text |
| 2505 | part of standard Vim. The "1 to "9 registers are not sufficient. |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 2506 | 6 When yanking into the unnamed registers several times, somehow make the |
| 2507 | previous contents also available (like it's done for deleting). What |
| 2508 | register names to use? g"1, g"2, etc.? |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2509 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2510 | After doing "su" $HOME can be the old user's home, thus ~root/file is not |
| 2511 | correct. Don't use it in the swap file. |
| 2512 | |
| 2513 | Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off. |
| 2514 | (Henrik Ohman, 2009, Jan 29) |
| 2515 | |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 2516 | shellescape() depends on 'shellslash' for quoting. That doesn't work when |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 2517 | 'shellslash' is set but using cmd.exe. (Ben Fritz) |
| 2518 | Use a different option or let it depend on whether 'shell' looks like a |
| 2519 | unix-like shell? |
| 2520 | |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 2521 | Bug: in Ex mode (after "Q") backslash before line break, when yanked into a |
| 2522 | register and executed, results in <Nul>: instead of line break. |
| 2523 | (Konrad Schwarz, 2010 Apr 16) |
| 2524 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2525 | Have a look at patch for utf-8 line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23) |
| 2526 | Now at: http://vimgadgets.sourceforge.net/liblinebreak/ |
| 2527 | |
| 2528 | Greek sigma character should be lower cased depending on the context. Can we |
| 2529 | make this work? (Dominique Pelle, 2009 Sep 24) |
| 2530 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2531 | When changing 'encoding' convert all the swap file names, so that we can |
| 2532 | still delete them. Also convert all buffer file names? |
| 2533 | |
| 2534 | "gqip" in Insert mode has an off-by-one error, causing it to reflow text. |
| 2535 | (Raul Coronado, 2009 Nov 2) |
| 2536 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2537 | Something wrong with session that has "cd" commands and "badd", in such a way |
| 2538 | that Vim doesn't find the edited file in the buffer list, causing the |
| 2539 | ATTENTION message? (Tony Mechelynck, 2008 Dec 1) |
| 2540 | Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...". |
| 2541 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2542 | MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew" |
| 2543 | doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer |
| 2544 | probably causes this. |
| 2545 | |
| 2546 | 'scrollbind' is not respected when deleting lines or undo. (Milan Vancura, |
Bram Moolenaar | 927edbd | 2010-05-17 22:07:47 +0200 | [diff] [blame] | 2547 | 2009 Jan 16) |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2548 | |
| 2549 | Document that default font in Athena can be set with resources: |
| 2550 | XtDefaultFont: "9x15" |
| 2551 | XtDefaultFontSet: "9x15" |
| 2552 | (Richard Sherman, 2009 Apr 12) |
| 2553 | |
| 2554 | Having "Syntax" in 'eventignore' for :bufdo may cause problems, e.g. for |
| 2555 | ":bufdo e" when buffers are open in windows. ex_listdo(eap) could set the |
| 2556 | option only for when jumping to another buffer, not when the command argument |
| 2557 | is executed. |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 2558 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2559 | ":pedit %" with a BufReadPre autocommand causes the cursor to move to the |
| 2560 | first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this. |
Bram Moolenaar | bcb9898 | 2014-05-01 14:08:19 +0200 | [diff] [blame] | 2561 | Similar problem with ":e". (Marc Montu, 2014 Apr 22) |
Bram Moolenaar | 4932594 | 2007-05-10 19:19:59 +0000 | [diff] [blame] | 2562 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2563 | Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3 |
| 2564 | laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1) |
| 2565 | Works OK with Vim in an xterm. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2566 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2567 | Cursor line moves in other window when using CTRL-W J that doesn't change |
| 2568 | anything. (Dasn, 2009 Apr 7) |
| 2569 | |
| 2570 | On Unix "glob('does not exist~')" returns the string. Without the "~" it |
| 2571 | doesn't. (John Little, 2008 Nov 9) |
| 2572 | Shell expansion returns unexpanded string? |
| 2573 | Don't use shell when "~" is not at the start? |
| 2574 | |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 2575 | When using ":e ++enc=foo file" and the file is already loaded with |
| 2576 | 'fileencoding' set to "bar", then do_ecmd() uses that buffer, even though the |
| 2577 | fileencoding differs. Reload the buffer in this situation? Need to check for |
| 2578 | the buffer to be unmodified. |
| 2579 | Unfinished patch by Ian Kelling, 2008 Jul 11. Followup Jul 14, need to have |
| 2580 | another look at it. |
| 2581 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2582 | c.vim: XXX in a comment is colored yellow, but not when it's after "#if 0". |
| 2583 | (Ilya Dogolazky, 2009 Aug 7) |
| 2584 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2585 | You can type ":w ++bad=x fname", but the ++bad argument is ignored. Give an |
| 2586 | error message? Or is this easy to implement? (Nathan Stratton Treadway, 2008 |
| 2587 | Aug 20) This is in ucs2bytes(), search for 0xBF. Using the ++bad argument is |
| 2588 | at the other match for 0xBF. |
| 2589 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2590 | When adding "-complete=file" to a user command this also changes how the |
| 2591 | argument is processed for <f-args>. (Ivan Tishchenko, 2008 Aug 19) |
| 2592 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2593 | Win32: associating a type with Vim doesn't take care of space after a |
| 2594 | backslash? (Robert Vibrant, 2008 Jun 5) |
| 2595 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2596 | When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a |
| 2597 | line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21) |
| 2598 | |
| 2599 | Using an insert mode expression mapping, cursor is not in the expected |
| 2600 | position. (ZyX, 2010 Aug 29) |
| 2601 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2602 | After using <Tab> for command line completion after ":ta blah" and getting E33 |
| 2603 | (no tags file), further editing the command to e.g., ":echo 'blah'", the |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 2604 | command is not executed. Fix by Ian Kelling? |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2605 | |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 2606 | ":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim |
| 2607 | Chase) Fix by Ian Kelling, 2008 Jul 14. |
| 2608 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2609 | When mapping : to ; and ; to :, @; doesn't work like @: and @: doesn't work |
| 2610 | either. Matt Wozniski: nv_at() calls do_execreg() which uses |
| 2611 | put_in_typebuf(). Char mapped twice? |
| 2612 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2613 | Despite adding save_subexpr() this still doesn't work properly: |
| 2614 | Regexp: matchlist('12a4aaa', '^\(.\{-}\)\(\%5c\@<=a\+\)\(.\+\)\?') |
| 2615 | Returns ['12a4', 'aaa', '4aaa'], should be ['12a4', 'aaa', ''] |
| 2616 | Backreference not cleared when retrying after \@<= fails? |
| 2617 | (Brett Stahlman, 2008 March 8) |
| 2618 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2619 | Problem with remote_send(). (Charles Campbell, 2008 Aug 12) |
| 2620 | |
| 2621 | ftplugin for help file should set 'isk' to help file value. |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 2622 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2623 | Win32: remote editing fails when the current directory name contains "[". |
| 2624 | (Ivan Tishchenko, Liu Yubao) Suggested patch by Chris Lubinski: Avoid |
| 2625 | escaping characters where the backslash is not removed later. Asked Chris for |
| 2626 | an alternate solution, also for src/ex_getln.c. |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 2627 | This also fails when the file or directory name contains "%". (Thoml, 2008 |
| 2628 | July 7) |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 2629 | Using --remote-silent while the current directory has a # in the name does not |
| 2630 | work, the # needs to be escaped. (Tramblay Bruno, 2012 Sep 15) |
| 2631 | |
| 2632 | When using remote-silent the -R flag is not passed on. (Axel Bender, 2012 May |
| 2633 | 31) |
| 2634 | |
| 2635 | Win32: A --remote command that has a directory name starting with a ( doesn't |
| 2636 | work, the backslash is removed, assuming that it escapes the (. (Valery |
| 2637 | Kondakoff, 2009 May 13) |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2638 | |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 2639 | Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 2640 | multibyte character isn't passed and edits elsuti.txt. |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 2641 | (Raúl Núñez de Arenas Coronado, 2015 Dec 18) |
| 2642 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2643 | Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull, |
| 2644 | 2008 May 14) |
Bram Moolenaar | 5a5f459 | 2015-04-13 12:43:06 +0200 | [diff] [blame] | 2645 | Possibly related problem: Alexey Muranov, 2015 Apr 2 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2646 | |
| 2647 | Problem with CTRL-F. (Charles Campbell, 2008 March 21) |
| 2648 | Only happens with "gvim -geometry "160x26+4+27" -u NONE -U NONE prop.c". |
| 2649 | 'lines' is 54. (2008 March 27) |
| 2650 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2651 | Problem with pointer wrapping around in getvcol(). (Wolfgang Kroworsch, 2008 |
| 2652 | Oct 19) Check for "col" being "MAXCOL" separately? |
| 2653 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2654 | Unexpectedly inserting a double quote. (Anton Woellert, 2008 Mar 23) |
| 2655 | Works OK when 'cmdheight' is 2. |
| 2656 | |
Bram Moolenaar | 543b7ef | 2013-06-01 14:50:56 +0200 | [diff] [blame] | 2657 | 8 Use a mechanism similar to omni completion to figure out the kind of tab |
| 2658 | for CTRL-] and jump to the appropriate matching tag (if there are |
| 2659 | several). |
| 2660 | Alternative: be able to define a function that takes the tag name and uses |
| 2661 | taglist() to find the right location. With indication of using CTRL-] so |
| 2662 | that the context can be taken into account. (Robert Webb) |
| 2663 | Patch by Christian Brabandt, 2013 May 31. |
| 2664 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2665 | The utf class table is missing some entries: |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 2666 | 0x2212, minus sign |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2667 | 0x2217, star |
| 2668 | 0x2500, bar |
| 2669 | 0x26ab, circle |
| 2670 | |
| 2671 | Visual line mode doesn't highlight properly when 'showbreak' is used and the |
| 2672 | line doesn't fit. (Dasn, 2008 May 1) |
| 2673 | |
| 2674 | GUI: In Normal mode can't yank the modeless selection. Make "gy" do this? |
| 2675 | Works like CTRL-Y in Command line mode. |
| 2676 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2677 | Mac: Move Carbon todo items to os_mac.txt. Note that this version is frozen, |
| 2678 | try the Cocoa version. |
| 2679 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2680 | Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is |
| 2681 | changed or the window is resized. |
| 2682 | |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 2683 | GTK: when setting 'columns' in a startup script and doing ":vertical diffsplit" |
| 2684 | the window isn't redrawn properly, see two vertical bars. |
| 2685 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2686 | Mac: Patch for configure: remove arch from ruby link args. (Knezevic, 2008 |
| 2687 | Mar 5) Alternative: Kazuki Sakamoto, Mar 7. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2688 | |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 2689 | Mac: trouble compiling with Motif, requires --disable-darwin. (Raf, 2008 Aug |
| 2690 | 1) Reply by Ben Schmidt. |
| 2691 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2692 | C't: On utf-8 system, editing file with umlaut through Gnome results in URL |
| 2693 | with %nn%nn, which is taken as two characters instead of one. |
| 2694 | Try to reproduce at work. |
| 2695 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2696 | Patch for default choice in file changed dialog. (Bjorn Winckler, 2008 Oct 19) |
| 2697 | Is there a way to list all the files first? |
| 2698 | |
| 2699 | When 'smartcase' is set and using CTRL-L to add to the search pattern it may |
| 2700 | result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr |
| 2701 | 16) |
| 2702 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2703 | Fail to edit file after failed register access. Error flag remains set? |
| 2704 | (Lech Lorens, 2010 Aug 30) |
| 2705 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2706 | Patch for redo register. (Ben Schmidt, 2007 Oct 19) |
| 2707 | Await response to question to make the register writable. |
| 2708 | |
| 2709 | Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct |
| 2710 | 1) |
| 2711 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2712 | In the swapfile dialog, add a H(elp) option that gives more info about what |
| 2713 | each choice does. Similar to ":help swap-exists-choices" |
| 2714 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2715 | ":tab help" always opens a new tab, while ":help" re-uses an existing window. |
| 2716 | Would be more consistent when an existing tab is re-used. (Tony Mechelynck) |
| 2717 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2718 | Add ":nofold". Range will apply without expanding to closed fold. |
| 2719 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2720 | Using Aap to build Vim: add remarks about how to set personal preferences. |
| 2721 | Example on http://www.calmar.ws/tmp/aap.html |
| 2722 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2723 | Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26) |
| 2724 | Bug in using a transparent syntax region. (Hanlen in vim-dev maillist, 2007 |
| 2725 | Jul 31) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2726 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2727 | When 'diffopt' has "context:0" a single deleted line causes two folds to merge |
| 2728 | and mess up syncing. (Austin Jennings, 2008 Jan 31) |
| 2729 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2730 | Gnome improvements: Edward Catmur, 2007 Jan 7 |
| 2731 | Also use Save/Discard for other GUIs |
| 2732 | |
| 2733 | New PHP syntax file, use it? (Peter Hodge) |
| 2734 | |
Bram Moolenaar | 251e191 | 2011-06-19 05:09:16 +0200 | [diff] [blame] | 2735 | ":echoe" in catch block stops processing, while this doesn't happen outside of |
| 2736 | a catch block. (ZyX, 2011 Jun 2) |
| 2737 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2738 | 'foldcolumn' in modeline applied to wrong window when using a session. (Teemu |
| 2739 | Likonen, March 19) |
| 2740 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2741 | Test 54 uses shell commands, that doesn't work on non-Unix systems. Use some |
| 2742 | other way to test buffer-local autocommands. |
| 2743 | |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 2744 | The documentation mentions the priority for ":2match" and ":3match", but it |
| 2745 | appears the last one wins. (John Beckett, 2008 Jul 22) Caused by adding |
| 2746 | matchadd()? Suggested patch by John, 2008 Jul 24. |
| 2747 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2748 | When 'encoding' is utf-8 the command line is redrawn as a whole on every |
| 2749 | character typed. (Tyler Spivey, 2008 Sep 3) Only redraw cmdline for |
| 2750 | 'arabicshape' when there is a character on the command line for which |
| 2751 | (ARABIC_CHAR(u8c)) is TRUE. |
| 2752 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2753 | Cheng Fang made javacomplete. (2007 Aug 11) |
| 2754 | Asked about latest version: 0.77.1 is on www.vim.org. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2755 | |
| 2756 | More AmigaOS4 patches. (Peter Bengtsson, Nov 9) |
| 2757 | |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 2758 | Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30) |
| 2759 | http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff |
| 2760 | |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 2761 | Insert mode completion: When editing the text and pressing CTRL-N again goes |
| 2762 | back to originally completed text, edited text is gone. (Peng Yu, 2008 Jul 24) |
| 2763 | Suggestion by Ben Schmidt, 2008 Aug 6. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2764 | |
| 2765 | Problem with compound words? (Bert, 2008 May 6) |
| 2766 | No warning for when flags are defined after they are used in an affix. |
| 2767 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2768 | Screen redrawing when continuously updating the buffer and resizing the |
| 2769 | terminal. (Yakov Lerner, 2006 Sept 7) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2770 | |
| 2771 | Add option settings to help ftplugin. (David Eggum, 2006 Dec 18) |
| 2772 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2773 | Autoconf problem: when checking for iconv library we may add -L/usr/local/lib, |
| 2774 | but when compiling further tests -liconv is added without the -L argument, |
| 2775 | that may fail (e.g., sizeof(int)). (Blaine, 2007 Aug 21) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2776 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2777 | Problem with ".add" files when using two languages and restarting Vim. (Raul |
| 2778 | Coronado, 2008 Oct 30) |
| 2779 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2780 | Popup menu redraw: Instead of first redrawing the text and then drawing the |
| 2781 | popup menu over it, first draw the new popup menu, remember its position and |
| 2782 | size and then redraw the text, skipping the characters under the popup menu. |
| 2783 | This should avoid flicker. Other solution by A.Politz, 2007 Aug 22. |
| 2784 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2785 | When a register contains illegal bytes, writing viminfo in utf-8 and reading |
| 2786 | it back doesn't result in utf-8. (Devin Bayer) |
| 2787 | |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 2788 | Command line completion: Scanning for tags doesn't check for typed key now and |
| 2789 | then? Hangs for about 5 seconds. Appears to be caused by finding include |
| 2790 | files with "foo/**" in 'path'. (Kalisiak, 2006 July 15) |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 2791 | Additional info: When using the |wildcards| ** globing, vim hangs |
| 2792 | indefinitely on lots of directories. The |file-searching| globing, like in |
| 2793 | ":set path=/**" does not hang as often as with globing with |wildcards|, like |
Bram Moolenaar | 34401cc | 2014-08-29 15:12:19 +0200 | [diff] [blame] | 2794 | in ":1find /**/file". This is for files that unix "find" can find very |
| 2795 | quickly. Merging the 2 kinds of globing might make this an easier fix. (Ian |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 2796 | Kelling, 2008 July 4) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2797 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2798 | When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the |
| 2799 | parenthesis escaped but not the space. That's inconsistent. Either escape |
| 2800 | neither or both. No escaping might be best, because it doesn't depend on |
| 2801 | particularities of the shell. (Zvi Har'El, 2007 Nov 10) (Teemu Likonen, 2008 |
| 2802 | Jun 3) |
| 2803 | However, for backwards compatibility escaping might be necessary. Check if |
| 2804 | the user put quotes around the expanded item? |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2805 | |
Bram Moolenaar | 20f90cf | 2011-05-19 12:22:51 +0200 | [diff] [blame] | 2806 | A throw in a function causes missing an endif below the call. (Spiros |
| 2807 | Bousbouras, 2011 May 16) |
| 2808 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2809 | Error E324 can be given when a cron script has wiped out our temp directory. |
| 2810 | Give a clear error message about this (and tell them not to wipe out /tmp). |
| 2811 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2812 | Color for cUserLabel should differ from case label, so that a mistake in a |
| 2813 | switch list is noticed: |
| 2814 | switch (i) |
| 2815 | { |
| 2816 | case 1: |
| 2817 | foobar: |
| 2818 | } |
| 2819 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2820 | Look at http://www.gtk-server.org/ . It has a Vim script implementation. |
| 2821 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2822 | Netbeans problem. Use "nc -l 127.0.0.1 55555" for the server, then run gvim |
| 2823 | with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then |
| 2824 | go to Insert mode and add a few lines. Then backspacing every other time |
| 2825 | moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25) |
| 2826 | |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 2827 | Windows installer could add a "open in new tab of existing Vim" menu entry. |
Bram Moolenaar | b477af2 | 2018-07-15 20:20:18 +0200 | [diff] [blame] | 2828 | GvimExt: patch to add "Edit with single Vim &tabbed" menu entry. |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 2829 | Just have two choices, always using one Vim and selecting between using an |
| 2830 | argument list or opening each file in a separate tab. |
| 2831 | (Erik Falor, 2008 May 21, 2008 Jun 26) |
| 2832 | |
Bram Moolenaar | 20f90cf | 2011-05-19 12:22:51 +0200 | [diff] [blame] | 2833 | Windows installer: licence text should not use indent, causes bad word wrap. |
| 2834 | (Benjamin Fritz, 2010 Aug 16) |
| 2835 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2836 | Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov, |
| 2837 | 2007 Feb 8) |
| 2838 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2839 | Win32: Can't complete shell command names. Why is setting xp_context in |
| 2840 | set_one_cmd_context() inside #ifndef BACKSLASH_IN_FILENAME? |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2841 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2842 | Win32: Patch for cscope external command. (Mike Williams, 2007 Aug 7) |
| 2843 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2844 | Win32: XPM support only works with path without spaces. Patch by Mathias |
| 2845 | Michaelis, 2006 Jun 9. Another patch for more path names, 2006 May 31. |
| 2846 | New version: http://members.tcnet.ch/michaelis/vim/patches.zip (also for other |
| 2847 | patches by Mathias, see mail Feb 22) |
| 2848 | |
| 2849 | Win32: compiling with normal features and OLE fails. Patch by Mathias |
| 2850 | Michaelis, 2006 Jun 4. |
| 2851 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2852 | Win32: using CTRL-S in Insert mode doesn't remove the "+" from the tab pages |
Bram Moolenaar | ed39e1d | 2008-08-09 17:55:22 +0000 | [diff] [blame] | 2853 | label. (Tsakiridis, 2007 Feb 18) Patch from Ian Kelling, 2008 Aug 6. |
| 2854 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2855 | Win32: using "gvim --remote-tab-silent fname" sometimes gives an empty screen |
| 2856 | with the more prompt. Caused by setting the guitablabel? (Thomas Michael |
| 2857 | Engelke, 2007 Dec 20 - 2008 Jan 17) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2858 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2859 | Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17) |
| 2860 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2861 | Win32: When 'shell' is bash shellescape() doesn't always do the right thing. |
| 2862 | Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape() |
| 2863 | only takes 'shellslash' into account. |
| 2864 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2865 | Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16. |
| 2866 | Check for this and use iconv? (Edward L. Fox, 2007 Sep 12) |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 2867 | Does the conversion in the other direction work when 'fileencodings' is set |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2868 | properly? |
| 2869 | |
| 2870 | Cursor displayed in the wrong position when using 'numberwidth'. (James Vega, |
| 2871 | 2007 Jun 21) |
| 2872 | |
| 2873 | When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008 |
| 2874 | Jun 18) |
| 2875 | |
| 2876 | If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work. |
| 2877 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2878 | In debug mode, using CTRL-R = to evaluate a function causes stepping through |
| 2879 | the function. (Hari Krishna Dara, 2006 Jun 28) |
| 2880 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2881 | C++ indenting wrong with "=". (James Kanze, 2007 Jan 26) |
| 2882 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2883 | ":lockvar" should use copyID to avoid endless loop. |
| 2884 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2885 | When using --remote-silent and the file name matches 'wildignore' get an E479 |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 2886 | error. without --remote-silent it works fine. (Ben Fritz, 2008 Jun 20) |
Bram Moolenaar | 4932594 | 2007-05-10 19:19:59 +0000 | [diff] [blame] | 2887 | |
Bram Moolenaar | b477af2 | 2018-07-15 20:20:18 +0200 | [diff] [blame] | 2888 | GVim: dialog for closing Vim should check if Vim is busy writing a file. Then |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2889 | use a different dialog: "busy saving, really quit? yes / no". |
| 2890 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2891 | Check other interfaces for changing curbuf in a wrong way. Patch like for |
| 2892 | if_ruby.c. |
| 2893 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2894 | ":helpgrep" should use the directory from 'helpfile'. |
| 2895 | |
| 2896 | The need_fileinfo flag is messy. Instead make the message right away and put |
| 2897 | it in keep_msg? |
| 2898 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2899 | Editing a file remotely that matches 'wildignore' results in a "no match" |
Bram Moolenaar | ff312a4 | 2010-05-16 15:14:25 +0200 | [diff] [blame] | 2900 | error. Should only happen when there are wildcards, not when giving the file |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2901 | name literally, and esp. if there is only one name. |
| 2902 | |
Bram Moolenaar | 1423b9d | 2006-05-07 15:16:06 +0000 | [diff] [blame] | 2903 | Test 61 fails sometimes. This is a timing problem: "sleep 2" sometimes takes |
| 2904 | longer than 2 seconds. |
Bram Moolenaar | d68071d | 2006-05-02 22:08:30 +0000 | [diff] [blame] | 2905 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2906 | Using ":au CursorMoved * cmd" invokes mch_FullName(), which can be slow. |
| 2907 | Can this be avoided? (Thomas Waba, 2008 Aug 24) |
| 2908 | Also for ":w" without a file name. |
| 2909 | The buffer has the full path in ffname, should pass this to the autocommand. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2910 | |
| 2911 | "vim -C" often has 'nocompatible', because it's set in some startup script. |
| 2912 | Set 'compatible' after startup is done? Patch by James Vega, 2008 Feb 7. |
| 2913 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2914 | VMS: while editing a file found in complex, Vim will save file into the first |
| 2915 | directory of the path and not to the original location of the file. |
| 2916 | (Zoltan Arpadffy) |
| 2917 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2918 | VMS: VFC files are in some cases truncated during reading (Zoltan Arpadffy) |
| 2919 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2920 | input() completion should not insert a backslash to escape a space in a file |
| 2921 | name? |
| 2922 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2923 | Ruby completion is insecure. Can this be fixed? |
| 2924 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2925 | When 'backupskip' is set from $TEMP special characters need to be escaped. |
| 2926 | (patch by Grembowietz, 2007 Feb 26, not quite right) |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 2927 | Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\(" |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2928 | will be seen as a path separator plus "\(". |
| 2929 | |
Bram Moolenaar | 6dfc28b | 2010-02-11 14:19:15 +0100 | [diff] [blame] | 2930 | gvim d:\path\path\(FILE).xml should not remove the \ before the (. |
| 2931 | This also fails with --remote. |
| 2932 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2933 | When doing ":quit" the Netbeans "killed" event isn't sent. (Xavier de Gaye, |
| 2934 | 2008 Nov 10) call netbeans_file_closed() at the end of buf_freeall(), or in |
| 2935 | all places where buf_freeall() is called? |
| 2936 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2937 | aucmd_prepbuf() should also use a window in another tab page. |
| 2938 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2939 | When unloading a buffer in a BufHidden autocommand the hidden flag is reset? |
| 2940 | (Bob Hiestand, 2008 Aug 26, Aug 27) |
| 2941 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2942 | Substituting an area with a line break with almost the same area does change |
| 2943 | the Visual area. Can this be fixed? (James Vega, 2006 Sept 15) |
| 2944 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2945 | GUI: When combining fg en bg make sure they are not equal. |
| 2946 | |
| 2947 | Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006 |
| 2948 | Jun 5) |
| 2949 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 2950 | Use different romanian dictionary for spell checking. (Andrei Popescu, Nov |
| 2951 | 2008) Use http://downloads.sourceforge.net/rospell/ro_RO.3.2.zip |
| 2952 | Or the hunspell-ro.3.2.tar.gz file, it also has a iso-8859-2 list. |
| 2953 | |
| 2954 | In a C file with spell checking, in "% integer" "nteger" is seen as an error, |
| 2955 | but "]s" doesn't find it. "nteger" by itself is found. (Ralf Wildenhues, 2008 |
| 2956 | Jul 22) |
| 2957 | |
| 2958 | There should be something about spell checking in the user manual. |
| 2959 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2960 | Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21) |
| 2961 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2962 | Add an option to specify the character to use when a double-width character is |
| 2963 | moved to the next line. Default '>', set to a space to blank it out. Check |
| 2964 | that char is single width when it's set (compare with 'listchars'). |
| 2965 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2966 | The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3) |
| 2967 | |
Bram Moolenaar | 6dfc28b | 2010-02-11 14:19:15 +0100 | [diff] [blame] | 2968 | When showing a diff between a non-existent file and an existing one, with the |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2969 | cursor in the empty buffer, the other buffer only shows the last line. Change |
| 2970 | the "insert" into a change from one line to many? (Yakov Lerner, 2008 May 27) |
| 2971 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2972 | These two abbreviations don't give the same result: |
| 2973 | let asdfasdf = "xyz\<Left>" |
| 2974 | cabbr XXX <C-R>=asdfasdf<CR> |
| 2975 | cabbr YYY xyz<Left> |
| 2976 | |
| 2977 | Michael Dietrich: maximized gvim sometimes displays output of external command |
| 2978 | partly. (2006 Dec 7) |
| 2979 | |
| 2980 | In FileChangedShell command it's no longer allowed to switch to another |
| 2981 | buffer. But the changed buffer may differ from the current buffer, how to |
| 2982 | reload it then? |
| 2983 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 2984 | For Aap: include a config.arg.example file with hints how to use config.arg. |
| 2985 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2986 | Command line completion when 'cmdheight' is maximum and 'wildmenu' is set, |
| 2987 | only one buffer line displayed, causes display errors. |
| 2988 | |
| 2989 | Completing with 'wildmenu' and using <Up> and <Down> to move through directory |
| 2990 | tree stops unexpectedly when using ":cd " and entering a directory that |
| 2991 | doesn't contain other directories. |
| 2992 | |
Bram Moolenaar | 8d04317 | 2014-01-23 14:24:41 +0100 | [diff] [blame] | 2993 | Default for 'background' is wrong when using xterm with 256 colors. |
| 2994 | Table with estimates from Matteo Cavalleri, 2014 Jan 10. |
| 2995 | |
Bram Moolenaar | d58e929 | 2011-02-09 17:07:58 +0100 | [diff] [blame] | 2996 | Setting 'background' resets the Normal background color: |
| 2997 | highlight Normal ctermbg=DarkGray |
| 2998 | set background=dark |
| 2999 | This is undesired, 'background' is supposed to tell Vim what the background |
| 3000 | color is, not reset it. |
| 3001 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3002 | Completion menu: For a wrapping line, completing a long file name, only the |
| 3003 | start of the path is shown in the menu. Should move the menu to the right to |
| 3004 | show more text of the completions. Shorten the items that don't fit in the |
| 3005 | middle? |
| 3006 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3007 | Accessing file#var in a function should not need the g: prepended. |
| 3008 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3009 | When exiting detects a modified buffer, instead of opening the buffer in the |
| 3010 | current tab, use an existing tab, if possible. Like finding a window where |
| 3011 | the buffer is displayed. (Antonios Tsakiridis) |
| 3012 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3013 | When ":cn" moves to an error in the same line the message isn't shortened. |
| 3014 | Only skip shortening for ":cc"? |
| 3015 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3016 | Problem with ":call" and dictionary function. Hari Krishna Dara, Charles |
| 3017 | Campbell 2006 Jul 06. |
| 3018 | |
| 3019 | Syntax HL error caused by "containedin". (Peter Hodge, 2006 Oct 6) |
| 3020 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3021 | A custom completion function in a ":command" cannot be a Funcref. (Andy |
| 3022 | Wokula, 2007 Aug 25) |
| 3023 | |
| 3024 | Problem with using :redir in user command completion function? (Hari Krishna |
| 3025 | Dara, 2006 June 21) |
| 3026 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3027 | Another resizing problem when setting 'columns' and 'lines' to a very large |
| 3028 | number. (Tony Mechelynck, 2007 Feb 6) |
| 3029 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3030 | After starting Vim, using '0 to jump somewhere in a file, ":sp" doesn't center |
| 3031 | the cursor line. It works OK after some other commands. |
| 3032 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3033 | Win32: Is it possible to have both postscript and Win32 printing? |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3034 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3035 | Problem with 'cdpath' on MS-Windows when a directory is equal to $HOME. (2006 |
| 3036 | Jul 26, Gary Johnson) |
| 3037 | |
Bram Moolenaar | ff312a4 | 2010-05-16 15:14:25 +0200 | [diff] [blame] | 3038 | Using UTF-8 character with ":command" does not work properly. (Matt Wozniski, |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3039 | 2008 Sep 29) |
| 3040 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3041 | In the Netbeans interface add a "vimeval" function, so that the other side can |
| 3042 | check the result of has("patch13"). |
| 3043 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3044 | Cursor line at bottom of window instead of halfway after saving view and |
| 3045 | restoring. Only with 'nowrap'. (Robert Webb, 2008 Aug 25) |
| 3046 | |
Bram Moolenaar | 0065402 | 2011-02-25 14:42:19 +0100 | [diff] [blame] | 3047 | Netrw has trouble executing autocommands only for a directory. Add <isdir> |
| 3048 | and <notisdir> to autocommand patterns? Also <isfile>? |
| 3049 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3050 | Add command modifier that skips wildcard expansion, so that you don't need to |
| 3051 | put backslashes before special chars, only for white space. |
| 3052 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3053 | Syntax HL: open two windows on the same C code, delete a ")" in one window, |
| 3054 | resulting in highlighted "{" in that window, not in the other. |
| 3055 | |
| 3056 | In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way, |
| 3057 | can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects? |
| 3058 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3059 | GTK: when the Tab pages bar appears or disappears while the window is |
| 3060 | maximized the window is no longer maximized. Patch that has some idea but |
| 3061 | doesn't work from Geoffrey Antos, 2008 May 5. |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3062 | Also: the window may no longer fit on the screen, thus the command line is not |
| 3063 | visible. |
| 3064 | |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 3065 | When right after "vim file", "M" then CTRL-W v the windows are scrolled |
| 3066 | differently and unexpectedly. Caused by patch 7.2.398? |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3067 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3068 | The magic clipboard format "VimClipboard2" appears in several places. Should |
| 3069 | be only one. |
| 3070 | |
Bram Moolenaar | 996343d | 2010-07-04 22:20:21 +0200 | [diff] [blame] | 3071 | Win32, NTFS: When editing a specific infostream directly and 'backupcopy' is |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3072 | "auto" should detect this situation and work like 'backupcopy' is "yes". File |
| 3073 | name is something like "c:\path\foo.txt:bar", includes a colon. (Alex |
| 3074 | Jakushev, 2008 Feb 1) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3075 | |
| 3076 | Small problem displaying diff filler line when opening windows with a script. |
| 3077 | (David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 ) |
| 3078 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3079 | Is it allowed that 'backupext' is empty? Problems when backup is in same dir |
| 3080 | as original file? If it's OK don't compare with 'patchmode'. (Thierry Closen) |
| 3081 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3082 | Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update 2008 Apr |
| 3083 | 23) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3084 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3085 | ":mkview" isn't called with the right buffer argument. Happens when using |
| 3086 | tabs and the autocommand "autocmd BufWinLeave * mkview". (James Vega, 2007 |
| 3087 | Jun 18) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3088 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3089 | When completing from another file that uses a different encoding completion |
| 3090 | text has the wrong encoding. E.g., when 'encoding' is utf-8 and file is |
| 3091 | latin1. Example from Gombault Damien, 2007 Mar 24. |
| 3092 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3093 | Syntax HL: When using "nextgroup" and the group has an empty match, there is |
| 3094 | no search at that position for another match. (Lukas Mai, 2008 April 11) |
| 3095 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3096 | In gvim the backspace key produces a backspace character, but on Linux the |
| 3097 | VERASE key is Delete. Set VERASE to Backspace? (patch by Stephane Chazelas, |
| 3098 | 2007 Oct 16) |
| 3099 | |
| 3100 | TermResponse autocommand isn't always triggered when using vimdiff. (Aron |
| 3101 | Griffis, 2007 Sep 19) |
| 3102 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3103 | Create a gvimtutor.1 file and change Makefiles to install it. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3104 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3105 | When 'encoding' is utf-8 typing text at the end of the line causes previously |
| 3106 | typed characters to be redrawn. Caused by patch 7.1.329. (Tyler Spivey, 2008 |
| 3107 | Sep 3, 11) |
| 3108 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3109 | ":vimgrep" does not recognize a recursive symlink. Is it possible to detect |
| 3110 | this, at least for Unix (using device/inode)? |
| 3111 | |
| 3112 | When switching between windows the cursor is often put in the middle. |
| 3113 | Remember the relative position and restore that, just like lnum and col are |
| 3114 | restored. (Luc St-Louis) |
| 3115 | |
Bram Moolenaar | b2c0350 | 2010-07-02 20:20:09 +0200 | [diff] [blame] | 3116 | Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler, |
| 3117 | 2010 Jun 30) |
| 3118 | |
Bram Moolenaar | 6e93246 | 2014-09-09 18:48:09 +0200 | [diff] [blame] | 3119 | Add an option for a minimal text length before inserting a line break for |
| 3120 | 'textwidth'. Avoids very short lines when a very long word follows. |
| 3121 | (Kartik Agaram) |
| 3122 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3123 | |
Bram Moolenaar | 13d5aee | 2016-01-21 23:36:05 +0100 | [diff] [blame] | 3124 | Better plugin support (not plugin manager, see elsewhere for that): |
Bram Moolenaar | 13d5aee | 2016-01-21 23:36:05 +0100 | [diff] [blame] | 3125 | - Avoid use of feedkeys, add eval functions where needed: |
| 3126 | - manipulating the Visual selection? |
| 3127 | - Add createmark(): add a mark like mM, but return a unique ID. Need some way |
| 3128 | to clean them up again... Use a name + the script ID. |
| 3129 | Add createmark( , 'c') to track inserts/deletes before the column. |
| 3130 | - Plugins need to make a lot of effort, lots of mappings, to know what |
| 3131 | happened before pressing the key that triggers a plugin action. How about |
| 3132 | keeping the last N pressed keys, so that they do not need to be mapped? |
Bram Moolenaar | 298b440 | 2016-01-28 22:38:53 +0100 | [diff] [blame] | 3133 | - equivalent of netbeans_beval_cb(). With an autocommand? |
| 3134 | - Add something to enable debugging when a remote message is received. |
Bram Moolenaar | 0065402 | 2011-02-25 14:42:19 +0100 | [diff] [blame] | 3135 | |
| 3136 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3137 | More patches: |
Bram Moolenaar | 26dcc7e | 2010-07-14 22:35:55 +0200 | [diff] [blame] | 3138 | - Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11) |
| 3139 | Needs a few tests. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3140 | - Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3141 | - Extra argument to strtrans() to translate special keys to their name (Eric |
| 3142 | Arnold, 2006 May 22) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3143 | - Mac: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30) |
| 3144 | - Allow negative 'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16) |
| 3145 | - ml_append_string(): efficiently append to an existing line. (Brad |
| 3146 | Beveridge, 2006 Aug 26) Use in some situations, e.g., when pasting a |
| 3147 | character at a time? |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3148 | - recognize hex numbers better. (Mark Manning, 2006 Sep 13) |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 3149 | - Add <AbbrExpand> key, to expand an abbreviation in a mapping. (Kana |
| 3150 | Natsuno, 2008 Jul 17) |
| 3151 | - Add 'wspara' option, also accept blank lines like empty lines for "{" and |
| 3152 | "}". (Mark Lundquist, 2008 Jul 18) |
| 3153 | - Patch to add CTRL-T to delete part of a path on cmdline. (Adek, 2008 Jul |
| 3154 | 21) |
| 3155 | - Instead of creating a copy of the tutor in all the shell scripts, do it in |
| 3156 | vimtutor.vim. (Jan Minar, 2008 Jul 20) |
| 3157 | - When fsync() fails there is no hint about what went wrong. Patch by Ben |
| 3158 | Schmidt, 2008 Jul 22. |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3159 | - testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008 |
| 3160 | Sep 13) |
Bram Moolenaar | 26dcc7e | 2010-07-14 22:35:55 +0200 | [diff] [blame] | 3161 | - Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520 by |
| 3162 | Vissale Neang. (Martin Stubenschrott) Asked Vissale to make the scripts |
| 3163 | more friendly for the Vim distribution. |
| 3164 | New version received 2008 Jan 6. |
| 3165 | No maintenance in two years... |
Bram Moolenaar | 5aae419 | 2010-08-03 23:00:38 +0200 | [diff] [blame] | 3166 | - Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3) |
Bram Moolenaar | d68071d | 2006-05-02 22:08:30 +0000 | [diff] [blame] | 3167 | |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3168 | Awaiting updated patches: |
Bram Moolenaar | f9393ef | 2006-04-24 19:47:27 +0000 | [diff] [blame] | 3169 | 9 Mac unicode patch (Da Woon Jung, Eckehard Berns): |
| 3170 | 8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac? |
| 3171 | New patch 2004 Jun 16 |
| 3172 | - selecting proportional font breaks display |
| 3173 | - UTF-8 text causes display problems. Font replacement causes this. |
| 3174 | - Command-key mappings do not work. (Alan Schmitt) |
| 3175 | - With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work. |
| 3176 | (Alan Schmitt) |
| 3177 | - remove 'macatsui' option when this has been fixed. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3178 | - when 'macatsui' is off should we always convert to "macroman" and ignore |
| 3179 | 'termencoding'? |
Bram Moolenaar | 76b92b2 | 2006-03-24 22:46:53 +0000 | [diff] [blame] | 3180 | 9 HTML indenting can be slow. Caused by using searchpair(). Can search() |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3181 | be used instead? A.Politz is looking into a solution. |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 3182 | 8 Win32: Add minidump generation. (George Reilly, 2006 Apr 24) |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3183 | 7 Completion of network shares, patch by Yasuhiro Matsumoto. |
| 3184 | Update 2004 Sep 6. |
| 3185 | How does this work? Missing comments. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3186 | 8 Add a few more command names to the menus. Patch from Jiri Brezina |
Bram Moolenaar | 8cacf35 | 2006-04-15 20:27:24 +0000 | [diff] [blame] | 3187 | (28 feb 2002). Will mess the translations... |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 3188 | 7 ATTENTION dialog choices are more logical when "Delete it" appears |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3189 | before "Quit". Patch by Robert Webb, 2004 May 3. |
| 3190 | - Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 3191 | for multibyte characters. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3192 | - Win32: add options to print dialog. Patch from Vipin Aravind. |
| 3193 | - Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5) |
| 3194 | use the patch that keeps using HLF_8 if HLF_WS has not |
| 3195 | been given values. |
| 3196 | Add section in help files for these highlight groups? |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3197 | 7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin |
| 3198 | Dalecki has a patch for Motif and Carbon) |
| 3199 | - Add possibility to highlight specific columns (for Fortran). Or put a |
| 3200 | line in between columns (e.g., for 'textwidth'). |
| 3201 | Patch to add 'hlcolumn' from Vit Stradal, 2004 May 20. |
| 3202 | 8 Add functions: |
| 3203 | gettext() Translate a message. (Patch from Yasuhiro Matsumoto) |
| 3204 | Update 2004 Sep 10 |
| 3205 | Another patch from Edward L. Fox (2005 Nov 24) |
| 3206 | Search in 'runtimepath'? |
Bram Moolenaar | 8cacf35 | 2006-04-15 20:27:24 +0000 | [diff] [blame] | 3207 | More docs needed about how to use this. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3208 | How to get the messages into the .po files? |
| 3209 | confirm() add "flags" argument, with 'v' for vertical |
| 3210 | layout and 'c' for console dialog. (Haegg) |
| 3211 | Flemming Madsen has a patch for the 'c' flag |
| 3212 | (2003 May 13) |
| 3213 | raisewin() raise gvim window (see HierAssist patch for |
| 3214 | Tcl implementation ~/vim/HierAssist/ ) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3215 | taglist() add argument to specify maximum number of matches. |
| 3216 | useful for interactive things or completion. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 3217 | col('^') column of first non-white character. |
| 3218 | Can use "len(substitute(getline('.'), '\S.*', '', '')) |
| 3219 | + 1", but that's ugly. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3220 | 7 Add patch from Benoit Cerrina to integrate Vim and Perl functions |
| 3221 | better. Now also works for Ruby (2001 Nov 10) |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3222 | 7 When 'rightleft' is set, the search pattern should be displayed right |
| 3223 | to left as well? See patch of Dec 26. (Nadim Shaikli) |
Bram Moolenaar | 8cacf35 | 2006-04-15 20:27:24 +0000 | [diff] [blame] | 3224 | 8 Option to lock all used memory so that it doesn't get swapped to disk |
| 3225 | (uncrypted). Patch by Jason Holt, 2003 May 23. Uses mlock. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3226 | 7 Add ! register, for shell commands. (patch from Grenie) |
| 3227 | 8 In the gzip plugin, also recognize *.gz.orig, *.gz.bak, etc. Like it's |
| 3228 | done for filetype detection. Patch from Walter Briscoe, 2003 Jul 1. |
| 3229 | 7 Add a "-@ filelist" argument: read file names from a file. (David |
| 3230 | Kotchan has a patch for it) |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3231 | 7 Add ":justify" command. Patch from Vit Stradal 2002 Nov 25. |
| 3232 | - findmatch() should be adjusted for Lisp. See remark at |
| 3233 | get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram, |
| 3234 | incomplete patch Mar 18) |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3235 | - For GUI Find/Replace dialog support using a regexp. Patch for Motif |
| 3236 | and GTK by degreneir (nov 10 and nov 18). |
| 3237 | - Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work. |
| 3238 | |
Bram Moolenaar | 723dd94 | 2019-04-04 13:11:03 +0200 | [diff] [blame] | 3239 | Better 'rightleft' or BIDI support: |
| 3240 | - Minimal Vi with bidi support: https://github.com/aligrudi/neatvi |
| 3241 | By Ali Gholami Rudi, also worked on arabic.c |
| 3242 | |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 3243 | |
| 3244 | Spell checking: |
| 3245 | - When 'cursorline' is set and the first word should have SpellCap |
| 3246 | highlighting, redrawing the line removes it when moving the cursor away |
| 3247 | from the line. (#7085) Would need to inspect the end of the previous line |
| 3248 | and update "capcol_lnum" and "cap_col". |
| 3249 | - Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1) |
| 3250 | - Spell files use a latin single quote. Unicode also has another single |
| 3251 | quote: 0x2019. (Ron Aaron, 2014 Apr 4) |
| 3252 | New OpenOffice spell files support this with ICONV. But they are not |
| 3253 | compatible with Vim spell files. The old files can no longer be |
| 3254 | downloaded. |
| 3255 | - Add a feature to only consider two spaces after a dot to start a new |
| 3256 | sentence. Don't give the capitalization error when there is one space. |
| 3257 | - Add a way to specify punctuation characters. Add the superscript numbers |
| 3258 | by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079. |
| 3259 | - In popup menu: If the only problem is the case of the first character, |
| 3260 | don't offer "ignore" and "add to word list". |
| 3261 | - Spell menu: When using the Popup menu to select a replacement word, |
| 3262 | ":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use |
| 3263 | "z=" somehow? Or use a new function. |
| 3264 | |
| 3265 | |
Bram Moolenaar | 2696761 | 2019-03-17 17:13:16 +0100 | [diff] [blame] | 3266 | Quickfix/Location List: |
| 3267 | - Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24, |
| 3268 | #2999) |
| 3269 | - When using CTRL-W CR in the quickfix window, the jumplist in the opened |
| 3270 | window is cleared, to avoid going back to the list of errors buffer (would |
| 3271 | have two windows with it). Can we just remove the jump list entries for |
| 3272 | the quickfix buffer? |
| 3273 | - Quickfix window height is not kept with a vertical split. (Lifepillar, |
| 3274 | 2018 Jun 10, #2998) |
| 3275 | - When an item in the quickfix list has a file name that does not exist, |
| 3276 | behave like the item was not a match for :cnext. |
| 3277 | - When adding an item to a new quickfix list make ":cnext" jump to that |
| 3278 | item. Make a difference being at the first item and not having used |
| 3279 | :cnext at all. (Afanasiy Fet, 2017 Jan 3) |
| 3280 | - This does not work: :set cscopequickfix=a- |
| 3281 | (Linewi, 2015 Jul 12, #914) |
| 3282 | - When opening quickfix window, disable spell checking? |
| 3283 | - Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro, |
| 3284 | 2007 Jan 1) |
| 3285 | - Patch from Herculano de Lima Einloft Neto for better formatting of the |
| 3286 | quickfix window (2004 dec 2) |
| 3287 | - Amiga: When using quickfix with the Manx compiler we only get the first 25 |
| 3288 | errors. How do we get the rest? |
| 3289 | 8 The quickfix file is read without conversion, thus in 'encoding'. Add an |
| 3290 | option to specify the encoding of the errorfile and convert it. Also for |
| 3291 | ":grep" and ":helpgrep". |
| 3292 | More generic solution: support a filter (e.g., by calling a function). |
| 3293 | 7 Add a command that goes back to the position from before jumping to the |
Bram Moolenaar | e46a440 | 2020-06-30 20:38:27 +0200 | [diff] [blame] | 3294 | first quickfix location. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3295 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3296 | Vi incompatibility: |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3297 | - Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7) |
| 3298 | Version 1.5 is in ~/src/posix/1.5. (Lynne Canal) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3299 | 8 With undo/redo only marks in the changed lines should be changed. Other |
| 3300 | marks should be kept. Vi keeps each mark at the same text, even when it |
| 3301 | is deleted or restored. (Webb) |
| 3302 | Also: A mark is lost after: make change, undo, redo and undo. |
| 3303 | Example: "{d''" then "u" then "d''": deletes an extra line, because the '' |
| 3304 | position is one line down. (Veselinovic) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3305 | 8 When stdin is not a tty, and Vim reads commands from it, an error should |
| 3306 | make Vim exit. |
| 3307 | 7 Unix Vim (not gvim): Typing CTRL-C in Ex mode should finish the line |
| 3308 | (currently you can continue typing, but it's truncated later anyway). |
| 3309 | Requires a way to make CTRL-C interrupt select() when in cooked input. |
| 3310 | 8 When loading a file in the .exrc, Vi loads the argument anyway. Vim skips |
| 3311 | loading the argument if there is a file already. When no file argument |
| 3312 | given, Vi starts with an empty buffer, Vim keeps the loaded file. (Bearded) |
| 3313 | 6 In Insert mode, when using <BS> or <Del>, don't wipe out the text, but |
| 3314 | only move back the cursor. Behaves like '$' in 'cpoptions'. Use a flag |
| 3315 | in 'cpoptions' to switch this on/off. |
| 3316 | 8 When editing a file which is a symbolic link, and then opening another |
| 3317 | symbolic link on the same file, Vim uses the name of the first one. |
| 3318 | Adjust the file name in the buffer to the last one used? Use several file |
| 3319 | names in one buffer??? |
| 3320 | Also: When first editing file "test", which is symlink to "test2", and |
| 3321 | then editing "test2", you end up editing buffer "test" again. It's not |
| 3322 | logical that the name that was first used sticks with the buffer. |
| 3323 | 7 The ":undo" command works differently in Ex mode. Edit a file, make some |
| 3324 | changes, "Q", "undo" and _all_ changes are undone, like the ":visual" |
| 3325 | command was one command. |
Bram Moolenaar | eaa48e7 | 2005-06-08 22:07:37 +0000 | [diff] [blame] | 3326 | On the other hand, an ":undo" command in an Ex script only undoes the last |
| 3327 | change (e.g., use two :append commands, then :undo). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3328 | 7 The ":map" command output overwrites the command. Perhaps it should keep |
| 3329 | the ":map" when it's used without arguments? |
| 3330 | 7 CTRL-L is not the end of a section? It is for Posix! Make it an option. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3331 | 7 Add a way to send an email for a crashed edit session. Create a file when |
| 3332 | making changes (containing name of the swap file), delete it when writing |
| 3333 | the file. Supply a program that can check for crashed sessions (either |
| 3334 | all, for a system startup, or for one user, for in a .login file). |
| 3335 | 7 Vi doesn't do autoindenting when input is not from a tty (in Ex mode). |
| 3336 | 7 "z3<CR>" should still use the whole window, but only redisplay 3 lines. |
| 3337 | 7 ":tag xx" should move the cursor to the first non-blank. Or should it go |
| 3338 | to the match with the tag? Option? |
| 3339 | 7 Implement 'autoprint'/'ap' option. |
| 3340 | 7 Add flag in 'cpoptions' that makes <BS> after a count work like <Del> |
| 3341 | (Sayre). |
| 3342 | 7 Add flag in 'cpoptions' that makes operator (yank, filter) not move the |
| 3343 | cursor, at least when cancelled. (default Vi compatible). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3344 | 7 This Vi-trick doesn't work: "Q" to go to Ex mode, then "g/pattern/visual". |
| 3345 | In Vi you can edit in visual mode, and when doing "Q" you jump to the next |
| 3346 | match. Nvi can do it too. |
| 3347 | 7 Support '\' for line continuation in Ex mode for these commands: (Luebking) |
| 3348 | g/./a\ g/pattern1/ s/pattern2/rep1\\ |
| 3349 | line 1\ line 2\\ |
| 3350 | line 2\ line 3\\ |
| 3351 | . line4/ |
| 3352 | 6 ":e /tmp/$tty" doesn't work. ":e $uid" does. Is $tty not set because of |
| 3353 | the way the shell is started? |
| 3354 | 6 Vi compatibility (optional): make "ia<CR><ESC>10." do the same strange |
| 3355 | thing. (only repeat insert for the first line). |
| 3356 | |
| 3357 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3358 | GTK+ GUI known bugs: |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3359 | 9 Crash with X command server over ssh. (Ciaran McCreesh, 2006 Feb 6) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3360 | 8 GTK 2: Combining UTF-8 characters not displayed properly in menus (Mikolaj |
| 3361 | Machowski) They are displayed as separate characters. Problem in |
| 3362 | creating a label? |
Bram Moolenaar | 6e7c7f3 | 2005-08-24 22:16:11 +0000 | [diff] [blame] | 3363 | 8 GTK 2: Combining UTF-8 characters are sometimes not drawn properly. |
| 3364 | Depends on the font size, "monospace 13" has the problem. Vim seems to do |
| 3365 | everything right, must be a GTK bug. Is there a way to work around it? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3366 | 9 Can't paste a Visual selection from GTK-gvim to vim in xterm or Motif gvim |
| 3367 | when it is longer than 4000 characters. Works OK from gvim to gvim and |
| 3368 | vim to vim. Pasting through xterm (using the shift key) also works. |
| 3369 | It starts working after GTK gvim loses the selection and gains it again. |
Bram Moolenaar | e580b0c | 2006-03-21 21:33:03 +0000 | [diff] [blame] | 3370 | - Gnome2: When moving the toolbar out of the dock, so that it becomes |
| 3371 | floating, it can no longer be moved. Therefore making it float has been |
| 3372 | blocked for now. |
| 3373 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3374 | |
| 3375 | Win32 GUI known bugs: |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3376 | - Win32: tearoff menu window should have a scrollbar when it's taller than |
| 3377 | the screen. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3378 | 8 The -P argument doesn't work very well with many MDI applications. |
| 3379 | The last argument of CreateWindowEx() should be used, see MSDN docs. |
| 3380 | Tutorial: http://win32assembly.online.fr/tut32.html |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3381 | 6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":" |
| 3382 | of ":only" is highlighted like the cursor. (Lipelis) |
Bram Moolenaar | d4755bb | 2004-09-02 19:12:26 +0000 | [diff] [blame] | 3383 | 8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide |
| 3384 | characters to make Asian languages work. Win32 fonts contain both |
| 3385 | type of characters. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3386 | 7 When font smoothing is enabled, redrawing can become very slow. The reason |
| 3387 | appears to be drawing with a transparent background. Would it be possible |
| 3388 | to use an opaque background in most places? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3389 | 7 The cursor color indicating IME mode doesn't work properly. (Shizhu Pan, |
| 3390 | 2004 May 9) |
| 3391 | 8 Win32: When clicking on the gvim title bar, which gives it focus, produces |
| 3392 | a file-changed dialog, after clicking on a button in that dialog the gvim |
| 3393 | window follows the mouse. The button-up event is lost. Only with |
| 3394 | MS-Windows 98? |
| 3395 | Try this: ":set sw ts", get enter-prompt, then change the file in a |
| 3396 | console, go back to Vim and click "reload" in the dialog for the changed |
| 3397 | file: Window moves with the cursor! |
| 3398 | Put focus event in input buffer and let generic Vim code handle it? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3399 | 8 Win32 GUI: With maximized window, ":set go-=r" doesn't use the space that |
| 3400 | comes available. (Poucet) It works OK on Win 98 but doesn't work on Win |
| 3401 | NT 4.0. Leaves a grey area where the scrollbar was. ":set go+=r" also |
| 3402 | doesn't work properly. |
| 3403 | 8 When Vim is minimized and when maximizing it a file-changed dialog pops |
| 3404 | up, Vim isn't maximized. It should be done before the dialog, so that it |
| 3405 | appears in the right position. (Webb) |
| 3406 | 9 When selecting at the more-prompt or hit-enter-prompt, the right mouse |
| 3407 | button doesn't give popup menu. |
| 3408 | At the hit-enter prompt CTRL-Y doesn't work to copy the modeless |
| 3409 | selection. |
| 3410 | On the command line, don't get a popup menu for the right mouse button. |
| 3411 | Let the middle button paste selected text (not the clipboard but the |
| 3412 | non-Visual selection)? Otherwise CTRL-Y has to be used to copy the text. |
| 3413 | 8 When 'grepprg' doesn't execute, the error only flashes by, the |
| 3414 | user can hardly see what is wrong. (Moore) |
| 3415 | Could use vimrun with an "-nowait" argument to only wait when an error |
| 3416 | occurs, but "command.com" doesn't return an error code. |
| 3417 | 8 When the 'shell' cannot be executed, should give an appropriate error msg. |
| 3418 | Esp. for a filter command, currently it only complains the file could not |
| 3419 | be read. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3420 | 7 At the hit-enter prompt scrolling now no longer works. Need to use the |
| 3421 | keyboard to get around this. Pretend <CR> was hit when the user tries to |
Bram Moolenaar | 4463f29 | 2005-09-25 22:20:24 +0000 | [diff] [blame] | 3422 | scroll? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3423 | 7 Scrollbar width doesn't change when selecting other windows appearance. |
| 3424 | Also background color of Toolbar and rectangle below vert. scrollbar. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3425 | 6 Drawing text transparently doesn't seem to work (when drawing part cursor). |
| 3426 | 8 CTRL key doesn't always work in combination with ALT key. It does work |
| 3427 | for function keys, not for alphabetic characters. Perhaps this is because |
| 3428 | CTRL-ALT is used by Windows as AltGr? |
| 3429 | 8 CTRL-- doesn't work for AZERTY, because it's CTRL-[ for QWERTY. How do we |
| 3430 | know which keyboard is being used? |
| 3431 | 7 When scrolling, and a background color is dithered, the dither pattern |
| 3432 | doesn't always join correctly between the scrolled area and the new drawn |
| 3433 | area (Koloseike). |
| 3434 | 8 When gui_init_font() is called with "*", p_guifont is freed while it might |
| 3435 | still be used somewhere. This is too tricky, do the font selection first, |
| 3436 | then set the new font by name (requires putting all logfont parameters in |
| 3437 | the font name). |
| 3438 | |
| 3439 | |
| 3440 | Athena and Motif: |
Bram Moolenaar | 5313dcb | 2005-02-22 08:56:13 +0000 | [diff] [blame] | 3441 | 6 New Motif toolbar button from Marcin Dalecki: |
| 3442 | - When the mouse pointer is over an Agide button the red becomes black. |
| 3443 | Something with the way colors are specified in the .xpm file. |
| 3444 | - The pixmap is two pixels smaller than it should be. The gap is filled |
| 3445 | with grey instead of the current toolbar background color. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3446 | 9 Can configure be changed to disable netbeans if the Xpm library is |
| 3447 | required and it's missing? |
| 3448 | 8 When using the resource "Vim*borderwidth 2" the widgets are positioned |
| 3449 | wrong. |
| 3450 | 9 XIM is disabled by default for SGI/IRIX. Fix XIM so that 'imdisable' can |
| 3451 | be off by default. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 3452 | 9 XIM doesn't work properly for Athena/Motif. (Yasuhiro Matsumoto) For now, |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3453 | keep XIM active at all times when the input method has the preediting |
| 3454 | flag. |
| 3455 | 8 X11: A menu that contains an umlaut is truncated at that character. |
| 3456 | Happens when the locale is "C", which uses ASCII instead of IS0-8859-1. |
| 3457 | Is there a way to use latin1 by default? Gnome_init() seems to do this. |
| 3458 | 8 Perhaps use fontsets for everything? |
| 3459 | 6 When starting in English and switching the language to Japanese, setting |
| 3460 | the locale with ":lang", 'guifontset' and "hi menu font=", deleting all |
| 3461 | menus and setting them again, the menus don't use the new font. Most of |
| 3462 | the tooltips work though... |
| 3463 | 7 Motif: when using a file selection dialog, the specified file name is not |
| 3464 | always used (when specifying a filter or another directory). |
| 3465 | 8 When 'encoding' is different from the current locale (e.g., utf-8) the |
| 3466 | menu strings don't work. Requires conversion from 'encoding' to the |
| 3467 | current locale. Workaround: set 'langmenu'. |
| 3468 | |
| 3469 | |
| 3470 | Athena GUI: |
Bram Moolenaar | 166af9b | 2010-11-16 20:34:40 +0100 | [diff] [blame] | 3471 | 9 The first event for any button in the menu or toolbar appears to get lost. |
| 3472 | The second click on a menu does work. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3473 | 9 When dragging the scrollbar thumb very fast, focus is only obtained in |
| 3474 | the scrollbar itself. And the thumb is no longer updated when moving |
| 3475 | through files. |
| 3476 | 7 The file selector is not resizable. With a big font it is difficult to |
| 3477 | read long file names. (Schroeder) |
| 3478 | 4 Re-write the widget attachments and code so that we will not have to go |
| 3479 | through and calculate the absolute position of every widget every time the |
| 3480 | window is refreshed/changes size. This will help the "flashing-widgets" |
| 3481 | problem during a refresh. |
| 3482 | 5 When starting gvim with all the default colors and then typing |
| 3483 | ":hi Menu guibg=cyan", the menus change color but the background of the |
| 3484 | pullright pixmap doesn't change colors. |
| 3485 | If you type ":hi Menu guibg=cyan font=anyfont", then the pixmap changes |
| 3486 | colors as it should. |
| 3487 | Allocating a new pixmap and setting the resource doesn't change the |
| 3488 | pullright pixmap's colors. Why? Possible Athena bug? |
| 3489 | |
| 3490 | |
| 3491 | Motif GUI: |
Bram Moolenaar | 0065906 | 2010-09-21 22:34:02 +0200 | [diff] [blame] | 3492 | - gui_mch_browsedir() is missing, browsedir() doesn't work nicely. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3493 | 7 Use XmStringCreateLocalized() instead of XmStringCreateSimple()? |
| 3494 | David Harrison says it's OK (it exists in Motif 1.2). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3495 | 8 Lesstif: When deleting a menu that's torn off, the torn off menu becomes |
| 3496 | very small instead of disappearing. When closing it, Vim crashes. |
| 3497 | (Phillipps) |
| 3498 | |
| 3499 | |
| 3500 | GUI: |
| 3501 | 9 On Solaris, creating the popup menu causes the right mouse button no |
| 3502 | longer to work for extending the selection. (Halevy) |
| 3503 | 9 When running an external program, it can't always be killed with CTRL-C. |
Bram Moolenaar | 51ac12f | 2005-07-02 23:21:11 +0000 | [diff] [blame] | 3504 | e.g., on Solaris 5.5, when using "K" (Keech). Other 'guipty' problems on |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3505 | Solaris 2.6. (Marley) |
| 3506 | 9 On Solaris: Using a "-geometry" argument, bigger than the window where Vim |
| 3507 | is started from, causes empty lines below the cmdline. (raf) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3508 | 8 When setting 'langmenu', it should be effective immediately. Store both |
| 3509 | the English and the translated text in the menu structure. Re-generate |
| 3510 | the translation when 'langmenu' has changed. |
| 3511 | 8 Basic flaw in the GUI code: NextScreen is updated before calling |
| 3512 | gui_write(), but the GUI code relies on NextScreen to represent the state |
| 3513 | of where it is processing the output. |
| 3514 | Need better separation of Vim core and GUI code. |
| 3515 | 8 When fontset support is enabled, setting 'guifont' to a single font |
| 3516 | doesn't work. |
Bram Moolenaar | cbebd48 | 2016-02-07 23:02:56 +0100 | [diff] [blame] | 3517 | 8 Menu priority for sub-menus for: Amiga. |
Bram Moolenaar | 1056d98 | 2006-03-09 22:37:52 +0000 | [diff] [blame] | 3518 | 8 When translating menus ignore the part after the Tab, the shortcut. So |
| 3519 | that the same menu item with a different shortcut (e.g., for the Mac) are |
| 3520 | still translated. |
Bram Moolenaar | 446beb4 | 2011-05-10 17:18:44 +0200 | [diff] [blame] | 3521 | 8 Add menu separators for Amiga. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3522 | 8 Add way to specify the file filter for the browse dialog. At least for |
| 3523 | browse(). |
| 3524 | 8 Add dialog for search/replace to other GUIs? Tk has something for this, |
| 3525 | use that code? Or use console dialog. |
| 3526 | 8 When selecting a font with the font dialog and the font is invalid, the |
| 3527 | error message disappears too quick. |
Bram Moolenaar | 5313dcb | 2005-02-22 08:56:13 +0000 | [diff] [blame] | 3528 | 7 More features in the find/replace dialog: |
| 3529 | - regexp on/off |
| 3530 | - search in selection/buffer/all buffers/directory |
| 3531 | when all buffers/directory is used: |
| 3532 | - filter for file name |
| 3533 | when directory is used: |
| 3534 | - subdirectory on/off |
| 3535 | - top directory browser |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3536 | 8 gui_check_colors() is not called at the right moment. Do it much later, |
| 3537 | to avoid problems. |
| 3538 | 8 gui_update_cursor() is called for a cursor shape change, even when there |
| 3539 | are mappings to be processed. Only do something when going to wait for |
| 3540 | input. Or maybe every 100 ms? |
| 3541 | 8 X11: When the window size is reduced to fit on screen, there are blank |
| 3542 | lines below the text and bottom scrollbar. "gvim -geometry 80x78+0+0". |
| 3543 | When the "+0+0" is omitted it works. |
| 3544 | 8 When starting an external command, and 'guipty' set, BS and DEL are mixed |
| 3545 | up. Set erase character somehow? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3546 | 8 The compose key doesn't work properly (Cepas). Both for Win32 and X11. |
| 3547 | 7 The cursor in an inactive window should be hollow. Currently it's not |
| 3548 | visible. |
| 3549 | 7 GUI on Solaris 2.5.1, using /usr/dt/..: When gvim starts, cursor is |
| 3550 | hollow, after window lowered/raised it's OK. (Godfrey) |
| 3551 | 7 When starting GUI with ":gui", and window is made smaller because it |
| 3552 | doesn't fit on the screen, there is an extra redraw. |
| 3553 | 8 When setting font with .Xdefaults, there is an extra empty line at the |
| 3554 | bottom, which disappears when using ":set guifont=<Tab>". (Chadzelek) |
| 3555 | 8 When font shape changes, but not the size, doing ":set font=" does not |
| 3556 | redraw the screen with the new font. Also for Win32. |
| 3557 | When the size changes, on Solaris 2.5 there isn't a redraw for the |
| 3558 | remaining part of the window (Phillipps). |
| 3559 | - Flashes really badly in certain cases when running remotely from a Sun. |
| 3560 | 4 Re-write the code so that the highlighting isn't changed multiple times |
| 3561 | when doing a ":hi clear". The color changes happen three or more times |
| 3562 | currently. This is very obvious on a 66Mhz 486. |
| 3563 | |
| 3564 | |
Bram Moolenaar | 5f148ec | 2016-03-07 22:59:26 +0100 | [diff] [blame] | 3565 | Win32 console: |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 3566 | 8 Should $USERPROFILE be preferred above $HOMEDRIVE/$HOMEPATH? No, but it's |
| 3567 | a good fallback, thus use: |
| 3568 | $HOME |
| 3569 | $HOMEDRIVE$HOMEPATH |
| 3570 | SHGetSpecialFolderPath(NULL, lpzsPath, CSIDL_APPDATA, FALSE); |
| 3571 | $USERPROFILE |
| 3572 | SHGetSpecialFolderPath(NULL, lpzsPath, CSIDL_COMMON_APPDATA, FALSE); |
| 3573 | $ALLUSERSPROFILE |
| 3574 | $SYSTEMDRIVE\ |
| 3575 | C:\ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3576 | 8 Win32 console: <M-Up> and <M-Down> don't work. (Geddes) We don't have |
| 3577 | special keys for these. Should use modifier + key. |
| 3578 | 8 Win32 console: caps-lock makes non-alpha keys work like with shift. |
| 3579 | Should work like in the GUI version. |
| 3580 | 8 Environment variables in DOS are not case sensitive. Make a define for |
| 3581 | STRCMP_ENV(), and use it when comparing environment var names. |
| 3582 | 8 Setting 'shellslash' has no immediate effect. Change all file names when |
| 3583 | it is set/reset? Or only use it when actually executing a shell command? |
| 3584 | 8 When editing a file on a Samba server, case might matter. ":e file" |
| 3585 | followed by ":e FILE" will edit "file" again, even though "FILE" might be |
| 3586 | another one. Set last used name in buflist_new()? Fix do_ecmd(), etc. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3587 | 8 When a buffer is editing a file like "ftp://mach/file", which is not going |
| 3588 | to be used like a normal file name, don't change the slashes to |
| 3589 | backslashes. (Ronald Hoellwarth) |
| 3590 | |
| 3591 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3592 | Win32 console: |
| 3593 | 9 When editing a file by its short file name, it should be expanded into its |
| 3594 | long file name, to avoid problems like these: (Mccollister) |
| 3595 | 1) Create a file called ".bashrc" using some other editor. |
| 3596 | 2) Drag that file onto a shortcut or the actual executable. |
| 3597 | 3) Note that the file name is something like BASHRC~1 |
| 3598 | 4) Go to File->Save As menu item and type ".bashrc" as the file name. |
| 3599 | 5) Press "Yes" to indicate that I want to overwrite the file. |
| 3600 | 6) Note that the message "File exists (add ! to override)" is displayed |
| 3601 | and the file is not saved. |
| 3602 | Use FindFirstFile() to expand a file name and directory in the path to its |
| 3603 | long name. |
| 3604 | 8 Also implement 'conskey' option for the Win32 console version? Look at |
| 3605 | how Xvi does console I/O under Windows NT. |
| 3606 | 7 Re-install the use of $TERM and support the use of different terminals, |
| 3607 | besides the console. |
| 3608 | 8 Use of <altgr> modifier doesn't work? 5.3 was OK. (Garcia-Suarez/Guckes) |
| 3609 | 9 Mapping <C-S-Tab> doesn't work correctly. How to see the difference with |
| 3610 | <C-S-i>? |
| 3611 | 9 tmpnam() uses file in root of file system: "\asdf". That doesn't work on |
| 3612 | a Netware network drive. Use same function as for Win32 GUI? |
| 3613 | 8 In os_win32.h, HAVE_STRICMP and HAVE_STRNICMP are defined only if __GNUC__ |
| 3614 | is not defined. Shouldn't that be the other way around? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3615 | |
| 3616 | |
| 3617 | Amiga: |
| 3618 | 8 In mch_inchar() should use convert_input_safe() to handle incomplete byte |
| 3619 | sequences. |
| 3620 | 9 In mch_expandpath() a "*" is to be expanded, but "\*" isn't. Remove |
| 3621 | backslashes in result. |
| 3622 | 8 Executing a shell, only one option for 'shell' is separated. Should do |
| 3623 | all options, using white space separation. |
| 3624 | |
| 3625 | |
| 3626 | Macintosh: |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3627 | - GUI: gui_mch_browsedir() is missing. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3628 | 7 Loading the Perl library only works on OS/X 10.2 or 10.3, never on both. |
| 3629 | Load the Perl library dynamically see Python sources file dynload_mac |
| 3630 | (Jack) |
| 3631 | dynamic linking: http://developer.apple.com/technotes/tn2002/tn2064.html |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3632 | 8 inputdialog() doesn't resize when giving more text lines. (David Fishburn, |
| 3633 | 2006 Sept 28) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3634 | 8 Define vim_mkdir() for Macintosh. |
| 3635 | 8 Define mch_writable() for Macintosh. |
| 3636 | 9 When DiskLock is running, using a swap file causes a crash. Appears to be |
| 3637 | a problem with writing a file that starts with a dot. (Giacalone) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3638 | 9 In mac_expandpath() check that handling of backslashes is done properly. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3639 | |
| 3640 | |
| 3641 | "Small" problems: |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3642 | - When using e_secure in do_one_cmd() mention the command being executed, |
| 3643 | otherwise it's not clear where it comes from. |
Bram Moolenaar | d68071d | 2006-05-02 22:08:30 +0000 | [diff] [blame] | 3644 | 9 For Turkish vim_tolower() and vim_toupper() also need to use utf_ |
| 3645 | functions for characters below 0x80. (Sertacyildiz) |
Bram Moolenaar | c93b83a | 2006-04-29 22:02:36 +0000 | [diff] [blame] | 3646 | 9 When the last edited file is a help file, using '0 in a new Vim doesn't |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 3647 | edit the file as a help file. 'filetype' is OK, but 'iskeyword' isn't, |
| 3648 | file isn't readonly, etc. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3649 | 8 When an ":edit" is inside a try command and the ATTENTION prompt is used, |
| 3650 | the :catch commands are always executed, also when the file is edited |
| 3651 | normally. Should reset did_emsg and undo side effects. Also make sure |
Bram Moolenaar | 2df6dcc | 2004-07-12 15:53:54 +0000 | [diff] [blame] | 3652 | the ATTENTION message shows up. Servatius Brandt works on this. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3653 | 7 Vimtutor leaves escape sequence in terminal. This is the xterm response to |
| 3654 | requesting the version number. (Yasuhiro Matsumoto) |
| 3655 | 8 When redirecting and using ":silent" the current column for displaying and |
| 3656 | redirection can be different. Use a separate variable to hold the column |
| 3657 | for redirection. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3658 | 7 The messages for "vim --help" and "vim --version" don't use |
| 3659 | 'termencoding'. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3660 | - Could the hit-enter prompt be avoided when a message only overlaps the |
| 3661 | 'showcmd' area? Clear that area when the next cmd is typed. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3662 | 8 When 'scrollbind' is set, a window won't scroll horizontally if the cursor |
| 3663 | line is too short. Add a word in 'scrollopt' to allow moving the cursor |
| 3664 | to longer line that is visible. A similar thing is done for the GUI when |
| 3665 | using the horizontal scrollbar. |
| 3666 | 7 VisVim can only open one file. Hard to solve: each opened file is passed |
| 3667 | with a separate invocation, would need to use timestamps to know the |
| 3668 | invocations belong together. |
| 3669 | 8 When giving a ":bwipeout" command a file-changed dialog may popup for this |
| 3670 | buffer, which is pointless. (Mike Williams) |
| 3671 | 8 On MS-Windows ":make" doesn't show output while it is working. Use the |
| 3672 | tee.exe from http://unxutils.sourceforge.net/ ? About 16 Kbyte in the |
| 3673 | UnxUtils.zip archive. |
Bram Moolenaar | acb4f22 | 2016-01-10 15:59:26 +0100 | [diff] [blame] | 3674 | Is it better than what we have in src/tee? |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 3675 | 8 When doing Insert mode completion a mapping cannot recursively call |
| 3676 | edit(), because the completion information is global. Put everything in |
| 3677 | an allocated structure? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3678 | 8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing |
| 3679 | ":buf foo<Tab>" doesn't find the second one. (George V. Reilly) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3680 | 7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte |
| 3681 | character. (Yasuhiro Matsumoto) It should return 1 when used on a tail |
| 3682 | byte, like for utf-8. Store second byte of double-byte in ScreenLines2[] |
| 3683 | (like for DBCS_JPNU) and put a zero in the second byte (like for UTF-8). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3684 | 7 Inside a function with "perl <<EOF" a line with "$i++" is recognized as an |
| 3685 | ":insert" command, causing the following "endfunction" not to be found. |
| 3686 | Add skipping this perl construction inside function definitions. |
| 3687 | 7 When 'ttimeoutlen' is 10 and 'timeoutlen' is 1000, there is a keycode |
| 3688 | "<Esc>a" and a mapping <Esc>x", when typing "<Esc>a" with half a second |
| 3689 | delay should not be interpreted as a keycode. (Hans Ginzel) |
| 3690 | 7 ":botright 1 new" twice causes all window heights to be changed. Make the |
| 3691 | bottom window only bigger as much as needed. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3692 | 7 The Cygwin and MingW makefiles define "PC", but it's not used anywhere. |
| 3693 | Remove? (Dan Sharp) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3694 | 9 User commands use the context of the script they were defined in. This |
| 3695 | causes a "s:var" argument to unexpectedly use a variable in the defining |
| 3696 | script, not the calling script. Add an argument to ":command": |
| 3697 | "-keepcontext". Do replace <SID>, so that a function in the defining |
| 3698 | script can be called. |
| 3699 | 8 The Japanese message translations for MS-Windows are called ja.sjis.po, |
| 3700 | but they use encoding cp932. Rename the file and check that it still |
| 3701 | works. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3702 | 8 A very long message in confirm() can't be quit. Make this possible with |
| 3703 | CTRL-C. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 3704 | 8 "gf" always excludes trailing punctuation characters. file_name_in_line() |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3705 | is currently fixed to use ".,:;!". Add an option to make this |
| 3706 | configurable? |
| 3707 | 8 'hkmap' should probably be global-local. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3708 | 8 Using ":s" in a function changes the previous replacement string. Save |
| 3709 | "old_sub" in save_search_patterns()? |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 3710 | 8 Should allow multibyte characters for the delimiter: ":s+a+b+" where "+" |
| 3711 | is a multibyte character. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3712 | 8 When appending to a file and 'patchmode' isn't empty, a backup file is |
| 3713 | always written, even when the original file already exists. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3714 | 9 When getting focus while writing a large file, could warn for this file |
| 3715 | being changed outside of Vim. Avoid checking this while the file is being |
| 3716 | written. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3717 | 7 The message in bt_dontwrite_msg() could be clearer. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3718 | 8 The script ID that is stored with an option and displayed with ":verbose |
| 3719 | set" isn't reset when the option is set internally. For example when |
| 3720 | 'foldlevel' is set from 'foldlevelstart'. |
Bram Moolenaar | c9b4b05 | 2006-04-30 18:54:39 +0000 | [diff] [blame] | 3721 | 8 Also store the line number with the script ID and use it for ":verbose", |
| 3722 | so that "set nocompatible" is found when it changes other option values. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3723 | When an option is set indirectly mention the command? E.g. when |
| 3724 | ":diffsplit" sets 'foldmethod'. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3725 | 8 In the fileformat dialog, "Cancel" isn't translated. Add a global |
| 3726 | variable for this. (Eduardo Fernandez) |
| 3727 | 9 When editing a file with 'readonly' set, there is no check for an existing |
| 3728 | swap file. Then using ":write" (without making any changes) doesn't give |
| 3729 | a warning either. Should check for an existing swap file without creating |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 3730 | one. Unfinished patch by Ian Kelling, 2008 July 14. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3731 | 7 When 'showbreak' is set, the amount of space a Tab occupies changes. |
| 3732 | Should work like 'showbreak' is inserted without changing the Tabs. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3733 | 7 When 'mousefocus' is set and switching to another window with a typed |
| 3734 | command, the mouse pointer may be moved to a part of the window that's |
| 3735 | covered by another window and we lose focus. Only move in the y |
| 3736 | direction, not horizontally? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3737 | 8 ":hardcopy": |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3738 | - Using the cterm_color[] table is wrong when t_colors is > 16. |
| 3739 | - Need to handle unprintable characters. |
| 3740 | - Win32: On a B&W printer syntax highlighting isn't visible. Perform |
| 3741 | dithering to make grey text? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3742 | - Add a flag in 'printoptions' to add an empty page to make the total |
| 3743 | number even. "addempty"? (Mike Williams) |
Bram Moolenaar | c0197e2 | 2004-09-13 20:26:32 +0000 | [diff] [blame] | 3744 | - Respect 'linebreak'. Perhaps also 'showbreak'? |
Bram Moolenaar | 996343d | 2010-07-04 22:20:21 +0200 | [diff] [blame] | 3745 | - Should interpret CTRL-L as a page break. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3746 | - Grey line numbers are not always readable. Add field in 'printoptions'. |
| 3747 | Default to black when no syntax highlighting. |
| 3748 | - Be able to print a window in diff mode. |
| 3749 | - Be able to specify a colorscheme to use for printing. And a separate |
| 3750 | one for B&W printing (if that can be detected). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3751 | 8 When 'virtualedit' is "block,insert" and encoding is "utf-8", selecting a |
| 3752 | block of one double-wide character, then "d" deletes only half of it. |
| 3753 | 8 When 'virtualedit' is set, should "I" in blockwise visual mode also insert |
| 3754 | in lines that don't extend into the block? |
| 3755 | 8 With 'virtualedit' set, in Insert mode just after the end of line, CTRL-O |
| 3756 | yh does not yank the last character of the line. (Pavel Papushev) |
| 3757 | Doing "hl" first appears to make it work. |
| 3758 | 8 With 'virtualedit' set it's possible to move into the blank area from |
| 3759 | 'linebreak'. |
| 3760 | 8 With 'virtualedit' set and 'selection' "exclusive", a Visual selection |
| 3761 | that ends in or after a tab, "d" doesn't delete (part of) the tab. |
| 3762 | (Helmut Stiegler) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3763 | 9 When jumping to a tag, the search pattern is put in the history. When |
| 3764 | 'magic' is on, the pattern may not work. Translate the pattern depending |
| 3765 | on p_magic when putting it in the history? Alternative: Store value of |
| 3766 | 'magic' in history. (Margo) |
| 3767 | 9 optwin.vim: Restoring a mapping for <Space> or <CR> is not correct for |
| 3768 | ":noremap". Add "mapcmd({string}, {mode})? Use code from ":mkexrc". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3769 | 9 term_console is used before it is set (msdos, Amiga). |
| 3770 | 9 Get out-of-memory for ":g/^/,$s//@/" on 1000 lines, this is not handled |
| 3771 | correctly. Get many error messages while redrawing the screen, which |
| 3772 | cause another redraw, etc. |
| 3773 | 8 [<C-I> doesn't work when '*' is in 'iskeyword'. find_pattern_in_path() |
| 3774 | must escape special characters in the pattern. |
| 3775 | 8 Vim can overwrite a read-only file with ":w!". ":w" can't overwrite an |
| 3776 | existing file, "w!" can, but perhaps not a read-only file? Then use |
| 3777 | ":w!!" for that. |
| 3778 | Or ask for permission to overwrite it (if file can be made writable) and |
| 3779 | restore file to readonly afterwards. |
Bram Moolenaar | 04a09c1 | 2005-08-01 22:02:32 +0000 | [diff] [blame] | 3780 | Overwriting a file for which a swap file exists is similar issue. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3781 | 7 When compiled with "xterm_clipboard", startup can be slower and might get |
| 3782 | error message for invalid $DISPLAY. Try connecting to the X server in the |
| 3783 | background (forked), so that Vim starts up quicker? Connect as soon as |
| 3784 | the clipboard is to be used (Visual select mode starts, paste from |
| 3785 | clipboard) |
| 3786 | 7 X11: Some people prefer to use CLIPBOARD instead of PRIMARY for the normal |
| 3787 | selection. Add an "xclipboard" argument to the 'clipboard' option? (Mark |
| 3788 | Waggoner) |
Bram Moolenaar | 35a9aaa | 2004-10-24 19:23:07 +0000 | [diff] [blame] | 3789 | 6 When the xterm reports the number of colors, a redraw occurs. This is |
| 3790 | annoying on a slow connection. Wait for the xterm to report the number of |
| 3791 | colors before drawing the screen. With a timeout. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3792 | 8 When the builtin xterm termcap contains codes that are not wanted, need a |
| 3793 | way to avoid using the builtin termcap. |
| 3794 | 8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also |
| 3795 | recognize these keys? Mostly useful for xterm simulators, like gnometerm. |
| 3796 | See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style. |
| 3797 | 8 '[ and '] should be set to start/end of line when using a linewise operator |
| 3798 | (e.g., ":w"). |
| 3799 | 8 CTRL-A can't handle big "long" numbers, they become negative. Check for |
| 3800 | "-" character, if not present, use unsigned long. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3801 | 8 Add suspending with CTRL-Z at the "more" prompt, and when executing a long |
| 3802 | script in do_cmdline(). |
| 3803 | 8 When using 'hidden', many swap files will be open. When Vim runs into the |
| 3804 | maximum number of open files, error messages will appear. Detect that |
| 3805 | this problem is present, and close any hidden files that don't have |
| 3806 | changes. |
| 3807 | 8 With 'viminfo' set such that the ".viminfo" file is written on a FAT |
| 3808 | filesystem, an illegal file name may be created: ".vim". |
| 3809 | 8 For each buffer that is opened, the viminfo file is opened and read to |
| 3810 | check for file marks. This can be slow. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3811 | 8 Core dump within signal function: gdb doesn't show stack backtrace! Option |
| 3812 | to skip catch_signals()? |
| 3813 | 9 Repeating a "cw" with "." doesn't work if the text was pasted from the |
| 3814 | clipboard. (Thomas Jones) It's because the menu/toolbar item exits Insert |
| 3815 | mode and uses "gP". How to fix this without breaking inserting a block of |
| 3816 | text? |
| 3817 | 8 In Replace mode pasting from the clipboard (using menu or toolbar) inserts |
| 3818 | all the text. Add ":rmenu"? |
| 3819 | 8 Pasting with the mouse in Replace mode inserts the text, instead of |
| 3820 | overwriting, when it is more than one line. Same for using <C-R>. |
| 3821 | 9 CTRL-E and CTRL-Y don't work in small window when 'so' is 4 and lines are |
| 3822 | wrapping (Acevedo/in.226). E.g., when using CTRL-E, window height 7, |
| 3823 | window might actually scroll down when last line of buffer is displayed. |
| 3824 | --> Remember if the previous command was "cursor follows screen" or |
| 3825 | "screen follow cursor" and use this in cursupdate(). |
| 3826 | 7 tilde_replace() can only handle "~/", should also do "~user/". |
| 3827 | Get the list of home directories (from /etc/passwd? Use getpwent()) and |
| 3828 | use some clever algorithm to match a path with that. Find common strings |
| 3829 | in the list? |
| 3830 | 8 When dragging status line with mouse, sometimes a jump when first clicking |
| 3831 | on the status line (caused by 'winheight'). Select window on button up, |
| 3832 | instead of on button down. |
| 3833 | 8 Dragging the status line doesn't scroll but redraw. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3834 | 8 When performing incremental search, should abort searching as soon as a |
| 3835 | character is typed. |
| 3836 | 8 When the value of $MAKE contains a path, configure can't handle this. |
| 3837 | It's an autoconf bug. Remove the path from $MAKE to work around it. |
| 3838 | 8 How to set VIMRC_FILE to \"something\" for configure? Why does this not |
| 3839 | work: CFLAGS='-DVIMRC_FILE=\"/mydir/myfile\"' ./configure |
| 3840 | 8 The temporary file is sometimes not writable. Check for this, and use an |
| 3841 | alternate name when it isn't. Or add the 'temptemplate' option: template |
| 3842 | for the temp file name ":set temptemplate=/usr/tmp/?????.tmp". |
| 3843 | Also: Win32 version uses Windows temp directory, which might not work for |
| 3844 | cygwin bash. |
| 3845 | 7 Get error "*, \+ or \( operand could be empty" for pattern "\(.\)\1\{3}". |
| 3846 | Remember flags for backreferences. |
| 3847 | 7 When switching to Daylight Saving Time, Vim complains that a file has been |
| 3848 | changed since last read. Can we use a function that uses GMT? |
| 3849 | 7 When completing an environment variable after a '$', check for file names |
| 3850 | that contain a '$' after all have been found. |
| 3851 | 8 When "cm" termcap entry is missing, starting gvim shouldn't complain about |
| 3852 | it. (Lohner) Try out with "vt100" entry, cm replaced with cX. |
| 3853 | 7 When an include file starts with "../", the check for already visiting |
| 3854 | this file doesn't work. Need to simplify the file name. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3855 | 7 The names and comments for the arguments of do_browse() are confusing. |
| 3856 | "dflt" isn't the default file name when "initdir" is not NULL and |
| 3857 | "initdir" is the default path to be used. |
| 3858 | 7 When 'scrolloff' is exactly half the window height, "j" causes a scroll of |
| 3859 | two lines at a time. "k" doesn't do this. (Cory T. Echols) |
| 3860 | 8 When write_viminfo() is used while there are many orphaned viminfo |
| 3861 | tempfiles writing the viminfo file fails. Give a clear error message so |
Bram Moolenaar | 3d1cde8 | 2020-08-15 18:55:18 +0200 | [diff] [blame] | 3862 | that the user knows the files have to be deleted. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3863 | |
| 3864 | |
| 3865 | I can't reproduce these (if you can, let me know how!): |
| 3866 | 9 NT 4.0 on NTFS file system: Editing ".bashrc" (drag and drop), file |
| 3867 | disappears. Editing ".xyz" is OK. Also, drag&drop only works for three |
| 3868 | files. (McCollister) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3869 | |
| 3870 | |
| 3871 | Problems that will (probably) not be solved: |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 3872 | - GTK: when using the popup menu with spelling suggestions and releasing the |
| 3873 | right mouse button before the menu appears selecting an item with the |
| 3874 | right mouse button has no effect. GTK does not produce an event for this. |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 3875 | - GTK 2: Cannot use the file selector. When using it many things become |
| 3876 | slow. This is caused by some code in GTK that writes |
| 3877 | ~/.recently-used.xbel every time an event is handled. It assumes the main |
| 3878 | loop is never quit, which is a wrong assumption. Also, it overwrites the |
| 3879 | file with different file permissions, which is a privacy issue. This |
| 3880 | needs to be fixed in GTK. A solution in Vim would be really complicated. |
Bram Moolenaar | 33aea18 | 2010-08-07 13:19:27 +0200 | [diff] [blame] | 3881 | (2008 Jul 31) This appears to be fixed in Vim 7.3. |
Bram Moolenaar | 35a9aaa | 2004-10-24 19:23:07 +0000 | [diff] [blame] | 3882 | - xterm title: The following scenario may occur (esp. when running the Vim |
| 3883 | test script): Vim 1 sets the title to "file1", then restores the title to |
Bram Moolenaar | bee0c5b | 2005-02-07 22:03:36 +0000 | [diff] [blame] | 3884 | "xterm" with an ESC sequence when exiting. Vim 2 obtains the old title |
Bram Moolenaar | 35a9aaa | 2004-10-24 19:23:07 +0000 | [diff] [blame] | 3885 | with an X library call, this may result in "file1", because the window |
| 3886 | manager hasn't processed the "xterm" title yet. Can apparently only be |
| 3887 | worked around with a delay. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3888 | - In a terminal with 'mouse' set such that the mouse is active when entering |
| 3889 | a command line, after executing a shell command that scrolls up the |
| 3890 | display and then pressing ":": Selecting text with the mouse works like |
| 3891 | the display wasn't scrolled. Vim doesn't know how much the external |
| 3892 | command scrolled up the display. Use Shift to select text. |
| 3893 | - X windows: When $DISPLAY points to a X server where there is no access |
| 3894 | permission, trying to connect to the X server causes an error message. |
| 3895 | XtOpenDisplay() prints this directly, there is no way to avoid it. |
| 3896 | - X windows: Setting 'guifontset' to an illegal value sometimes crashes Vim. |
| 3897 | This is caused by a fault in a X library function, can't be solved in Vim. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3898 | - Win32 tcl: has("tcl") hangs when the tcl84.dll is from cygwin. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3899 | - Motif: When adding a menu item "Find this &Symbol", the "s" in "this" will |
| 3900 | be underlined, instead of in "Symbol". Motif doesn't let us specify which |
| 3901 | character gets the highlighting. |
| 3902 | - Moving the cursor removes color in color-xterm. This is a color-xterm |
| 3903 | problem! color-xterm ver. 6.1 beta 3 and later work properly. |
| 3904 | - In zsh, "gvim&" changes the terminal settings. This is a zsh problem. |
| 3905 | (Jennings) |
| 3906 | - Problem with HPterm under X: old contents of window is lost (Cosentino). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3907 | - Amiga: The ":cq" command does not always abort the Manx compiler. Why? |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 3908 | - Linux: A file with protection r--rw-rw- is seen readonly for others. The |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3909 | access() function in GNU libc is probably wrong. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3910 | - When doing a CTRL-Z and typing a command for the shell, while Vim is busy |
| 3911 | (e.g. writing a file), the command for the shell is sometimes eaten by Vim, |
| 3912 | because the terminal mode is changed from RAW to CBREAK. |
| 3913 | - An old version of GNU tgoto can't handle the terminfo code for "AF". The |
| 3914 | "%p1" is interpreted as "%p" and "1", causing color not to be working. |
| 3915 | Fix: Change the "%p1" in the "AF" and "AB" terminfo entries to "%p". |
| 3916 | (Benzinger). |
| 3917 | - When running an external command from the GUI, typeahead is going to that |
| 3918 | program, not to Vim. It looks like the shell eats the characters, Vim |
| 3919 | can't get back what the external command didn't use. |
| 3920 | - Win32 GUI: Error code from external command not returned in shell_error. |
| 3921 | It appears that cmd.exe and command.com don't return an error code. |
| 3922 | - Win32 GUI: The Toolbar is a bit too high when the flat style is being |
| 3923 | used. We don't have control over the height of the Toolbar. |
| 3924 | - Win32: All files created on the day of switching from winter to summer |
| 3925 | time cause "changed since editing started" messages. It goes away when |
| 3926 | the file is written again the next day, or the timezone is adjusted. |
| 3927 | DJGPP version is OK. (Zaimi) Looks like a problem with the Win32 library. |
| 3928 | Rebooting doesn't help. Time stamps look OK in directory. (Penn) |
| 3929 | Is this on FAT (stores wall clock time) or NTFS (stores UTS)? |
| 3930 | - Win32, MS-Windows XP: $HOME uses the wrong drive when the user profiles |
| 3931 | are not on the boot disk. This is caused by a wrong value of $HOMEDRIVE. |
| 3932 | This is a bug in XP, see MSKB article 818134. |
Bram Moolenaar | 662db67 | 2011-03-22 14:05:35 +0100 | [diff] [blame] | 3933 | - Win32, MS-Windows: expanding plugin/**/*.vim also picks up |
| 3934 | dir/ctags.vim,v. This is because the short file name is something like |
| 3935 | "ctags~1.vim" and that matches the pattern. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3936 | - SunOS 5.5.1 with Motif: The file open dialog does not have a horizontal |
| 3937 | scroll bar for the "files" selection. This is a problem in the Motif |
| 3938 | libraries, get a patch from Sun. |
| 3939 | - Solaris 2.6 with GTK and Perl: gvim crashes when started. Problem with X |
| 3940 | input method called from GDK code. Without Perl it doesn't crash. |
| 3941 | - VMS: Vimdiff doesn't work with the VMS diff, because the output looks |
| 3942 | different. This makes test 47 fail. Install a Unix-compatible diff. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3943 | - Win32 GUI: mouse wheel always scrolls rightmost window. The events arrive |
| 3944 | in Vim as if the rightmost scrollbar was used. |
| 3945 | - GTK with Gnome: Produces an error message when starting up: |
| 3946 | Gdk-WARNING **: locale not supported by C library |
| 3947 | This is caused by the gnome library gnome_init() setting $LC_CTYPE to |
| 3948 | "en_US". Not all systems support this locale name, thus causing the |
| 3949 | error. Hopefully a newer version of GTK/Gnome fixes this problem. |
| 3950 | - GTK 2: With this mapping the hit-enter prompt is _sometimes_ below the |
| 3951 | screen, at other times there is a grey area below the command line: |
| 3952 | :nmap <F11> :if &guioptions=~'m' \| set guioptions-=m \| else \| set guioptions+=m \| endif<cr> |
| 3953 | - GTK: When pasting a selection from Vim to xclipboard gvim crashes with a |
| 3954 | ABRT signal. Probably an error in the file gdkselection.c, the assert |
| 3955 | always fails when XmbTextListToTextProperty() fails. (Tom Allard) |
Bram Moolenaar | f4b8e57 | 2004-06-24 15:53:16 +0000 | [diff] [blame] | 3956 | - GTK 2: gives an assertion error for every non-builtin icon in the toolbar. |
| 3957 | This is a GTK 2.4.x bug, fixed in GTK 2.4.2. (Thomas de Grenier de Latour) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3958 | - When using an xterm that supports the termresponse feature, and the 't_Co' |
| 3959 | termcap option was wrong when Vim started, it will be corrected when the |
| 3960 | termresponse is received. Since the number of colors changes, the |
| 3961 | highlighting needs to be initialized again. This may cause colors defined |
| 3962 | in the vimrc file to be lost. |
| 3963 | - On Windows NT 4.0 the number of files passed to Vim with drag&drop and |
| 3964 | "Edit with Vim" is limited. The maximum command line length is 255 chars. |
| 3965 | |
| 3966 | --------------------- extensions and improvements ---------------------- |
| 3967 | *extensions-improvements* |
| 3968 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3969 | Most interesting new features to be added when all bugs have been fixed: |
| 3970 | - Using ":exe edit fname" has escaping problems. Use ":edit ++(fname)". |
| 3971 | Thus use "++=" to give arguments as expressions, comma separated as if |
| 3972 | calling a function. |
| 3973 | With options: ":edit ++(['!', '++enc=abc'], ['+/pat'], fname)". |
| 3974 | Alternative: Make a function for Ex commands: cmd_edit(). |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3975 | - Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block |
| 3976 | can be selected with CTRL-V. Allow '$' (end of line) for col2. |
Bram Moolenaar | ba3ff53 | 2018-11-04 14:45:49 +0100 | [diff] [blame] | 3977 | (issue #3292) |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3978 | - ECLIPSE plugin. Problem is: the interface is very complicated. Need to |
| 3979 | implement part in Java and then connect to Vim. Some hints from Alexandru |
| 3980 | Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR |
| 3981 | 198 standard http://www.jcp.org/en/jsr/detail?id=198. |
| 3982 | Eclim does it: http://eclim.sourceforge.net/ (Eric Van Dewoestine) |
| 3983 | Plugin that uses a terminal emulator: http://vimplugin.sf.net |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3984 | And another one: http://www.satokar.com/viplugin/index.php |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3985 | - STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is. |
| 3986 | Especially when using the scrollbar. Typing a cursor-movement command |
| 3987 | scrolls back to where the cursor is. |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 3988 | - Scroll commands by screen line. g CTRL-E and g CTRL-Y ? Requires the |
| 3989 | first line to be able to start halfway. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3990 | 8 Add a command to jump to a certain kind of tag. Allow the user to specify |
| 3991 | values for the optional fields. E.g., ":tag size type=m". |
| 3992 | Also allow specifying the file and command, so that the result of |
| 3993 | taglist() can be used. |
Bram Moolenaar | 27dc195 | 2006-03-15 23:06:44 +0000 | [diff] [blame] | 3994 | - X11: Make it possible to run Vim inside a window of another program. |
| 3995 | This can be done with XReparentWindow(). But how exactly? |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 3996 | |
| 3997 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3998 | Documentation: |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 3999 | 8 List of Vim runtime directories. dotvim.txt from Charles Campbell, 2007 |
| 4000 | Feb 20. |
Bram Moolenaar | 293ee4d | 2004-12-09 21:34:53 +0000 | [diff] [blame] | 4001 | 8 The GUI help should explain the Find and Find/Replace dialogs. Add a link |
| 4002 | to it from ":promptrepl" and ":promptfind". |
Bram Moolenaar | d4755bb | 2004-09-02 19:12:26 +0000 | [diff] [blame] | 4003 | 8 List of options should mention whether environment variables are expanded |
| 4004 | or not. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4005 | 8 Extend usr_27.txt a bit. (Adam Seyfarth) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4006 | 9 Make the Reference Manual more precise. For each command mention: |
| 4007 | - change to cursor position and curswant |
| 4008 | - if it can be undone (u/CTRL-R) and redone (.) |
| 4009 | - how it works for folded lines |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 4010 | - how it works with multibyte characters |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4011 | 8 Spread the windows commands over the other files. For example, ":stag" |
| 4012 | should be with ":tag". Cross-link with tags to avoid too much double |
| 4013 | text. |
| 4014 | 8 Add tags for all features, e.g. "gui_running". |
| 4015 | 7 MS-Windows: When a wrong command is typed with an ALT key, give a hint to |
| 4016 | look at the help for 'winaltkeys'. |
| 4017 | 7 Add a help.vim plugin that maps <Tab> to jump to the next tag in || and |
| 4018 | <C-Tab> (and <S-Tab>) to the previous tag. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 4019 | Patch by Balazs Kezes, 2007 Dec 30. Remark from A. Politz. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4020 | - Check text editor compendium for vi and Vim remarks. |
| 4021 | |
| 4022 | |
| 4023 | Help: |
| 4024 | - First try using the ":help" argument literally, before using it as a |
| 4025 | pattern. And then match it as part of a tag. |
| 4026 | - When a help item has multiple matches make it possible to use ":tn" to go |
| 4027 | to the other matches. |
| 4028 | - Support a way to view (and edit) .info files. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4029 | - Implement a "sticky" help window, some help text lines that are always |
| 4030 | displayed in a window with fixed height. (Guckes) Use "~/.vimhelp" file, |
Bram Moolenaar | 3d1cde8 | 2020-08-15 18:55:18 +0200 | [diff] [blame] | 4031 | user can edit it to insert favorite commands, new account can contain a |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4032 | default contents. |
| 4033 | - Make 'winminheight' a local option, so that the user can set a minimal |
| 4034 | height for the help window (and other windows). |
| 4035 | - ":help :s^I" should expand to ":help :substitute". |
| 4036 | - Make the help key (<F1>) context sensitive? |
| 4037 | - Learn mode: show short help while typing commands. |
| 4038 | |
| 4039 | |
| 4040 | User Friendlier: |
| 4041 | 8 Windows install with install.exe: Use .exe instead of .bat files for |
| 4042 | links, so that command line arguments are passed on unmodified? (Walter |
| 4043 | Briscoe) |
| 4044 | 8 Windows install: Be able to associate Vim with a selection of file types? |
| 4045 | 8 Windows uninstall: Have uninstal.c delete the vimfiles directories that |
| 4046 | dosinst.c creates. List the contents of the directory (recursively) if |
| 4047 | the user asks for it. Requires an implementation of "rm -rf". |
| 4048 | 8 Remember the name of the vimrc file that was used (~/.vimrc, $VIM/_vimrc, |
| 4049 | $HOME/_vimrc, etc.) and add "edit vimrc" to the File menu. |
| 4050 | - Add a way to save local settings and mappings into a new plugin file. |
| 4051 | ":mkplugin <file>"? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4052 | - Add mappings local to a window: ":map <window> ..."? |
| 4053 | 9 Add buffer-local menu. Should offer a choice between removing the menu or |
| 4054 | disabling it. Be careful that tear-offs don't disappear (keep one empty |
| 4055 | item?). |
| 4056 | Alternative: use BufEnter and BufLeave autocommands. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4057 | 8 make a vimtutor script for Amiga and other systems. |
Bram Moolenaar | 51ac12f | 2005-07-02 23:21:11 +0000 | [diff] [blame] | 4058 | 7 When Vim detects a file is being edited elsewhere and it's a gvim session |
| 4059 | of the same user it should offer a "Raise" button, so that the other gvim |
| 4060 | window can be displayed. (Eduard) |
Bram Moolenaar | 33aec76 | 2006-01-22 23:30:12 +0000 | [diff] [blame] | 4061 | 8 Support saving and restoring session for X windows? It should work to do |
| 4062 | ":mksession" and use "-S fname" for the restart command. The |
| 4063 | gui_x11_wm_protocol_handler() already takes care of the rest. |
| 4064 | global_event_filter() for GTK. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4065 | |
| 4066 | |
Bram Moolenaar | eddf53b | 2006-02-27 00:11:10 +0000 | [diff] [blame] | 4067 | Tab pages: |
| 4068 | 9 GUI implementation for the tab pages line for other systems. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4069 | 7 GUI: Control over the appearance of the text in the labels (bold, color, |
| 4070 | font, etc.) |
Bram Moolenaar | eddf53b | 2006-02-27 00:11:10 +0000 | [diff] [blame] | 4071 | 8 Make GUI menu in tab pages line configurable. Like the popup menu. |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 4072 | 8 balloons for the tab page labels that are shortened to show the full path. |
Bram Moolenaar | eddf53b | 2006-02-27 00:11:10 +0000 | [diff] [blame] | 4073 | 7 :tabdup duplicate the tab with all its windows. |
Bram Moolenaar | eddf53b | 2006-02-27 00:11:10 +0000 | [diff] [blame] | 4074 | 7 Option to put tab line at the left or right? Need an option to specify |
Bram Moolenaar | 4932594 | 2007-05-10 19:19:59 +0000 | [diff] [blame] | 4075 | its width. It's like a separate window with ":tabs" output. |
Bram Moolenaar | eddf53b | 2006-02-27 00:11:10 +0000 | [diff] [blame] | 4076 | 8 Add local options for each tab page? E.g., 'diffopt' could differ between |
| 4077 | tab pages. |
| 4078 | 7 Add local highlighting for each tab page? |
| 4079 | |
| 4080 | |
Bram Moolenaar | 7d1f5db | 2005-07-03 21:39:27 +0000 | [diff] [blame] | 4081 | Spell checking: |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4082 | - Support more regions? Caolan McNamara argues it's needed for es_XX. |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 4083 | https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777 |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4084 | - Unicode defines another quote character: 0x2019. Use it as an equivalent |
| 4085 | of a single quote, thus use it as a word character like a quote and match |
| 4086 | with words, replacing the curly quote with a single quote. |
| 4087 | - Could filter é things for HTML before doing spell checking. |
| 4088 | Similarly for TeX. |
Bram Moolenaar | 8b2d9c4 | 2006-05-03 21:28:47 +0000 | [diff] [blame] | 4089 | - The Hungarian spell file uses four extra characters in the FOL/UPP/LOW |
| 4090 | items than other spell files with the ISO-8859-2 encoding, that causes |
| 4091 | problem when changing 'spelllang'. There is no obvious way to fix this. |
Bram Moolenaar | 18144c8 | 2006-04-12 21:52:12 +0000 | [diff] [blame] | 4092 | - Considering Hunspell 1.1.4: |
| 4093 | What does MAXNGRAMSUGS do? |
| 4094 | Is COMPLEXPREFIXES necessary when we have flags for affixes? |
Bram Moolenaar | 6dfc28b | 2010-02-11 14:19:15 +0100 | [diff] [blame] | 4095 | - There is no Finnish spell checking file. For openoffice Voikko is now |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4096 | used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/ |
| 4097 | (Teemu Likonen) |
Bram Moolenaar | 18144c8 | 2006-04-12 21:52:12 +0000 | [diff] [blame] | 4098 | 8 ":mkspell" still takes much too long in Hungarian dictionary from |
| 4099 | hunspell. Only solution appears to be to postpone secondary suffixes. |
| 4100 | 8 Handle postponed prefix with COMPOUNDPERMITFLAG or COMPOUNDFORBIDFLAG. |
| 4101 | WFP_COMPPERMIT and WFP_COMPFORBID |
| 4102 | 8 implement use of <compoptions> in .spl file: |
| 4103 | implement CHECKCOMPOUNDREP: when a compound word seems to be OK apply REP |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 4104 | items and check if the result is a valid word. |
Bram Moolenaar | 18144c8 | 2006-04-12 21:52:12 +0000 | [diff] [blame] | 4105 | implement CHECKCOMPOUNDDUP |
| 4106 | implement CHECKCOMPOUNDTRIPLE |
| 4107 | Add CHECKCOMPOUNDCASE: when compounding make leading capital lower case. |
| 4108 | How is it supposed to work? |
Bram Moolenaar | 910f66f | 2006-04-05 20:41:53 +0000 | [diff] [blame] | 4109 | - Add a command the repeats ]s and z=, showing the misspelled word in its |
| 4110 | context. Thus to spell-check a whole file. |
Bram Moolenaar | 261bfea | 2006-03-01 22:12:31 +0000 | [diff] [blame] | 4111 | - suggestion for "KG" to "kg" when it's keepcase. |
Bram Moolenaar | 7b89edc | 2006-04-06 20:21:51 +0000 | [diff] [blame] | 4112 | - For flags on affixes: Use a "AFFCOMPSET" flag; means the compound flags of |
| 4113 | the word are not used. |
Bram Moolenaar | db552d60 | 2006-03-23 22:59:57 +0000 | [diff] [blame] | 4114 | - Support breakpoint character ? 0xb7 and ignore it? Makes it possible to |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 4115 | use same wordlist for hyphenation. |
Bram Moolenaar | 899dddf | 2006-03-26 21:06:50 +0000 | [diff] [blame] | 4116 | - Compound word is accepted if nr of words is <= COMPOUNDWORDMAX OR nr of |
Bram Moolenaar | da2303d | 2005-08-30 21:55:26 +0000 | [diff] [blame] | 4117 | syllables <= COMPOUNDSYLMAX. Specify using AND in the affix file? |
Bram Moolenaar | 4770d09 | 2006-01-12 23:22:24 +0000 | [diff] [blame] | 4118 | - NEEDCOMPOUND also used for affix? Or is this called ONLYINCOMPOUND now? |
| 4119 | Or is ONLYINCOMPOUND only for inside a compound, not at start or end? |
Bram Moolenaar | da2303d | 2005-08-30 21:55:26 +0000 | [diff] [blame] | 4120 | - Do we need a flag for the rule that when compounding is done the following |
| 4121 | word doesn't have a capital after a word character, even for Onecap words? |
| 4122 | - New hunspell home page: http://hunspell.sourceforge.net/ |
Bram Moolenaar | 69e0ff9 | 2005-09-30 21:23:56 +0000 | [diff] [blame] | 4123 | - Version 1.1.0 is out now, look into that. |
Bram Moolenaar | da2303d | 2005-08-30 21:55:26 +0000 | [diff] [blame] | 4124 | - Lots of code depends on LANG, that isn't right. Enable each mechanism |
| 4125 | in the affix file separately. |
| 4126 | - Example with compounding dash is bad, gets in the way of setting |
Bram Moolenaar | 899dddf | 2006-03-26 21:06:50 +0000 | [diff] [blame] | 4127 | COMPOUNDMIN and COMPOUNDWORDMAX to a reasonable value. |
Bram Moolenaar | da2303d | 2005-08-30 21:55:26 +0000 | [diff] [blame] | 4128 | - PSEUDOROOT == NEEDAFFIX |
| 4129 | - COMPOUNDROOT -> COMPOUNDED? For a word that already is a compound word |
| 4130 | Or use COMPOUNDED2, COMPOUNDED3, etc. |
| 4131 | - CIRCUMFIX: when a word uses a prefix marked with the CIRCUMFIX flag, then |
| 4132 | the word must also have a suffix marked with the CIRCUMFIX flag. It's a |
| 4133 | bit primitive, since only one flag is used, which doesn't allow matching |
| 4134 | specific prefixes with suffixes. |
| 4135 | Alternative: |
| 4136 | PSFX {flag} {pchop} {padd} {pcond} {schop} {sadd}[/flags] {scond} |
| 4137 | We might not need this at all, you can use the NEEDAFFIX flag and the |
| 4138 | affix which is required. |
| 4139 | - When a suffix has more than one syllable, it may count as a word for |
Bram Moolenaar | 899dddf | 2006-03-26 21:06:50 +0000 | [diff] [blame] | 4140 | COMPOUNDWORDMAX. |
Bram Moolenaar | da2303d | 2005-08-30 21:55:26 +0000 | [diff] [blame] | 4141 | - Add flags to count extra syllables in a word. SYLLABLEADD1 SYLLABLEADD2, |
| 4142 | etc.? Or make it possible to specify the syllable count of a word |
| 4143 | directly, e.g., after another slash: /abc/3 |
Bram Moolenaar | 4770d09 | 2006-01-12 23:22:24 +0000 | [diff] [blame] | 4144 | - MORPHO item in affix file: ignore TAB and morphological field after |
| 4145 | word/flags and affix. |
Bram Moolenaar | da2303d | 2005-08-30 21:55:26 +0000 | [diff] [blame] | 4146 | - Implement multiple flags for compound words and CMP item? |
| 4147 | Await comments from other spell checking authors. |
| 4148 | - Also see tklspell: http://tkltrans.sourceforge.net/ |
Bram Moolenaar | 7d1f5db | 2005-07-03 21:39:27 +0000 | [diff] [blame] | 4149 | 8 Charles Campbell asks for method to add "contained" groups to existing |
| 4150 | syntax items (to add @Spell). |
| 4151 | Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn |
| 4152 | cluster" but change the contains list directly for matching syntax items. |
Bram Moolenaar | 7d1f5db | 2005-07-03 21:39:27 +0000 | [diff] [blame] | 4153 | - References: MySpell library (in OpenOffice.org). |
| 4154 | http://spellchecker.mozdev.org/source.html |
| 4155 | http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/ |
| 4156 | author: Kevin Hendricks <kevin.hendricks@sympatico.ca> |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 4157 | 8 It is currently not possible to mark "can not" as rare, because "can" and |
| 4158 | "not" are good words. Find a way to let "rare" overrule "good"? |
Bram Moolenaar | 7d1f5db | 2005-07-03 21:39:27 +0000 | [diff] [blame] | 4159 | 8 Make "en-rare" spell file? Ask Charles Campbell. |
| 4160 | 8 The English dictionaries for different regions are not consistent in their |
| 4161 | use of words with a dash. |
Bram Moolenaar | 7d1f5db | 2005-07-03 21:39:27 +0000 | [diff] [blame] | 4162 | 7 Insert mode completion mechanism that uses the spell word lists. |
| 4163 | 8 Add hl groups to 'spelllang'? |
| 4164 | :set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath |
| 4165 | More complicated: Regions with different languages? E.g., comments |
| 4166 | in English, strings in German (po file). |
Bram Moolenaar | 7d1f5db | 2005-07-03 21:39:27 +0000 | [diff] [blame] | 4167 | |
| 4168 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4169 | Diff mode: |
Bram Moolenaar | fb53927 | 2014-08-22 19:21:47 +0200 | [diff] [blame] | 4170 | 9 When making small changes, e.g. deleting a character, update the diff. |
| 4171 | Possibly without running diff. |
Bram Moolenaar | 2ec618c | 2016-10-01 14:47:05 +0200 | [diff] [blame] | 4172 | 8 Also show difference with the file when editing started? Should show what |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 4173 | can be undone. (Tom Popovich) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4174 | |
| 4175 | Folding: |
Bram Moolenaar | bba577a | 2005-11-28 23:05:55 +0000 | [diff] [blame] | 4176 | (commands still available: zI zJ zK zp zP zq zQ zV zy zY; |
| 4177 | secondary: zB zS zT zZ, z=) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4178 | 8 Vertical folds: looks like vertically split windows, but the cursor moves |
| 4179 | through the vertical separator, separator moves when scrolling. |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 4180 | 8 Add "z/" and "z?" for searching in not folded text only. Or use a regexp |
| 4181 | item, so that it can be used in any pattern. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4182 | 8 When a closed fold is displayed open because of 'foldminlines', the |
| 4183 | behavior of commands is still like the fold is closed. How to make the |
| 4184 | user aware of this? |
| 4185 | 8 Add an option 'foldskip' with values like 'foldopen' that specifies which |
| 4186 | commands skip over a closed fold. |
| 4187 | 8 "H" and "L" count buffer lines instead of window lines. (Servatius Brandt) |
| 4188 | 8 Add a way to add fold-plugins. Johannes Zellner has one for VB. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4189 | 7 When using manual folding, the undo command should also restore folds. |
Bram Moolenaar | 293ee4d | 2004-12-09 21:34:53 +0000 | [diff] [blame] | 4190 | - Allow completely hiding a closed fold. E.g., by setting 'foldtext' to an |
| 4191 | empty string. Require showing a character in 'foldcolumn' to avoid the |
| 4192 | missing line goes unnoticed. |
| 4193 | How to implement this? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4194 | - When pressing the down arrow of a scrollbar, a closed fold doesn't scroll |
| 4195 | until after a long time. How to make scrolling with closed folds |
| 4196 | smoother? |
| 4197 | - When creating a session, also store folds for buffers in the buffer list, |
| 4198 | using the wininfo in wi_folds. |
Bram Moolenaar | 8b2d9c4 | 2006-05-03 21:28:47 +0000 | [diff] [blame] | 4199 | - When currently editing the first file in the argument list the session |
| 4200 | file can contain: |
| 4201 | args version.c main.c |
| 4202 | edit version.c |
| 4203 | Can editing version.c twice be avoided? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4204 | - 'foldmethod' "textobject": fold on sections and paragraph text objects. |
Bram Moolenaar | 4770d09 | 2006-01-12 23:22:24 +0000 | [diff] [blame] | 4205 | - "zuf": undo change in manual fold. "zUf" redo change in manual fold. How |
| 4206 | to implement this? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4207 | - "zJ" command: add the line or fold below the fold in the fold under the |
| 4208 | cursor. |
Bram Moolenaar | 3517bb1 | 2006-03-03 22:58:45 +0000 | [diff] [blame] | 4209 | - 'foldmethod' "syntax": "fold=3" argument: set fold level for a region or |
| 4210 | match. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4211 | - Apply a new foldlevel to a range of lines. (Steve Litt) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4212 | |
| 4213 | Multi-byte characters: |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 4214 | - When editing a file with both utf-8 and latin1 text Vim always falls back |
| 4215 | to latin1. Add a command to convert the latin1 characters to utf-8? |
| 4216 | :unmix utf-8,latin1 filename |
| 4217 | Would only work when 'encoding' is utf-8. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4218 | 9 When the tail byte of a double-byte character is illegal (e.g., a CR), the |
| 4219 | display is messed up (Yasuhiro Matsumoto). Should check for illegal |
| 4220 | double-byte characters and display them differently (display each single |
| 4221 | byte). |
Bram Moolenaar | e6dc573 | 2010-07-24 23:52:26 +0200 | [diff] [blame] | 4222 | 9 'fenc' in modeline problem: add option to reload the file when 'fenc' is |
| 4223 | set to a different value in a modeline? Option can be default on. Could |
| 4224 | it be done with an autocommand? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4225 | 8 Add an item in 'fileencodings' to check the first lines of a file for |
| 4226 | the encoding. See Python PEP: http://www.python.org/peps/pep-0263.html. |
| 4227 | To avoid getting a wrong encoding only accept something Emacs-like: |
| 4228 | "-*- coding: enc-na_me.foo -*-" and "-*- coding= enc-na_me.foo -*-" |
| 4229 | Match with "-\*-\s*coding[:=]\s*\([::word::-_.]\+\)\s*-\*-" and use first |
| 4230 | item. |
| 4231 | 8 Add an item in 'fileencodings' to check the first line of an XML file for |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 4232 | the encoding. <?xml version="1.0" encoding="UTF-8"?> Or "charset=UTF-8"? |
| 4233 | For HTML look for "charset=utf-8". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4234 | 8 When a file was converted from 'fileencoding' to 'encoding', a tag search |
| 4235 | should also do this on the search pattern. (Andrzej M. Ostruszka) |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 4236 | 8 When filtering changes the encoding 'fileencoding' may not work. E.g., |
| 4237 | when using xxd and 'fileencoding' is "utf-16". Add an option to set a |
| 4238 | different fileencoding for filter output? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4239 | 7 When converting a file fails, mention which byte could not be converted, |
| 4240 | so that the user can fix the problem. |
| 4241 | 8 Add configure option to be able to disable using the iconv library. (Udo |
| 4242 | Schweigert) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4243 | 9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El) |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 4244 | 8 Should add test for using various commands with multibyte characters. |
| 4245 | 8 'infercase' doesn't work with multibyte characters. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4246 | 8 toupper() function doesn't handle byte count changes. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 4247 | 7 Searching and composing characters: |
| 4248 | When searching, should order of composing characters be ignored? |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 4249 | Add a special item to match with a composing character, so that composing |
| 4250 | characters can be manipulated. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4251 | 8 Should implement 'delcombine' for command line editing. |
| 4252 | 8 Detect overlong UTF-8 sequences and handle them like illegal bytes. |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 4253 | 8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multibyte |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4254 | characters. |
| 4255 | 8 UTF-8: "r" in Visual mode doesn't take composing characters. |
| 4256 | 8 UTF-8: When there is a precomposed character in the font, use it instead |
| 4257 | of a character and a composing character. See xterm for an example. |
| 4258 | 7 When a character can't be displayed, display its digraph instead. |
| 4259 | 'display' option to specify this. |
| 4260 | 7 Use ideas for nl_langinfo() from Markus Kuhn in enc_default(): |
| 4261 | (www.cl.cam.ac.uk/~mgk25/ucs/langinfo.c) |
| 4262 | - GTK and Win32: Allow selecting fonts for 'guifontset' with the |
| 4263 | fontselector somehow. |
| 4264 | - GTK and Win32: make it possible to set the font for the menu to make it |
| 4265 | possible to have 'encoding' different from the current locale. |
| 4266 | - dbcs_class() only works for Japanese and Korean. Implement this for |
| 4267 | other encodings. The "euc-jp" and "euc-kr" choices might be wrong. |
| 4268 | - Find some way to automatically select the right GUI font or fontset, |
| 4269 | depending on the default value of 'encoding'. |
| 4270 | Irrelevant in the GTK+ 2 GUI so long as UTF-8 is used. |
| 4271 | For Windows, the charset_pairs[] table could be used. But how do we know |
| 4272 | if a font exists? |
| 4273 | - Do keyboard conversion from 'termencoding' to 'encoding' with |
Bram Moolenaar | 446beb4 | 2011-05-10 17:18:44 +0200 | [diff] [blame] | 4274 | convert_input() for Mac GUI. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4275 | - Add mnemonics from RFC1345 longer than two characters. |
| 4276 | Support CTRL-K _{mnemonic}_ |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 4277 | - Make 'breakat' accept multibyte characters. Problem: can't use a lookup |
Bram Moolenaar | ac6e65f | 2005-08-29 22:25:38 +0000 | [diff] [blame] | 4278 | table anymore (breakat_flags[]). |
| 4279 | Simplistic solution: when 'formatoptions' contains "m" also break a line |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 4280 | at a multibyte character >= 0x100. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4281 | - Add the possibility to enter mappings which are used whenever normal text |
| 4282 | could be entered. E.g., for "f" command. But not in Normal mode. Sort |
Bram Moolenaar | 37c64c7 | 2017-09-19 22:06:03 +0200 | [diff] [blame] | 4283 | of opposite of 'langmap'. Use ":amap" command? |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 4284 | - When breaking a line, take properties of multibyte characters into |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4285 | account. The "linebreak" program from Bruno Haible can do it: |
| 4286 | ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz |
| 4287 | But it's very complicated... |
| 4288 | |
| 4289 | |
| 4290 | Printing: |
Bram Moolenaar | c076113 | 2005-03-18 20:30:32 +0000 | [diff] [blame] | 4291 | 7 Implement "undercurl" for printing. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4292 | - Add "page width" to wrap long lines. |
| 4293 | - Win32: use a font dialog for setting 'printfont'. Can reuse the code for |
| 4294 | the 'guifont' dialog, put the common code in a separate function. |
Bram Moolenaar | 567e4de | 2004-12-31 21:01:02 +0000 | [diff] [blame] | 4295 | - Add the file timestamp to the page header (with an option). (George |
| 4296 | Reilly) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4297 | - Win32: when 'printfont' is empty use 'guifont'. |
| 4298 | - Unix: Use some dialog box to do the obvious settings (paper size, printer |
| 4299 | name, portrait/landscape, etc). |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4300 | - PostScript: Only works for text that can be converted to an 8-bit |
| 4301 | character set. How to support Unicode fully? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4302 | - Allow specifying the paper size, instead of using a standard size. Same |
| 4303 | units as for the margins. |
| 4304 | - Support right-to-left text? |
| 4305 | 8 Make the foreground color darkening function preserve the hue of the |
| 4306 | color. |
| 4307 | |
| 4308 | |
| 4309 | Syntax highlighting: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4310 | 8 Make ":syn off" use 'runtimepath' instead of $VIMRUNTIME. (Gary Johnson) |
| 4311 | Should do the same for ":syn on" and ":syn manual". |
| 4312 | 8 Support "containedin" argument for ":syn include", so that the defined |
| 4313 | cluster can be added to existing syntax items. |
| 4314 | 8 C syntax: Don't highlight {} as errors inside () when used like this: |
| 4315 | "({ something })", often used in GCC code. |
Bram Moolenaar | 910f66f | 2006-04-05 20:41:53 +0000 | [diff] [blame] | 4316 | 7 Add a "startgroup" to a region. Used like "nextgroup" inside the region, |
| 4317 | preferred item at the start of the region. (Charles Campbell) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4318 | 8 When editing a new file without a name and giving it a name (by writing |
| 4319 | it) and 'filetype' is not set, detect the filetype. Avoid doing it for |
| 4320 | ":wq file". |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4321 | 7 For "nextgroup" we have skipwhite, skipnl and skipempty. It would be |
| 4322 | really nice to be able to skip with a pattern. Or skip with a syntax |
| 4323 | group. (Nikolai Weibull, 2007 Feb 27) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4324 | 8 Make conversion to HTML faster (Write it in C or pre-compile the script). |
| 4325 | 9 There is still a redraw bug somewhere. Probably because a cached state is |
| 4326 | used in a wrong way. I can't reproduce it... |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4327 | 7 Be able to change only the background highlighting. Useful for Diff* and |
| 4328 | Search highlighting. |
Bram Moolenaar | 17be7e6 | 2006-03-12 22:13:45 +0000 | [diff] [blame] | 4329 | 7 When 'number' is set highlight the number of the current line. |
| 4330 | Must be enabled with an option, because it slows down display updating. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4331 | 8 Allow the user to add items to the Syntax menu sorted, without having to |
| 4332 | change this for each release. |
| 4333 | 8 Add a "matchcontains" for regions: items contained in the start or end |
| 4334 | pattern, but not in the body. |
| 4335 | 8 Add a "keepend-contained" argument: Don't change the end of an item this |
| 4336 | one is contained in. Like "keepend" but specified on the contained item, |
| 4337 | instead of the containing item. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4338 | 8 cpp.vim: In C++ it's allowed to use {} inside (). |
Bram Moolenaar | 13d5aee | 2016-01-21 23:36:05 +0100 | [diff] [blame] | 4339 | 8 Some syntax files set 'iskeyword', they should use "syn iskeyword". |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 4340 | Also need a separate 'iskeyword' for the command line, e.g., in a help |
| 4341 | window ":e /asdf/asdf/" CTRL-W works different. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4342 | 8 Add specific syntax item to match with parens/braces that don't have a |
| 4343 | "%" match. :syntax nomatch cMatchError (,{,[,),},] [contained] |
| 4344 | 8 Highlight the text between two matching parens (e.g., with a grey |
| 4345 | background) when on one of the parens or in between them. |
Bram Moolenaar | 5e3cb7e | 2006-02-27 23:58:35 +0000 | [diff] [blame] | 4346 | Option for the matchparen plugin? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4347 | 8 When using a cterm, and no ctermfg or ctermbg are defined, use start/stop |
| 4348 | sequences. Add remark in docs that :if 'term' == "term-name" should be |
| 4349 | used. |
| 4350 | 8 Add @spell cluster to String and Comment groups for many languages. Will |
| 4351 | allow spell checking. (Fleiner) |
| 4352 | 8 When listing syntax items, try to sort the keywords alphabetically. And |
| 4353 | re-insert the [] if possible. |
| 4354 | 8 Make it possible to use color of text for Visual highlight group (like for |
| 4355 | the Cursor). |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 4356 | 8 It would be useful to make the highlight group name an expression. Then |
| 4357 | when there is a match, the expression would be evaluated to find out what |
| 4358 | highlight group to use. Could be used to check if the shell used in a |
| 4359 | password file appears in /etc/shells. (Nikolai Weibull) |
| 4360 | syn match =s:checkShell(v:match) contained 'pattern' |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4361 | 8 Make it possible to only highlight a sub-expression of a match. Like |
| 4362 | using "\1" in a ":s" command. |
| 4363 | 8 Support for deleting syntax items: |
| 4364 | :syn keyword cTodo remove this |
| 4365 | :syn match cTodo remove "pattern" |
| 4366 | :syn region cString remove start="this" end="that" |
| 4367 | 8 Add possibility to sync on something else, when the syncing in one way |
| 4368 | doesn't find match. For HTML: When no {script} is found, try looking for |
| 4369 | a '<'. (Fleiner) |
| 4370 | 7 Replace the synchronizing method with a state machine specification? |
| 4371 | Should be able to start at any line in the file, search forwards or |
| 4372 | backwards, and use the result of matching a pattern. |
| 4373 | 7 Use parsing like awk, so that e.g., a ( without a matching ) can be |
| 4374 | detected. |
| 4375 | 8 Make it possible to use "inverted" highlighting, invert the original |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 4376 | character. For Visual mode. (xterm-selection already does this). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4377 | 8 Highlight non-printable characters with "SpecialChar", linked to |
| 4378 | "Special". Display them with the digraph characters, if possible. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4379 | 8 Highlight the clipboard-selection with a highlight group. |
| 4380 | 8 Be able to reset highlighting to its original (default) values. |
| 4381 | 7 Be able to write current highlighting to a file as commands, similar to |
| 4382 | ":mkvimrc". |
| 4383 | 8 Improve c.vim: |
| 4384 | - Add check for unterminated strings, with a variable to switch it on: |
| 4385 | "c_strict_ansi". |
| 4386 | - Detect unbalanced "#endif". Requires looking back a long way... |
| 4387 | 8 Add an option to restrict the updating of syntax highlighting to the |
| 4388 | current line while in Insert mode. |
| 4389 | 8 When guessing value of 'background', the syntax file has already been |
| 4390 | loaded (from the .gvimrc). After changing 'background', load it again? |
| 4391 | 8 Add ":syn resync" command, to re-parse the whole file until the current |
| 4392 | display position. |
| 4393 | 8 Should support "me" offset for a region start pattern. To be used to |
| 4394 | allow searching for the end pattern inside the match of the end pattern. |
| 4395 | Example: syn region pikeXX start="([^{]" end=")" should work on "()". |
| 4396 | 8 When using a regexp for "contains=", should delay matching with it until |
| 4397 | redrawing happens. Set a flag when a group is added, check this flag when |
| 4398 | highlighting starts. |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 4399 | 7 It's possible for an item to be transparent, so that the colors of an item |
| 4400 | lower on the stack is used. Also do this with highlighting, so that the |
| 4401 | user can set transparent highlighting? E.g. a number in a C comment would |
| 4402 | get the color of a comment, a number in an assignment Normal. (Nikolai |
| 4403 | Weibull) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4404 | 7 Add "semitrans": Add highlighting. E.g., make the text bold, but keep the |
| 4405 | colors. And add colors, so that Green+Red becomes Yellow. |
| 4406 | E.g. for this html: |
| 4407 | <B> bold text <I> italic+bold text </B> italic text </I> |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4408 | 7 CTRL-] checks the highlight group for finding out what the tag is. |
| 4409 | 7 Add an explanation how a list of words can be used to highlight misspelled |
| 4410 | words. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4411 | 8 Add more command line completion for :syntax. |
| 4412 | 8 Add more command line completion for :highlight. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4413 | 7 Should find a better way to parse the :syntax and :highlight commands. |
| 4414 | Use tables or lists that can be shared by parsing for execution and |
| 4415 | completion? |
| 4416 | 8 Add ColorSchemePost autocommand event, so that scripts can set up their |
| 4417 | highlighting. (Salman Halim) |
| 4418 | 7 Add a few sets of colors (e.g. Borland Turbo C one). With a menu to |
| 4419 | select one of the sets. |
| 4420 | 8 Add offsets to sub-matches: "\(a*\) *"he=e1-1 |
| 4421 | 'e' is end of match 'e1' is end of sub-match 1, 's2' is start of submatch |
| 4422 | 2, etc. |
| 4423 | 8 In Insert mode, when there are typeahead characters, postpone the |
| 4424 | highlighting (for "." command). |
| 4425 | 8 Syncing on comments isn't 100% correct when / / lines mix with / * and * /. |
| 4426 | For example: What about a line that starts with / / and contains * /? |
| 4427 | 8 Ignore / * and * / inside strings, when syncing. |
| 4428 | 7 Build a few more syntax files from the file "/usr/share/misc/vgrindefs": |
| 4429 | ISP, LDL, Icon, ratfor. And check "nedit/source/highlight.c". |
| 4430 | 6 Add possibility to have background color continue until the right edge of |
| 4431 | the window. Useful for comment blocks and function headings. (Rogall) |
| 4432 | - Make it possible to add "contains" items for all items in a group. Useful |
| 4433 | when extending an already existing syntax file. |
| 4434 | - Add line-continuation pattern for non-syncing items too? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4435 | - Add possibility to highlight the whole line, including the right margin |
| 4436 | (for comment blocks). |
| 4437 | - Add 'hlmatch' option: List of flags: |
| 4438 | 'c': highlight match for character under the cursor. |
| 4439 | 'b': highlight the previous (, and its match. |
| 4440 | 'a': highlight all text from the previous ( until its match. |
| 4441 | Also for {}, <>, etc.? |
| 4442 | 'e': highlight all braces without a match (slow?) |
| 4443 | OR: add an argument "cursor" to the syntax command, which means that the |
| 4444 | region/match/keyword is only highlighted when the cursor is on it. |
| 4445 | (Campbell) |
| 4446 | Or do it like Elvis: define text objects and how to highlight them around |
| 4447 | the cursor. (Iain Truskett) |
| 4448 | 7 Make it possible to use all words in the tags files as Keyword. |
| 4449 | Can also be done with a script (but it's slow). |
| 4450 | 7 Make it possible to call a ":" command when a match is found. Should |
| 4451 | allow for adding keywords from the text (e.g. variables that are set). |
| 4452 | And allows for sections with different highlighting. |
| 4453 | 7 Add highlight group for commandline: "Commandline". Make sure it |
| 4454 | highlights the command line while typing a command, and any output from |
| 4455 | messages. And external commands? |
| 4456 | 8 Make a version that works like less, but with highlighting: read stdin for |
| 4457 | text, exit at end of file, don't allow editing, etc. moreim? lessim? |
| 4458 | 7 SpecialKey highlighting overrules syntax highlighting. Can't give an |
| 4459 | unprintable char another color. Would be useful for ^M at end of line. |
| 4460 | |
| 4461 | |
Bram Moolenaar | e18c0b3 | 2016-03-20 21:08:34 +0100 | [diff] [blame] | 4462 | Vim script language: |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 4463 | 8 Make the filename and line number available to script functions, so that |
| 4464 | they can give useful debugging info. The whole call stack would be ideal. |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 4465 | At least use this for error messages. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 4466 | 7 Execute a function with standard option values. No need to save and |
| 4467 | restore option values. Especially useful for new options. Problem: how |
| 4468 | to avoid a performance penalty (esp. for string options)? |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4469 | - range for ":exec", pass it on to the executed command. (Webb) |
Bram Moolenaar | c5604bc | 2010-07-17 15:20:30 +0200 | [diff] [blame] | 4470 | 8 ":{range}source": source the lines from the current file. |
| 4471 | You can already yank lines and use :@" to execute them. |
| 4472 | Most of do_source() would not be used, need a new function. |
| 4473 | It's easy when not doing breakpoints or profiling. |
| 4474 | Requires copying the lines into a list and then creating a function to |
| 4475 | execute lines from the list. Similar to getnextac(). |
Bram Moolenaar | 1056d98 | 2006-03-09 22:37:52 +0000 | [diff] [blame] | 4476 | 7 ":include" command: just like ":source" but doesn't start a new scriptID? |
| 4477 | Will be tricky for the list of script names. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4478 | 8 Have a look at VSEL. Would it be useful to include? (Bigham) |
Bram Moolenaar | e18c0b3 | 2016-03-20 21:08:34 +0100 | [diff] [blame] | 4479 | 8 Have a prefix for a function to make it unique. When using packages it |
| 4480 | can be the plugin name. |
| 4481 | Perhaps also have a way to remove everything that the package added? |
| 4482 | including autocommands. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4483 | 7 Pre-parse or compile Vim scripts into a bytecode. |
| 4484 | 1. Put the bytecode with the original script, with an ":if |
| 4485 | has('bytecode')" around it, so that it's only used with a Vim that |
| 4486 | supports it. Update the code with a command, can be used in an |
| 4487 | autocommand. |
| 4488 | 2. Use a ".vic" file (like Python use .pyc). Create it when writing a |
| 4489 | .vim file. Problem: distribution. |
| 4490 | 3. Use a cache directory for each user. How to recognize which cached |
| 4491 | file belongs to a sourced script? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4492 | 7 Add argument to winwidth() to subtract the space taken by 'foldcolumn', |
| 4493 | signs and/or 'number'. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4494 | 6 Add ++ and -- operators? They only work on variables (lvals), how to |
| 4495 | implement this? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4496 | 8 Add functions: |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4497 | has(":command") Check if ":command" works. compare function |
| 4498 | with "ex_ni". E.g. for ":simalt". |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4499 | escape() Add argument to specify what to escape with. |
| 4500 | modestack() Instead of just the current mode return the |
| 4501 | stack of Insert / CTRL-O / :normal things. |
Bram Moolenaar | 5eb86f9 | 2004-07-26 12:53:41 +0000 | [diff] [blame] | 4502 | realname() Get user name (first, last, full) |
| 4503 | user_fullname() patch by Nikolai Weibull, Nov |
| 4504 | 3 2002 |
| 4505 | Only add this when also implemented for |
| 4506 | non-Unix systems, otherwise a shell cmd could |
| 4507 | be used. |
| 4508 | get_user_name() gets login name. |
Bram Moolenaar | ab79bcb | 2004-07-18 21:34:53 +0000 | [diff] [blame] | 4509 | menuprop({name}, {idx}, {what}) |
| 4510 | Get menu property of menu {name} item {idx}. |
| 4511 | menuprop("", 1, "name") returns "File". |
| 4512 | menuprop("File", 1, "n") returns "nmenu |
| 4513 | File.Open..." argument. |
| 4514 | Patch by Ilya Sher, 2004 Apr 22 |
| 4515 | Return a list of menus and/or a dictionary |
| 4516 | with properties instead. |
| 4517 | mapname({idx}, mode) return the name of the idx'th mapping. |
| 4518 | Patch by Ilya Sher, 2004 Mar 4. |
| 4519 | Return a list instead. |
Bram Moolenaar | 05159a0 | 2005-02-26 23:04:13 +0000 | [diff] [blame] | 4520 | char2hex() convert char string to hex string. |
Bram Moolenaar | 446beb4 | 2011-05-10 17:18:44 +0200 | [diff] [blame] | 4521 | crypt() encrypt string |
| 4522 | decrypt() decrypt string |
| 4523 | base64enc() base 64 encoding |
| 4524 | base64dec() base 64 decoding |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4525 | attributes() return file protection flags "drwxrwxrwx" |
Bram Moolenaar | 05159a0 | 2005-02-26 23:04:13 +0000 | [diff] [blame] | 4526 | filecopy(from, to) Copy a file |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4527 | shorten(fname) shorten a file name, like home_replace() |
Bram Moolenaar | 05159a0 | 2005-02-26 23:04:13 +0000 | [diff] [blame] | 4528 | perl(cmd) call Perl and return string |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4529 | inputrl() like input() but right-to-left |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 4530 | typed() return the characters typed and consumed (to |
| 4531 | find out what happened) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4532 | virtualmode() add argument to obtain whether "$" was used in |
| 4533 | Visual block mode. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4534 | getacp() Win32: get codepage (Glenn Maynard) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4535 | libcall() Allow more than one argument. |
| 4536 | libcallext() Like libcall(), but using a callback function |
| 4537 | to allow the library to execute a command or |
| 4538 | evaluate an expression. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4539 | 7 Make bufname("'0") return the buffer name from mark '0. How to get the |
| 4540 | column and line number? col("'0") currently returns zero. |
| 4541 | 8 argc() returns 0 when using "vim -t tag". How to detect that no file was |
| 4542 | specified in any way? To be able to jump to the last edited file. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4543 | 8 Pass the command line arguments to Vim scripts in some way. As v:args |
| 4544 | List? Or extra parameter to argv()? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4545 | 8 Add command arguments with three dashes, passed on to Vim scripts. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4546 | 6 User functions: Functions local to buffer "b:func()"? |
Bram Moolenaar | 5e3cb7e | 2006-02-27 23:58:35 +0000 | [diff] [blame] | 4547 | 8 For Strings add ":let var[{expr}] = {expr}". When past the end of "var" |
| 4548 | just ignore. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4549 | 8 The "= register should be writable, if followed by the name of a variable, |
| 4550 | option or environment variable. |
| 4551 | 8 ":let &option" should list the value of the option. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4552 | 8 ":let Func().foo = value" should work, also when "foo" doesn't exist. |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 4553 | Also: ":let Func()[foo] = value" should work. Same for a List. |
Bram Moolenaar | 5e3cb7e | 2006-02-27 23:58:35 +0000 | [diff] [blame] | 4554 | 7 Add synIDlist(), making the whole list of syntax items on the syntax stack |
| 4555 | available as a List. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4556 | 8 Add autocommand-event for when a variable is changed: |
| 4557 | :au VarChanged {varname} {commands} |
| 4558 | 8 Add "has("gui_capable")", to check if the GUI can be started. |
| 4559 | 8 Add possibility to use variables like registers: characterwise (default), |
| 4560 | linewise (when ending in '\n'), blockwise (when ending in '\001'). reg0, |
| 4561 | rega, reg%, etc. Add functions linewise({expr}), blockwise({expr}) and |
| 4562 | charwise({expr}). |
| 4563 | 7 Make it possible to do any command on a string variable (make a buffer |
| 4564 | with one line, containing the string). Maybe add an (invisible) scratch |
| 4565 | buffer for this? |
| 4566 | result = scratch(string, command) |
| 4567 | result = apply(string, command) |
| 4568 | result = execute(string, command) |
| 4569 | "command" would use <> notation. |
| 4570 | Does scratch buffer have a number? Or re-use same number? |
| 4571 | 7 Add function to generate unique number (date in milliseconds). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4572 | |
| 4573 | |
| 4574 | Robustness: |
Bram Moolenaar | 843ee41 | 2004-06-30 16:16:41 +0000 | [diff] [blame] | 4575 | 6 Add file locking. Lock a file when starting to edit it with flock() or |
| 4576 | fcntl(). This patch has advisory file locking while reading/writing |
| 4577 | the file for Vim 5.4: ~/vim/patches/kahn_file_locking . |
| 4578 | The patch is incomplete (needs support for more systems, autoconf). |
| 4579 | Andy doesn't have time to work on it. |
| 4580 | Disadvantage: Need to find ways to gracefully handle failure to obtain a |
| 4581 | lock. When to release a lock: When buffer is unloaded? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4582 | |
| 4583 | |
| 4584 | Performance: |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 4585 | 7 For string variables up to 3 bytes don't allocate memory, use v_list |
| 4586 | itself as a character array. Use VAR_SSTRING (short string). |
Bram Moolenaar | e6dc573 | 2010-07-24 23:52:26 +0200 | [diff] [blame] | 4587 | 7 Add 'lazysize' option: Above this size Vim doesn't load everything before |
| 4588 | starting to edit a file. Things like 'fileencodings' only work up to this |
| 4589 | size, modelines only work at the top. Useful for large log files where |
| 4590 | you only want to look at the first few pages. Use zero to disable it. |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 4591 | 8 move_lines() copies every line into allocated memory, making reloading a |
| 4592 | buffer a lot slower than re-editing the file. Can the memline be locked |
| 4593 | so that we don't need to make a copy? Or avoid invoking ml_updatechunk(), |
| 4594 | that is taking a lot of time. (Ralf Wildenhues, 2008 Jul 7) |
Bram Moolenaar | d04b750 | 2010-07-08 22:27:55 +0200 | [diff] [blame] | 4595 | With a patch, but does it work? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4596 | 8 Turn b_syn_ic and b_syn_containedin into b_syn_flags. |
| 4597 | 9 Loading menu.vim still takes quite a bit of time. How to make it faster? |
| 4598 | 8 in_id_list() takes much time for syntax highlighting. Cache the result? |
| 4599 | 7 setpcmark() shifts the jumplist, this takes quite a bit of time when |
| 4600 | jumping around. Instead use an index for the start? |
| 4601 | 8 When displaying a space with only foreground highlighting, it's the same |
| 4602 | as a space without attributes. Avoid displaying spaces for the "~" lines |
| 4603 | when starting up in a color terminal. |
| 4604 | 8 Avoid alloc() for scratch buffer use, esp. in syntax.c. It's very slow on |
| 4605 | Win16. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4606 | 8 Profiling shows that in_id_list() is used very often for C code. Can this |
| 4607 | function be improved? |
| 4608 | 8 For an existing file, the page size of the swap file is always the |
| 4609 | default, instead of using the block size of the device, because the swap |
| 4610 | file is created only after setting the block size in mf_open(). How can |
| 4611 | this be improved? |
| 4612 | 8 Set default for 'ttyscroll' to half a screen height? Should speed up |
| 4613 | MS-DOS version. (Negri) |
Bram Moolenaar | 293ee4d | 2004-12-09 21:34:53 +0000 | [diff] [blame] | 4614 | 7 C syntax highlighting gets a lot slower after ":set foldmethod=syntax". |
| 4615 | (Charles Campbell) Inserting a "{" is very slow. (dman) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4616 | 7 HTML syntax highlighting is slow for long lines. Try displaying |
| 4617 | http://www.theregister.co.uk/content/4/22908.html. (Andre Pang) |
| 4618 | 7 Check how performance of loading the wordlist can be improved (adding a |
| 4619 | lot of abbreviations). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4620 | 7 Compile Ex commands to byte codes. Store byte codes in a vim script file |
| 4621 | at the end, after "compiled:. Make it look like a single comment line |
| 4622 | for old Vim versions. Insert first line "Vim script compiled <timestamp>. |
| 4623 | Only used compiled code when timestamp matches the file stat. |
| 4624 | Add command to compile a vim script and add it to the file in-place. |
| 4625 | Split Ex command executing into a parsing and executing phase. |
| 4626 | Use compiled code for functions, while loops, etc. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4627 | 8 When defining autocommands (e.g., from $VIMRUNTIME/filetype.vim), need to |
| 4628 | compare each pattern with all existing patterns. Use a hash code to avoid |
| 4629 | using strcmp() too often? |
| 4630 | 7 Include turbo_loader patches, speeding up reading a file? |
| 4631 | Speed up reading a file by reading it into a fixed-size buffer, creating |
| 4632 | the list of indexes in another buffer, and then copying the result into a |
| 4633 | memfile block with two copies. Then read the next block into another |
| 4634 | fixed-size buffer, create the second list of indexes and copy text from |
| 4635 | the two blocks to the memfile block. |
| 4636 | 7 do_cmdline(): Avoid that the command line is copied to allocated memory |
| 4637 | and freed again later all the time. For while loops, and for when called |
| 4638 | with an argument that can be messed with. |
| 4639 | Generic solution: Make a struct that contains a pointer and a flag that |
| 4640 | indicates if the pointer should be freed when replaced. |
| 4641 | 7 Check that the file size is not more than "sizeof(long)". |
| 4642 | - Further improve finding mappings in maphash[] in vgetorpeek() |
| 4643 | 8 Syntax highlighting is slow when deleting lines. Try in |
| 4644 | $VIMRUNTIME/filetype.vim. |
| 4645 | - "out of memory" after deleting (1,$d) and changing (:%s/^/> /) a lot of |
| 4646 | lines (27000) a few times. Memory fragmentation? |
| 4647 | - Have a look at how pdksh does memory allocation (alloc.c). (Dalecki) |
| 4648 | - Do profiling on: |
| 4649 | - :g/pat/normal cmd |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4650 | - deleting 10Mbyte worth of lines (netscape binary) |
| 4651 | - "[i" and "[d" (Yegappan Lakshmanan) |
| 4652 | - ":g/^/m0" on a 450Kbyte file. And the "u". |
| 4653 | - highlighting "~/vim/test/longline.tex", "~/vim/test/scwoop.tcl" and |
| 4654 | "~/vim/test/lockup.pl". |
| 4655 | - loading a syntax file to highlight all words not from a dictionary. |
Bram Moolenaar | cc016f5 | 2005-12-10 20:23:46 +0000 | [diff] [blame] | 4656 | - editing a Vim script with syntax highlighting on (loading vim.vim). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4657 | 7 Screen updating can be further improved by only redrawing lines that were |
| 4658 | changed (and lines after them, when syntax highlighting was used, and it |
| 4659 | changed). |
| 4660 | - On each change, remember start and end of the change. |
| 4661 | - When inserting/deleting lines, remember begin, end, and line count. |
| 4662 | - Use macros/duarte/capicua for profiling. Nvi 1.71 is the fastest! |
| 4663 | - When using a file with one long line (1Mbyte), then do "$hhhh", is still |
| 4664 | very slow. Avoid calling getvcol() for each "h"? |
| 4665 | - Executing a register, e.g. "10000@@" is slow, because ins_typebuf has to |
| 4666 | move the previous commands forward each time. Pass count from |
| 4667 | normal_cmd() down to do_execreg(). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4668 | - Avoid calls to plines() for cursor line, use w_cline_height. |
| 4669 | - After ":set nowrap" remove superfluous redraw with wrong hor. offset if |
| 4670 | cursor is right of the screen. |
| 4671 | 8 Make CTRL-C on Unix generate a signal, avoid using select() to check for a |
| 4672 | CTRL-C (it's slow). |
| 4673 | |
| 4674 | |
| 4675 | Code size: |
| 4676 | 8 GUI: When NO_CONSOLE is defined, more code can be excluded. |
| 4677 | - Put getline() and cookie in a struct, so only one argument has to be |
| 4678 | passed to do_cmdline() and other functions. |
| 4679 | 8 Make a GUI-only version for Unix? |
| 4680 | 8 In buf_write _() isn't needed when setting errmsg, do it once when using |
| 4681 | it. |
| 4682 | 7 When compiling with a GUI-only version, the code for cterm colors can be |
| 4683 | left out. |
| 4684 | 8 When compiled with a GUI-only version, the termcap entries for terminals |
| 4685 | can be removed. |
Bram Moolenaar | c0514bf | 2016-11-17 14:50:09 +0100 | [diff] [blame] | 4686 | 8 Can the check for libelf in configure.ac be removed? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4687 | |
| 4688 | |
| 4689 | Messages: |
| 4690 | 8 When using ":q" in a changed file, the error says to "add !". Add the |
| 4691 | command so that beginners understand it: "use :q!". |
| 4692 | 8 For 'verbose' level 12 prints commands from source'ed files. How to skip |
| 4693 | lines that aren't executed? Perhaps move the echoing to do_cmdline()? |
| 4694 | 8 Use 'report' for ":bdel"? (Krishna) To avoid these messages when using a |
| 4695 | script. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4696 | - Delete message after new command has been entered and have waited for key. |
| 4697 | Perhaps after ten seconds? |
| 4698 | - Make message history available in "msg" variables: msg1, msg2, .. msg9. |
| 4699 | 9 Check handling of overwriting of messages and delays: |
| 4700 | Very wrong: errors while redrawing cause endless loop. |
| 4701 | When switching to another file and screen scrolls because of the long |
| 4702 | message and return must be typed, don't scroll the screen back before |
| 4703 | redrawing. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4704 | 8 When address range is wrong you only get "Invalid range". Be a bit more |
| 4705 | specific: Negative, beyond last line, reverse range? Include the text. |
| 4706 | 8 Make it possible to ignore errors for a moment ('errorignore'?). Another |
| 4707 | option to switch off giving error messages ('errorquiet'?). Also an option |
| 4708 | not to give any messages ('quiet')? Or ":quiet on", ":quiet off". |
| 4709 | Careful: For a severe error (out of memory), and when the user starts |
| 4710 | typing, error messages must be switched back on. |
| 4711 | Also a flag to ignore error messages for shell commands (for mappings). |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 4712 | - Option to set time for emsg() sleep. Interrupt sleep when key is typed? |
Bram Moolenaar | cc016f5 | 2005-12-10 20:23:46 +0000 | [diff] [blame] | 4713 | Sleep before second message? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4714 | 8 In Ex silent mode or when reading commands from a file, what exactly is |
| 4715 | not printed and what is? Check ":print", ":set all", ":args", ":vers", |
| 4716 | etc. At least there should be no prompt. (Smulders) And don't clear the |
| 4717 | screen when reading commands from stdin. (Kendall) |
| 4718 | --> Make a difference between informative messages, prompts, etc. and |
| 4719 | error messages, printing text, etc. |
| 4720 | 8 Window should be redrawn when resizing at the hit-enter prompt. |
| 4721 | Also at the ":tselect" prompt. Find a generic solution for redrawing when |
| 4722 | a prompt is present (with a callback function?). |
| 4723 | |
| 4724 | |
| 4725 | Screen updating: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4726 | - screen_line(): |
| 4727 | - insert/delete character stuff. |
| 4728 | - improve delete rest of line (spaces at end of line). |
| 4729 | - When moving or resizing window, try to avoid a complete redraw (esp. when |
| 4730 | dragging the status line with the mouse). |
| 4731 | - When 'lazyredraw' set, don't echo :ex commands? Need a flag to redraw when |
| 4732 | waiting for a character. |
| 4733 | 8 Add a ":refresh [winnr]" command, to force updating a window. Useful from |
| 4734 | an event handler where ":normal" can't be used. Also useful when |
| 4735 | 'lazyredraw' is set in a mapping. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4736 | |
| 4737 | Scrolling: |
Bram Moolenaar | 0065906 | 2010-09-21 22:34:02 +0200 | [diff] [blame] | 4738 | 8 Add "zy" command: scroll horizontally to put the cursor in the middle. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4739 | 6 Add option to set the overlap for CTRL-F and CTRL-B. (Garhi) |
| 4740 | - extend 'scrollbind' option: 'scrollopt' words "search", "relative", etc.. |
| 4741 | Also 'e'xecute some commands (search, vertical movements) in all bound |
| 4742 | windows. |
| 4743 | 7 Add 'scrollbind' feature to make the offset of one window with the next |
| 4744 | one equal to the window height. When editing one file in both windows it |
| 4745 | looks like each window displays a page of the buffer. |
| 4746 | - Allow scrolling by dragging with the mouse (grab a character and move it |
| 4747 | up/down). Like the "hand" in Acrobat reader. Use Alt-LeftMouse for this? |
| 4748 | (Goldfarb) |
| 4749 | - Add command to execute some commands (search, vertical movements) in all |
| 4750 | bound windows. |
| 4751 | - Add 'search' option to 'scrollopt' to allow 'scrollbind' windows to |
| 4752 | be bound by regexp searches |
Bram Moolenaar | 69a7cb4 | 2004-06-20 12:51:53 +0000 | [diff] [blame] | 4753 | - Add "z>" and "z<": scroll sideways one screenful. (Campbell) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4754 | - Add option to set the number of lines when not to scroll, instead of the |
| 4755 | fixed number used now (for terminals that scroll slow with a large number |
| 4756 | of lines but not with a single line). |
| 4757 | |
| 4758 | |
| 4759 | Autoconf: |
| 4760 | 8 Should use acconfig.h to define prototypes that are used by autoheader. |
| 4761 | 8 Some compilers don't give an error for "-OPT:Olimit" but a warning. (Webb) |
| 4762 | Add a check for the warning, so that "Olimit" can be added automatically? |
| 4763 | - Autoconf: Use @datadir@ for the system independent files. Make sure the |
| 4764 | system dependent and system independent files are separated. (Leitner). |
| 4765 | - Add autoconf check for waitpid()/wait4(). |
| 4766 | - Remove fcntl() from autoconf, all systems have it? |
| 4767 | - Set default for 'dictionary', add search for dictionary to autoconf. |
| 4768 | |
| 4769 | |
| 4770 | Perl interface: |
| 4771 | 8 Rename typemap file to something else? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4772 | 7 Make buffers accessed as Perl arrays. (Clark) |
| 4773 | 7 Make it possible to compile with non-ANSI C? |
| 4774 | 6 Tcl/Tk has the "load" command: load a shared library (.so or .dll). |
| 4775 | |
| 4776 | |
| 4777 | Shared libraries: |
Bram Moolenaar | ab94343 | 2018-03-29 18:27:07 +0200 | [diff] [blame] | 4778 | 8 libcall() can keep the library around instead of always calling dlclose(). |
| 4779 | (Jason Felice, 2018 Mar 20) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4780 | 6 Add support for loading shared libraries, and calling functions in it. |
| 4781 | :libload internal-name libname |
| 4782 | :libunload internal-name |
| 4783 | :liblist |
| 4784 | :libcall internal-name function(arg1, arg2, ...) |
| 4785 | :libcall function(arg1, arg2, ...) |
| 4786 | libcall() can have only one integer or String argument at the moment. |
| 4787 | 6 Have a look on how Perl handles loading dynamic libraries. |
| 4788 | |
| 4789 | |
| 4790 | Tags: |
Bram Moolenaar | c6fe919 | 2006-04-09 21:54:49 +0000 | [diff] [blame] | 4791 | 9 With ":set tags=./tags,../tags" and a tag appears in both tags files it is |
| 4792 | added twice. Requires figuring out the actual file name for each found |
| 4793 | match. Remove tag_fname from the match and combine it with the fname in |
| 4794 | the match (without expanding or other things that take time). When |
| 4795 | 'tagrelative' is off tag_fname isn't needed at all. |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 4796 | 8 For 'tags' wildcard in the file name is not supported, only in the path. |
| 4797 | This is due to it using |file-searching|. Suboptimal solution would be to |
| 4798 | make the filename or the whole option use |wildcards| globing, better |
Bram Moolenaar | f91787c | 2010-07-17 12:47:16 +0200 | [diff] [blame] | 4799 | would be to merge the 2 kinds of globing. originally (Erik Falor, 2008 |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 4800 | April 18), updated (Ian Kelling, 2008 July 4) |
Bram Moolenaar | 1d2ba7f | 2006-02-14 22:29:30 +0000 | [diff] [blame] | 4801 | 7 Can CTRL-] (jump to tag) include a following "." and "->" to restrict the |
| 4802 | number of possible matches? Check tags file for an item that has members. |
| 4803 | (Flemming Madsen) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4804 | 8 Scope arguments for ":tag", e.g.: ":tag class:cPage open", like Elvis. |
| 4805 | 8 When output of ":tselect" is long, getting the more-prompt, should be able |
| 4806 | to type the tag number directly. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4807 | 7 Add the possibility to use the "-t {tag}" argument multiple times. Open a |
| 4808 | window for each tag. |
| 4809 | 7 Make output of ":tselect" a bit nicer. Use highlighting? |
| 4810 | 7 Highlight the "tag 1 of >2" message. New highlight group, or same as "hit |
| 4811 | bottom" search message. |
| 4812 | 7 When using ":tag" at the top of the tag stack, should add another entry, |
| 4813 | so CTRL-T can bring you back to where you are now AND to where you were |
| 4814 | before the previous ":tag" command. (Webb) |
Bram Moolenaar | 485db9b | 2005-01-31 19:23:41 +0000 | [diff] [blame] | 4815 | - When doing "[^I" or "[^D" add position to tag stack. |
| 4816 | - Add command to put current position to tag stack: ":tpush". |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 4817 | - Add functions to save and restore the tag stack? Or a command to switch |
| 4818 | to another tag stack? So that you can do something else and come back to |
| 4819 | what you were working on. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4820 | 7 When using CTRL-] on someClass::someMethod, separate class from method and |
| 4821 | use ":ta class:someClass someMethod". |
| 4822 | Include C++ tags changes (Bertin). Change "class::func" tag into "func" |
| 4823 | with "class=class"? Docs in oldmail/bertin/in.xxx. |
| 4824 | 7 Add ":tagargs", to set values for fields: |
| 4825 | :tagargs class:someclass file:version.c |
| 4826 | :tagargs clear |
| 4827 | These are then the default values (changes the order of priority in tag |
| 4828 | matching). |
| 4829 | 7 Support for "gtags" and "global"? With ":rtag" command? |
| 4830 | There is an example for how to do this in Nvi. |
| 4831 | Or do it like Elvis: 'tagprg' and 'tagprgonce' options. (Yamaguchi) |
| 4832 | The Elvis method is far more flexible, do it that way. |
| 4833 | 7 Support "col:99" extra field, to position the cursor in that column. With |
| 4834 | a flag in 'cpoptions' to switch it off again. |
| 4835 | 7 Better support for jumping to where a function or variable is used. Use |
| 4836 | the id-utils, with a connection to "gid" (Emacs can do it too). Add |
| 4837 | ":idselect", which uses an "ID" database (made by "mkid") like "tselect". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4838 | |
| 4839 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4840 | Win32 GUI: |
| 4841 | 8 Make debug mode work while starting up (vim -D). Open console window for |
| 4842 | the message and input? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4843 | 7 GvimExt: when there are several existing Vims, move the list to a submenu. |
| 4844 | (Mike McCollister) |
| 4845 | 8 When using "Edit with Vim" for one file it changes directory, when several |
| 4846 | files are selected and using "Edit with single Vim" the directory isn't |
| 4847 | changed. At least change directory when the path is the same for all |
| 4848 | files. Perhaps just use the path of the first file or use the longest |
| 4849 | common part of the path. |
| 4850 | 8 Add font argument to set the lfCharSet. (Bobcik) |
| 4851 | 8 Somehow automatically detect the system language and set $LANG, so that |
| 4852 | gettext and menus work. |
| 4853 | 8 Could keep console open to run multiple commands, to avoid the need to hit |
| 4854 | return in every console. |
Bram Moolenaar | 06b5d51 | 2010-05-22 15:37:44 +0200 | [diff] [blame] | 4855 | Also: Look at how Emacs does run external commands: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4856 | http://www.cs.washington.edu/homes/voelker/ntemacs.html. |
| 4857 | 8 Need a separate PopUp menu for modeless selection. Need two new commands: |
| 4858 | Copy selection to clipboard, Paste selection (as typed text). |
| 4859 | 8 Support copy/paste for other file formats. At least HTML, perhaps RTF. |
| 4860 | Add "copy special" and "paste special" commands? |
| 4861 | 7 Use different default colors, to match the current Windows color scheme. |
| 4862 | Sys_WindowText, Sys_Window, etc. (Lionel Schaffhauser) |
| 4863 | 7 Use <C-Tab> to cycle through open windows (e.g., the find dialog). |
| 4864 | 7 <Esc> should close a dialog. |
| 4865 | 7 Keep the console for external commands open. Don't wait for a key to be |
| 4866 | hit. Re-open it when the user has closed it anyway. Or use a prepended |
| 4867 | command: ":nowait {cmd}", or ":quiet", which executes {cmd} without any |
| 4868 | prompts. |
| 4869 | 7 Should be able to set an option so that when you double click a file that |
| 4870 | is associated with Vim, you can either get a new instance of Vim, or have |
| 4871 | the file added into an already running Vim. |
| 4872 | 7 The "-P" argument only works for the current codepage. Use wide |
| 4873 | functions to find the window title. |
| 4874 | |
| 4875 | |
| 4876 | GUI: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4877 | 7 Implement ":popup" for other systems than Windows. |
| 4878 | 8 Implement ":tearoff" for other systems than Win32 GUI. |
| 4879 | 6 Implement ":untearoff": hide a torn-off menu. |
| 4880 | 8 When using the scrollbar to scroll, don't move the cursor position. When |
| 4881 | moving the cursor: scroll to the cursor position. |
| 4882 | 9 Make <S-Insert> paste from the clipboard by default. (Kunze) |
| 4883 | 7 Menu local to a buffer, like mappings. Or local to a filetype? |
| 4884 | 8 In Buffers menu, add a choice whether selecting a buffer opens it in the |
| 4885 | current window, splits the window or uses ":hide". |
| 4886 | 8 Dragging the mouse pointer outside of a Vim Window should make the text |
| 4887 | scroll. Return a value from gui_send_mouse_event() to the machine |
| 4888 | specific code to indicate the time in which the event should be repeated. |
| 4889 | 8 Make it possible to ignore a mouse click when it's used to give Vim (gvim) |
| 4890 | window focus. Also when a mouse click is used to bring a window to front. |
| 4891 | 8 Make the split into system independent code and system specific code more |
| 4892 | explicit. There are too many #ifdefs in gui.c. |
| 4893 | If possible, separate the Vim code completely from the GUI code, to allow |
| 4894 | running them in separate processes. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4895 | 7 X11: Support cursorColor resource and "-cr" argument. |
| 4896 | 8 X11 (and others): CTRL-; is not different from ';'. Set the modifier mask |
| 4897 | to include CTRL for keys where CTRL produces the same ASCII code. |
Bram Moolenaar | aba2f48 | 2005-08-10 07:57:38 +0000 | [diff] [blame] | 4898 | 7 Add some code to handle proportional fonts on more systems? Need to draw |
| 4899 | each character separately (like xterm). Also for when a double-width font |
| 4900 | is not exactly double-width. (Maeda) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4901 | 8 Should take font from xterm where gvim was started (if no other default). |
| 4902 | 8 Selecting font names in X11 is difficult, make a script or something to |
Bram Moolenaar | 0a56cb8 | 2005-01-04 21:45:14 +0000 | [diff] [blame] | 4903 | select one. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4904 | 8 Visual highlighting should keep the same font (bold, italic, etc.). |
| 4905 | 8 Add flag to 'guioptions' to not put anything in the clipboard at all? |
| 4906 | 8 Should support a way to use keys that we don't recognize yet. Add a |
| 4907 | command that adds entries to special_keys somehow. How do we make this |
| 4908 | portable (X11, Win32, ..)? |
| 4909 | 7 Add a flag to 'guioptions' that tells not to remove inactive menu items. |
| 4910 | For systems where greying-out or removing menu items is very slow. The |
| 4911 | menu items would remain visibly normally, but not do anything. |
| 4912 | 7 Add ":minimize" and ":maximize", which iconize the window and back. |
| 4913 | Useful when using gvim to run a script (e.g. 2html.vim). |
| 4914 | 7 X11: Is it possible to free allocated colors, so that other programs can |
| 4915 | use them again? Otherwise, allow disabling allocating the default colors. |
| 4916 | Or allocate an own colormap (check UAE). With an option to use it. For |
| 4917 | the commandline, "-install" is mostly used for X11 programs. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4918 | 7 Should support multi-column menus. |
| 4919 | - Should add option for where to put the "Help" menu: like Motif at the far |
| 4920 | right, or with the other menus (but still at the right). |
| 4921 | - Add menu item to "Keep Insert mode". |
| 4922 | 8 ":mkgvimrc" command, that includes menus. |
| 4923 | 6 Big change: Move GUI to separate program "vimgui", to make startup of vim a |
| 4924 | lot faster, but still be able to do "vim -g" or ":gui". |
| 4925 | 7 More explicit mouse button binding instead of 'mousemodel'? |
| 4926 | 7 Add option to set the position of the window on the screen. 'windowpos', |
| 4927 | which has a value of "123,456": <x>,<y>. |
| 4928 | Or add a command, like ":winsize"? |
| 4929 | 7 Add toolbar for more GUIs. |
| 4930 | 8 Make it possible to use "amenu icon=BuiltIn##", so that the toolbar item |
| 4931 | name can be chosen free. |
| 4932 | 7 Make it possible to put the toolbar on top, left, right and/or bottom of |
| 4933 | the window? Allows for softkey-like use. |
| 4934 | 6 Separate the part of Vim that does the editing from the part that runs the |
| 4935 | GUI. Communicate through a pseudo-tty. Vim starts up, creates a |
| 4936 | pty that is connected to the terminal. When the GUI starts, the pty is |
| 4937 | reconnected to the GUI process. When the GUI stops, it is connected to |
| 4938 | the terminal again. Also use the pty for external processes, it looks |
| 4939 | like a vt100 terminal to them. Vim uses extra commands to communicate GUI |
| 4940 | things. |
| 4941 | 7 Motif: For a confirm() dialog <Enter> should be ignored when no default |
| 4942 | button selected, <Esc> should close the dialog. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4943 | 7 When using a pseudo-tty Vim should behave like some terminal (vt52 looks |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 4944 | simple enough). Terminal codes to/from shell should be translated. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4945 | - Would it be useful to be able to quit the GUI and go back to the terminal |
| 4946 | where it was started from? |
| 4947 | 7 Support "-visual <type>" command line argument. |
| 4948 | |
| 4949 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4950 | Autocommands: |
Bram Moolenaar | 251e191 | 2011-06-19 05:09:16 +0200 | [diff] [blame] | 4951 | 9 Rework the code from FEAT_OSFILETYPE for autocmd-osfiletypes to use |
| 4952 | 'filetype'. Only for when the current buffer is known. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 4953 | - Put autocommand event names in a hashtable for faster lookup? |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 4954 | 8 When the SwapExists event is triggered, provide information about the |
| 4955 | swap file, e.g., whether the process is running, file was modified, etc. |
| 4956 | Must be possible to check the situation that it's probably OK to delete |
| 4957 | the swap file. (Marc Merlin) |
| 4958 | 8 When all the patterns for an event are "*" there is no need to expand |
| 4959 | buffer names to a full path. This can be slow for NFS. |
Bram Moolenaar | b5bf5b8 | 2004-12-24 14:35:23 +0000 | [diff] [blame] | 4960 | 7 For autocommand events that trigger multiple times per buffer (e.g., |
| 4961 | CursorHold), go through the list once and cache the result for a specific |
| 4962 | buffer. Invalidate the cache when adding/deleting autocommands or |
| 4963 | changing the buffer name. |
Bram Moolenaar | 34cdc3e | 2005-05-18 22:24:46 +0000 | [diff] [blame] | 4964 | 7 Add TagJump event: do something after jumping to a tag. |
Bram Moolenaar | 3d0a603 | 2006-02-09 23:54:54 +0000 | [diff] [blame] | 4965 | 8 Add "TagJumpFile" autocommand: When jumping to another file for a tag. |
| 4966 | Can be used to open "main.c.gz" when "main.c" isn't found. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4967 | 8 Use another option than 'updatetime' for the CursorHold event. The two |
| 4968 | things are unrelated for the user (but the implementation is more |
| 4969 | difficult). |
Bram Moolenaar | 3d0a603 | 2006-02-09 23:54:54 +0000 | [diff] [blame] | 4970 | 7 Add autocommand event for when a buffer cannot be abandoned. So that the |
| 4971 | user can define the action taking (autowrite, dialog, fail) based on the |
| 4972 | kind of file. (Yakov Lerner) Or is BufLeave sufficient? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4973 | 8 Autocommand for when modified files have been found, when getting input |
| 4974 | focus again (e.g., FileChangedFocus). |
| 4975 | Check when: getting focus, jumping to another buffer, ... |
Bram Moolenaar | 3d0a603 | 2006-02-09 23:54:54 +0000 | [diff] [blame] | 4976 | 8 Autocommands should not change registers. And marks? And the jumplist? |
| 4977 | And anything else? Add a command to save and restore these things. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4978 | 8 Add autocommands, user functions and user commands to ":mkvimrc". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4979 | 6 Add KeymapChanged event, so that the effects of a different keymap can be |
| 4980 | handled (e.g., other font) (Ron Aaron) |
Bram Moolenaar | 3d0a603 | 2006-02-09 23:54:54 +0000 | [diff] [blame] | 4981 | 7 When trying to open a directory, trigger an OpenDirectory event. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4982 | 7 Add file type in front of file pattern: <d> for directory, <l> for link, |
Bram Moolenaar | 446beb4 | 2011-05-10 17:18:44 +0200 | [diff] [blame] | 4983 | <x> for executable, etc. With commas to separate alternatives. The |
| 4984 | autocommand is only executed when both the file type AND the file pattern |
| 4985 | match. (Leonard) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4986 | 5 Add option that specifies extensions which are to be discarded from the |
| 4987 | file name. E.g. 'ausuffix', with ".gz,.orig". Such that file.c.gz will |
| 4988 | trigger the "*.c" autocommands. (Belabas) |
| 4989 | 7 Add something to break the autocommands for the current event, and for |
| 4990 | what follows. Useful for a "BufWritePre" that wants to avoid writing the |
| 4991 | file. |
| 4992 | 8 When editing "tt.gz", which is in DOS format, 'fileformat' stays at |
| 4993 | "unix", thus writing the file changes it. Somehow detect that the read |
| 4994 | command used dos fileformat. Same for 'fileencoding'. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4995 | - Add events to autocommands: |
| 4996 | Error - When an error happens |
Bram Moolenaar | 6dc819b | 2018-07-03 16:42:19 +0200 | [diff] [blame] | 4997 | ModeChange - after changing mode (before waiting for a char) |
Bram Moolenaar | 21cf823 | 2004-07-16 20:18:37 +0000 | [diff] [blame] | 4998 | VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled |
| 4999 | when exiting isn't a good idea. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5000 | CursorHoldC - CursorHold while command-line editing |
Bram Moolenaar | 3fdfa4a | 2004-10-07 21:02:47 +0000 | [diff] [blame] | 5001 | WinMoved - when windows have been moved around, e.g, ":wincmd J" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5002 | SearchPost - After doing a search command (e.g. to do "M") |
| 5003 | PreDirChanged/PostDirChanged |
| 5004 | - Before/after ":cd" has been used (for changing the |
| 5005 | window title) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5006 | ShutDown - when the system is about to shut down |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5007 | InsertCharPost - user typed a character in Insert mode, after inserting |
| 5008 | the char. |
| 5009 | BufModified - When a buffer becomes modified, or unmodified (for |
| 5010 | putting a [+] in the window title or checking out the |
| 5011 | file from CVS). |
| 5012 | BufFirstChange - When making a change, when 'modified' is set. Can be |
| 5013 | used to do a :preserve for remote files. |
| 5014 | BufChange - after a change was made. Set some variables to indicate |
| 5015 | the position and number of inserted/deleted lines, so |
| 5016 | that marks can be updated. HierAssist has patch to add |
| 5017 | BufChangePre, BufChangePost and RevertBuf. (Shah) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5018 | ViewChanged - triggered when the text scrolls and when the window size |
| 5019 | changes. |
| 5020 | WinResized - After a window has been resized |
| 5021 | WinClose - Just before closing a window |
Bram Moolenaar | ebefac6 | 2005-12-28 22:39:57 +0000 | [diff] [blame] | 5022 | - Write the file now and then ('autosave'): |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5023 | *'autosave'* *'as'* *'noautosave'* *'noas'* |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 5024 | 'autosave' 'as' number (default 0) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5025 | Automatically write the current buffer to file N seconds after the |
| 5026 | last change has been made and when |'modified'| is still set. |
| 5027 | Default: 0 = do not autosave the buffer. |
| 5028 | Alternative: have 'autosave' use 'updatetime' and 'updatecount' but make |
| 5029 | them save the file itself besides the swapfile. |
| 5030 | |
| 5031 | |
Bram Moolenaar | ade0083 | 2006-03-10 21:46:58 +0000 | [diff] [blame] | 5032 | Omni completion: |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 5033 | - Add a flag to 'complete' to be able to do omni completion with CTRL-N (and |
| 5034 | mix it with other kinds of completion). |
Bram Moolenaar | ade0083 | 2006-03-10 21:46:58 +0000 | [diff] [blame] | 5035 | - Ideas from the Vim 7 BOF at SANE: |
| 5036 | - For interpreted languages, use the interpreter to obtain information. |
| 5037 | Should work for Java (Eclipse does this), Python, Tcl, etc. |
| 5038 | Richard Emberson mentioned working on an interface to Java. |
| 5039 | - Check Readline for its completion interface. |
Bram Moolenaar | ade0083 | 2006-03-10 21:46:58 +0000 | [diff] [blame] | 5040 | - Ideas from others: |
| 5041 | http://www.wholetomato.com/ |
| 5042 | http://www.vim.org/scripts/script.php?script_id=747 |
| 5043 | http://sourceforge.net/projects/insenvim |
| 5044 | or http://insenvim.sourceforge.net |
| 5045 | Java, XML, HTML, C++, JSP, SQL, C# |
| 5046 | MS-Windows only, lots of dependencies (e.g. Perl, Internet |
| 5047 | explorer), uses .dll shared libraries. |
| 5048 | For C++ uses $INCLUDE environment var. |
| 5049 | Uses Perl for C++. |
| 5050 | Uses ctags to find the info: |
| 5051 | ctags -f $allTagsFile --fields=+aiKmnsSz --language-force=C++ --C++-kinds=+cefgmnpsut-dlux -u $files |
| 5052 | www.vim.org script 1213 (Java Development Environment) (Fuchuan Wang) |
| 5053 | IComplete: http://www.vim.org/scripts/script.php?script_id=1265 |
| 5054 | and http://stud4.tuwien.ac.at/~e0125672/icomplete/ |
| 5055 | http://cedet.sourceforge.net/intellisense.shtml (for Emacs) |
| 5056 | Ivan Villanueva has something for Java. |
Bram Moolenaar | ff312a4 | 2010-05-16 15:14:25 +0200 | [diff] [blame] | 5057 | Emacs: http://www.xref-tech.com/xrefactory/more_c_completion.html |
Bram Moolenaar | ade0083 | 2006-03-10 21:46:58 +0000 | [diff] [blame] | 5058 | Completion in .NET framework SharpDevelop: http://www.icsharpcode.net |
| 5059 | - Pre-expand abbreviations, show which abbrevs would match? |
| 5060 | |
| 5061 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5062 | Insert mode completion/expansion: |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 5063 | - GUI implementation of the popup menu. |
Bram Moolenaar | 8b2d9c4 | 2006-05-03 21:28:47 +0000 | [diff] [blame] | 5064 | 7 When searching in other files the name flash by, too fast to read. Only |
| 5065 | display a name every second or so, like with ":vimgrep". |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 5066 | 7 When expanding file names with an environment variable, add the match with |
| 5067 | the unexpanded var. So $HOME/tm expands to "/home/guy/tmp" and |
| 5068 | "$HOME/tmp" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5069 | 8 When there is no word before the cursor but something like "sys." complete |
| 5070 | with "sys.". Works well for C and similar languages. |
| 5071 | 9 ^X^L completion doesn't repeat correctly. It uses the first match with |
| 5072 | the last added line, instead of continuing where the last match ended. |
| 5073 | (Webb) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5074 | 8 Add option to set different behavior for Insert mode completion: |
| 5075 | - ignore/match case |
| 5076 | - different characters than 'iskeyword' |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5077 | 8 Add option 'isexpand', containing characters when doing expansion (so that |
| 5078 | "." and "\" can be included, without changing 'iskeyword'). (Goldfarb) |
| 5079 | Also: 'istagword': characters used for CTRL-]. |
| 5080 | When 'isexpand' or 'istagword' are empty, use 'iskeyword'. |
| 5081 | Alternative: Use a pattern so that start and end of a keyword can be |
| 5082 | defined, only allow dash in the middle, etc. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5083 | 8 Add a command to undo the completion, go back to the original text. |
Bram Moolenaar | aba2f48 | 2005-08-10 07:57:38 +0000 | [diff] [blame] | 5084 | 7 Completion of an abbreviation: Can leave letters out, like what Instant |
| 5085 | text does: www.textware.com |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5086 | 8 Use the class information in the tags file to do context-sensitive |
| 5087 | completion. After "foo." complete all member functions/variables of |
| 5088 | "foo". Need to search backwards for the class definition of foo. |
| 5089 | Should work for C++ and Java. |
| 5090 | Even more context would be nice: "import java.^N" -> "io", "lang", etc. |
| 5091 | 7 When expanding $HOME/dir with ^X^F keep the $HOME (with an option?). |
| 5092 | 7 Add CTRL-X command in Insert mode like CTRL-X CTRL-N, that completes WORDS |
| 5093 | instead of words. |
| 5094 | 8 Add CTRL-X CTRL-R: complete words from register contents. |
| 5095 | 8 Add completion of previously inserted texts (like what CTRL-A does). |
| 5096 | Requires remembering a number of insertions. |
| 5097 | 8 Add 'f' flag to 'complete': Expand file names. |
| 5098 | Also apply 'complete' to whole line completion. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5099 | - Add a flag to 'complete' to only scan local header files, not system |
| 5100 | header files. (Andri Moell) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5101 | - Make it possible to search include files in several places. Use the |
| 5102 | 'path' option? Can this be done with the dictionary completion (use |
| 5103 | wildcards in the file name)? |
| 5104 | - Make CTRL-X CTRL-K do a binary search in the dictionary (if it's sorted). |
| 5105 | - Speed up CTRL-X CTRL-K dictionary searching (don't use a regexp?). |
| 5106 | - Set a mark at the position where the match was found (file mark, could |
| 5107 | be in another file). |
| 5108 | - Add CTRL-A command in CTRL-X mode: show all matches. |
| 5109 | - Make CTRL-X CTRL-L use the 'complete' option? |
| 5110 | - Add command in CTRL-X mode to add following words to the completed string |
| 5111 | (e.g. to complete "Pointer->element" with CTRL-X CTRL-P CTRL-W CTRL-W) |
| 5112 | - CTRL-X CTRL-F: Use 'path' to find completions. |
| 5113 | - CTRL-X CTRL-F: Option to use forward slashes on MS-Windows? |
| 5114 | - CTRL-X CTRL-F: Don't replace "$VIM" with the actual value. (Kelly) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5115 | - Allow listing all matches in some way (and picking one from the list). |
| 5116 | |
| 5117 | |
| 5118 | Command line editing: |
| 5119 | 7 Add commands (keys) to delete from the cursor to the end of the command |
| 5120 | line. |
| 5121 | 8 Custom completion of user commands can't use the standard completion |
| 5122 | functions. Add a hook to invoke a user function that returns the type of |
| 5123 | completion to be done: "file", "tag", "custom", etc. |
| 5124 | - Add flags to 'whichwrap' for command line editing (cursor right at end of |
| 5125 | lines wraps to start of line). |
| 5126 | - Make editing the command line work like Insert mode in a single-line view |
| 5127 | on a buffer that contains the command line history. But this has many |
| 5128 | disadvantages, only implement it when these can be solved. Elvis has run |
| 5129 | into these, see remarks from Steve (~/Mail/oldmail/kirkendall/in.00012). |
| 5130 | - Going back in history and editing a line there would change the history. |
| 5131 | Would still need to keep a copy of the history elsewhere. Like the |
| 5132 | cmdwin does now already. |
| 5133 | - Use CTRL-O to execute one Normal mode command. How to switch to normal |
| 5134 | mode for more commands? <Esc> should cancel the command line. CTRL-T? |
| 5135 | - To allow "/" and "= need to recursively call getcmdline(), overwrite the |
| 5136 | cmdline. But then we are editing a command-line again. How to avoid |
| 5137 | that the user gets confused by the stack of command lines? |
| 5138 | - Use edit() for normal cmdline editing? Would have to integrate |
| 5139 | getcmdline() into edit(). Need to solve conflicts between Insert mode |
| 5140 | and Command-line mode commands. Make it work like Korn shell and tcsh. |
| 5141 | Problems: |
| 5142 | - Insert: completion with 'wildchar' |
| 5143 | - Insert: use cmdline abbreviations |
| 5144 | - Insert: CTRL-D deletes indent instead of listing matches |
| 5145 | - Normal: no CTRL-W commands |
| 5146 | - Normal: no ":" commands? |
| 5147 | - Normal: allow Visual mode only within one line. |
| 5148 | - where to show insert/normal mode message? Change highlighting of |
| 5149 | character in first column? |
| 5150 | - Implementation ideas: |
| 5151 | - Set "curwin" and "curbuf" to the command line window and buffer. |
| 5152 | - curwin->w_topline is always equal to curwin->w_cursor.lnum. |
| 5153 | - never set 'number', no folding, etc. No status line. |
| 5154 | - sync undo after entering a command line? |
| 5155 | - use NV_NOCL flag for commands that are not allowed in Command-line |
| 5156 | Mode. |
| 5157 | |
| 5158 | |
| 5159 | Command line completion: |
| 5160 | 8 Change expand_interactively into a flag that is passed as an argument. |
| 5161 | 8 With command line completion after '%' and '#', expand current/alternate |
| 5162 | file name, so it can be edited. Also with modifiers, such as "%:h". |
| 5163 | 8 When completing command names, either sort them on the long name, or list |
| 5164 | them with the optional part inside []. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5165 | 8 Add an option to ignore case when doing interactive completion. So that |
| 5166 | ":e file<Tab>" also lists "Filelist" (sorted after matching case matches). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5167 | 7 Completion of ":map x ": fill in the current mapping, so that it can be |
| 5168 | edited. (Sven Guckes) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5169 | - For 'wildmenu': Simplify "../bar" when possible. |
| 5170 | - When using <Up> in wildmenu mode for a submenu, should go back to the |
| 5171 | current menu, not the first one. E.g., ":emenu File.Save<Up>". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5172 | 8 When using backtick expansion, the external command may write a greeting |
| 5173 | message. Add an option or commands to remove lines that match a regexp? |
| 5174 | 7 When listing matches of files, display the common path separately from the |
| 5175 | file names, if this makes the listing shorter. (Webb) |
| 5176 | - Add command line completion for ":ilist" and friends, show matching |
| 5177 | identifiers (Webb). |
| 5178 | 8 Add command line completion for "old value" of a command. ":args <key>" |
| 5179 | would result in the current list of arguments, which you can then edit. |
| 5180 | 7 Add command line completion with CTRL-X, just like Insert mode completion. |
| 5181 | Useful for ":s/word/xx/". |
| 5182 | - Add command to go back to the text as it was before completion started. |
| 5183 | Also to be used for <Up> in the command line. |
| 5184 | - Add 'wildlongest' option: Key to use to find longest common match for |
| 5185 | command line completion (default CTRL-L), like 'wildchar'. (Cregut) |
| 5186 | Also: when there are several matches, show them line a CTRL-D. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5187 | |
| 5188 | |
| 5189 | Command line history: |
| 5190 | - Add "KeyWasTyped" flag: It's reset before each command and set when a |
| 5191 | character from the keyboard is consumed. Value is used to decide to put a |
| 5192 | command line in history or not. Put line in history if it didn't |
Bram Moolenaar | a2a8016 | 2017-11-21 23:09:50 +0100 | [diff] [blame] | 5193 | completely result from one mapping. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5194 | - When using ":browse", also put the resulting edit command in the history, |
| 5195 | so that it can be repeated. (Demirel) |
| 5196 | |
| 5197 | |
| 5198 | Insert mode: |
Bram Moolenaar | f4b8e57 | 2004-06-24 15:53:16 +0000 | [diff] [blame] | 5199 | 9 When 'autoindent' is set, hitting <CR> twice, while there is text after |
| 5200 | the cursor, doesn't delete the autoindent in the resulting blank line. |
| 5201 | (Rich Wales) This is Vi compatible, but it looks like a bug. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5202 | 8 When using CTRL-O in Insert mode, then executing an insert command |
| 5203 | "a" or "i", should we return to Insert mode after <Esc>? (Eggink) |
| 5204 | Perhaps it can be allowed a single time, to be able to do |
| 5205 | "<C-O>10axyz<Esc>". Nesting this further is confusing. |
| 5206 | ":map <F2> 5aabc<Esc>" works only once from Insert mode. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5207 | 8 When using CTRL-G CTRL-O do like CTRL-\ CTRL-O, but when returning with |
| 5208 | the cursor in the same position and the text didn't change continue the |
| 5209 | same change, so that "." repeats the whole insert. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5210 | 7 Use CTRL-G <count> to repeat what follows. Useful for inserting a |
| 5211 | character multiple times or repeating CTRL-Y. |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 5212 | - Make 'revins' work in Replace mode. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5213 | 7 Use 'matchpairs' for 'showmatch': When inserting a character check if it |
| 5214 | appears in the rhs of 'matchpairs'. |
| 5215 | - In Insert mode (and command line editing?): Allow undo of the last typed |
| 5216 | character. This is useful for CTRL-U, CTRL-W, delete and backspace, and |
| 5217 | also for characters that wrap to the next line. |
| 5218 | Also: be able to undo CTRL-R (insert register). |
| 5219 | Possibly use 'backspace'="whole" for a mode where at least a <CR> that |
| 5220 | inserts autoindent is undone by a single <BS>. |
| 5221 | - Use CTRL-G in Insert mode for an extra range of commands, like "g" in |
| 5222 | Normal mode. |
| 5223 | - Make 'paste' work without resetting other options, but override their |
| 5224 | value. Avoids problems when changing files and modelines or autocommands |
| 5225 | are used. |
| 5226 | - When typing CTRL-V and a digit higher than 2, only expect two digits. |
| 5227 | - Insert binary numbers with CTRL-V b. |
| 5228 | - Make it possible to undo <BS>, <C-W> and <C-U>. Bash uses CTRL-Y. |
| 5229 | |
| 5230 | |
| 5231 | 'cindent', 'smartindent': |
Bram Moolenaar | 662db67 | 2011-03-22 14:05:35 +0100 | [diff] [blame] | 5232 | 9 Wrapping a variable initialization should have extra indent: |
| 5233 | char * veryLongName = |
| 5234 | "very long string" |
| 5235 | Also check if "cino=+10" is used correctly. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5236 | 8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17) |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5237 | 8 Why are continuation lines outside of a {} block not indented? E.g.: |
| 5238 | long_type foo = |
| 5239 | value; |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5240 | 8 Java: Inside an anonymous class, after an "else" or "try" the indent is |
| 5241 | too small. (Vincent Bergbauer) |
Bram Moolenaar | 8cacf35 | 2006-04-15 20:27:24 +0000 | [diff] [blame] | 5242 | Problem of using {} inside (), 'cindent' doesn't work then. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5243 | 8 In C++ it's possible to have {} inside (): (Kirshna) |
| 5244 | func( |
| 5245 | new String[] { |
| 5246 | "asdf", |
| 5247 | "asdf" |
| 5248 | } |
| 5249 | ); |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 5250 | 8 In C++ a function isn't recognized inside a namespace: |
| 5251 | (Chow Loong Jin) |
| 5252 | namespace { |
| 5253 | int |
| 5254 | func(int arg) { |
| 5255 | } |
| 5256 | } |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5257 | 6 Add 'cino' flag for this function argument layout: (Spencer Collyer) |
| 5258 | func( arg1 |
| 5259 | , arg2 |
| 5260 | , arg3 |
| 5261 | ); |
Bram Moolenaar | 9e54a0e | 2006-04-14 20:42:25 +0000 | [diff] [blame] | 5262 | 7 Add separate "(0" option into inside/outside a function (Zellner): |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5263 | func( |
| 5264 | int x) // indent like "(4" |
| 5265 | { |
| 5266 | if (a |
| 5267 | && b) // indent like "(0" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5268 | 9 Using "{" in a comment: (Helmut Stiegler) |
| 5269 | if (a) |
| 5270 | { |
| 5271 | if (b) |
| 5272 | { |
| 5273 | // { |
| 5274 | } |
| 5275 | } <-- this is indented incorrect |
Bram Moolenaar | 9e54a0e | 2006-04-14 20:42:25 +0000 | [diff] [blame] | 5276 | Problem is that find_start_brace() checks for the matching brace to be in |
| 5277 | a comment, but not braces in between. Requires adding a comment check to |
| 5278 | findmatchlimit(). |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5279 | - Make smartindenting configurable. Add 'sioptions', e.g. '#' setting the |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5280 | indent to 0 should be switched on/off. |
| 5281 | 7 Support ANSI style function header, with each argument on its own line. |
| 5282 | - "[p" and "]p" should use 'cindent' code if it's on (only for the first |
| 5283 | line). |
| 5284 | - Add option to 'cindent' to set indent for comments outside of {}? |
| 5285 | - Make a command to line up a comment after a code line with a previous |
| 5286 | comment after a code line. Can 'cindent' do this automatically? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5287 | - When 'cindent'ing a '}', showmatch is done before fixing the indent. It |
| 5288 | looks better when the indent is fixed before the showmatch. (Webb) |
| 5289 | - Add option to make indenting work in comments too (for commented-out |
| 5290 | code), unless the line starts with "*". |
| 5291 | - Don't use 'cindent' when doing formatting with "gq"? |
| 5292 | - When formatting a comment after some text, insert the '*' for the new line |
| 5293 | (indent is correct if 'cindent' is set, but '*' doesn't get inserted). |
| 5294 | 8 When 'comments' has both "s1:/*,mb:*,ex:*/" and "s1:(*,mb:*,ex:*)", the |
| 5295 | 'x' flag always uses the first match. Need to continue looking for more |
| 5296 | matches of "*" and remember all characters that could end the comment. |
| 5297 | - For smartindent: When typing 'else' line it up with matching 'if'. |
| 5298 | - 'smartindent': allow patterns in 'cinwords', for e.g. TeX files, where |
| 5299 | lines start with "\item". |
| 5300 | - Support this style of comments (with an option): (Brown) |
| 5301 | /* here is a comment that |
| 5302 | is just autoindented, and |
| 5303 | nothing else */ |
| 5304 | - Add words to 'cinwords' to reduce the indent, e.g., "end" or "fi". |
| 5305 | 7 Use Tabs for the indent of starting lines, pad with spaces for |
| 5306 | continuation lines. Allows changing 'tabstop' without messing up the |
| 5307 | indents. |
Bram Moolenaar | a687837 | 2014-03-22 21:02:50 +0100 | [diff] [blame] | 5308 | Patch by Lech Lorens, 2010 Mar. Update by James McCoy, 2014 Mar 15. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5309 | |
| 5310 | |
| 5311 | Java: |
| 5312 | 8 Can have {} constructs inside parens. Include changes from Steve |
| 5313 | Odendahl? |
| 5314 | 8 Recognize "import java.util.Vector" and use $CLASSPATH to find files for |
| 5315 | "[i" commands and friends. |
| 5316 | - For files found with 'include': handle "*" in included name, for Java. |
| 5317 | (Jason) |
| 5318 | - How to make a "package java.util" cause all classes in the package to be |
| 5319 | searched? Also for "import java.util.*". (Mark Brophy) |
| 5320 | |
| 5321 | |
| 5322 | 'comments': |
| 5323 | 8 When formatting C comments that are after code, the "*" isn't repeated |
| 5324 | like it's done when there is no code. And there is no automatic wrapping. |
| 5325 | Recognize comments that come after code. Should insert the comment leader |
| 5326 | when it's "#" or "//". |
Bram Moolenaar | ce5e58e | 2005-01-19 22:24:34 +0000 | [diff] [blame] | 5327 | Other way around: when a C command starts with "* 4" the "*" is repeated |
| 5328 | while it should not. Use syntax HL comment recognition? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5329 | 7 When using "comments=fg:--", Vim inserts three spaces for a new line. |
| 5330 | When hitting a TAB, these spaces could be removed. |
| 5331 | 7 The 'n'esting flag doesn't do the indenting of the last (rightmost) item. |
| 5332 | 6 Make strings in 'comments' option a RE, to be able to match more |
| 5333 | complicated things. (Phillipps) Use a special flag to indicate that a |
| 5334 | regexp is used. |
| 5335 | 8 Make the 'comments' option with "/* * */" lines only repeat the "*" line |
| 5336 | when there is a "/*" before it? Or include this in 'cindent'? |
| 5337 | |
| 5338 | |
| 5339 | Virtual edit: |
| 5340 | 8 Make the horizontal scrollbar work to move the text further left. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5341 | 7 Allow specifying it separately for Tabs and beyond end-of-line? |
| 5342 | |
| 5343 | |
| 5344 | Text objects: |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5345 | 8 Add text object for fold, so that it can be yanked when it's open. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5346 | 8 Add test script for text object commands "aw", "iW", etc. |
Bram Moolenaar | 994cd12 | 2007-05-12 15:19:41 +0000 | [diff] [blame] | 5347 | 8 Add text object for part of a CamelHumpedWord and under_scored_word. |
Bram Moolenaar | 4399ef4 | 2005-02-12 14:29:27 +0000 | [diff] [blame] | 5348 | (Scott Graham) "ac" and "au"? |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 5349 | 8 Add a text object for any kind of quoting, also with multibyte |
Bram Moolenaar | 5313dcb | 2005-02-22 08:56:13 +0000 | [diff] [blame] | 5350 | characters. Option to specify what quotes are recognized (default: all) |
Bram Moolenaar | 05159a0 | 2005-02-26 23:04:13 +0000 | [diff] [blame] | 5351 | use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like |
| 5352 | 'matchpairs'? |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 5353 | 8 Add text object for any kind of parens, also multibyte ones. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5354 | 8 Add a way to make an ":omap" for a user-defined text object. Requires |
| 5355 | changing the starting position in oap->start. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5356 | 8 Add "gp" and "gP" commands: insert text and make sure there is a single |
| 5357 | space before it, unless at the start of the line, and after it, unless at |
| 5358 | the end of the line or before a ".". |
| 5359 | 7 Add objects with backwards extension? Use "I" and "A". Thus "2dAs" |
| 5360 | deletes the current and previous sentence. (Jens Paulus) |
| 5361 | 7 Add "g{" and "g}" to move to the first/last character of a paragraph |
| 5362 | (instead of the line just before/after a paragraph as with "{" and "}"). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5363 | 6 Ignore comment leaders for objects. Make "das" work in reply-email. |
| 5364 | 5 Make it possible to use syntax group matches as a text object. For |
| 5365 | example, define a "ccItem" group, then do "da<ccItem>" to delete one. |
| 5366 | Or, maybe just define "dai", delete-an-item, to delete the syntax item the |
| 5367 | cursor is on. |
| 5368 | |
| 5369 | |
| 5370 | Select mode: |
| 5371 | 8 In blockwise mode, typed characters are inserted in front of the block, |
| 5372 | backspace deletes a column before the block. (Steve Hall) |
| 5373 | 7 Alt-leftmouse starts block mode selection in MS Word. |
Bram Moolenaar | 531da59 | 2013-05-06 05:58:55 +0200 | [diff] [blame] | 5374 | See http://vim.wikia.com/wiki/Use_Alt-Mouse_to_select_blockwise. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5375 | 7 Add Cmdline-select mode. Like Select mode, but used on the command line. |
| 5376 | - Change gui_send_mouse_event() to pass on mouse events when 'mouse' |
| 5377 | contains 'C' or 'A'. |
| 5378 | - Catch mouse events in ex_getln.c. Also shift-cursor, etc., like in |
| 5379 | normal_cmd(). |
| 5380 | - remember start and end of selection in cmdline_info. |
| 5381 | - Typing text replaces the selection. |
| 5382 | |
| 5383 | |
| 5384 | Visual mode: |
Bram Moolenaar | 3b1db36 | 2013-08-10 15:00:24 +0200 | [diff] [blame] | 5385 | 8 Support using "." in Visual mode. Use the operator applied to the Visual |
| 5386 | selection, if possible. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5387 | - When dragging the Visual selection with the mouse and 'scrolloff' is zero, |
| 5388 | behave like 'scrolloff' is one, so that the text scrolls when the pointer |
| 5389 | is in the top line. |
Bram Moolenaar | 768b8c4 | 2006-03-04 21:58:33 +0000 | [diff] [blame] | 5390 | - Displaying size of Visual area: use 24-33 column display. |
| 5391 | When selecting multiple lines, up to about a screenful, also count the |
| 5392 | characters. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5393 | 8 When using "I" or "A" in Visual block mode, short lines do not get the new |
Bram Moolenaar | cc016f5 | 2005-12-10 20:23:46 +0000 | [diff] [blame] | 5394 | text. Make it possible to add the text to short lines too, with padding |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5395 | where needed. |
| 5396 | 7 With a Visual block selected, "2x" deletes a block of double the width, |
| 5397 | "3y" yanks a block of triple width, etc. |
| 5398 | 7 When selecting linewise, using "itext" should insert "text" at the start |
| 5399 | of each selected line. |
| 5400 | 8 What is "R" supposed to do in Visual mode? |
| 5401 | 8 Make Visual mode local to the buffer. Allow changing to another buffer. |
| 5402 | When starting a new Visual selection, remove the Visual selection in any |
| 5403 | other buffer. (Ron Aaron) |
| 5404 | 8 Support dragging the Visual area to drop it somewhere else. (Ron Aaron, |
| 5405 | Ben Godfrey) |
| 5406 | 7 Support dragging the Visual area to drop it in another program, and |
| 5407 | receive dropped text from another program. (Ben Godfrey) |
| 5408 | 7 With blockwise Visual mode and "c", "C", "I", "A", etc., allow the use of |
| 5409 | a <CR>. The entered lines are repeated over the Visual area. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5410 | 7 Filtering a block should only apply to the block, not to the whole lines. |
Bram Moolenaar | ed20346 | 2004-06-16 11:19:22 +0000 | [diff] [blame] | 5411 | When the number of lines is increased, add lines. When decreased, pad with |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5412 | spaces or delete? Use ":`<,`>" on the command line. |
| 5413 | 8 After filtering the Visual area, make "gv" select the filtered text? |
| 5414 | Currently "gv" only selects a single line, not useful. |
| 5415 | 7 Don't move the cursor when scrolling? Needed when the selection should |
| 5416 | stay the same. Scroll to the cursor at any movement command. With an |
| 5417 | option! |
| 5418 | 7 In Visual block mode, need to be able to define a corner on a position |
| 5419 | that doesn't have text? Also: when using the mouse, be able to select |
| 5420 | part of a TAB. Even more: Add a mode where the cursor can be on a screen |
| 5421 | position where there is no text. When typing, add spaces to fill the gap. |
| 5422 | Other solution: Always use curswant, so that you can move the cursor to |
| 5423 | the right column, and then use up/down movements to select the line, |
| 5424 | without changing the column. |
| 5425 | 6 ":left" and ":right" should work in Visual block mode. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5426 | 7 CTRL-I and CTRL-O should work in Visual mode, but only jump to marks in the |
| 5427 | current buffer. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5428 | 6 In non-Block mode, "I" should insert the same text in front of each line, |
| 5429 | before the first non-blank, "gI" in column 1. |
| 5430 | 6 In non-Block mode, "A" should append the same text after each line. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5431 | 6 When in blockwise visual selection (CTRL-V), allow cursor to be placed |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5432 | right of the line. Could also allow cursor to be placed anywhere on a TAB |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5433 | or other special character. |
| 5434 | 6 Add commands to move selected text, without deselecting. |
| 5435 | |
| 5436 | |
| 5437 | More advanced repeating commands: |
| 5438 | - Add "." command for visual mode: redo last visual command (e.g. ":fmt"). |
Bram Moolenaar | 203d04d | 2013-06-06 21:36:40 +0200 | [diff] [blame] | 5439 | - Add command to repeat last movement. Including count. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5440 | - Add "." command after operator: repeat last command of same operator. E.g. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5441 | "c." will repeat last change, also when "x" used since then (Webb). |
| 5442 | "y." will repeat last yank. |
| 5443 | "c2." will repeat the last but one change? |
| 5444 | Also: keep history of Normal mode commands, add command to list the history |
| 5445 | and/or pick an older command. |
| 5446 | - History stack for . command? Use "g." command. |
| 5447 | |
| 5448 | |
| 5449 | Mappings and Abbreviations: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5450 | 8 When "0" is mapped (it is a movement command) this mapping should not be |
| 5451 | used after typing another number, e.g. "20l". (Charles Campbell) |
| 5452 | Is this possible without disabling the mapping of the following command? |
| 5453 | 8 Should mapping <C-A> and <C-S-A> both work? |
| 5454 | 7 ":abbr b byte", append "b " to an existing word still expands to "byte". |
| 5455 | This is Vi compatible, but can we avoid it anyway? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5456 | 8 To make a mapping work with a prepended "x to select a register, store the |
| 5457 | last _typed_ register name and access it with "&. |
| 5458 | 8 Add ":amap", like ":amenu". |
Bram Moolenaar | ade0083 | 2006-03-10 21:46:58 +0000 | [diff] [blame] | 5459 | 7 Add a mapping that works always, for remapping the keyboard. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5460 | 8 Add ":cab!", abbreviations that only apply to Command-line mode and not to |
| 5461 | entering search strings. |
| 5462 | 8 Add a flag to ":abbrev" to eat the character that triggers the |
| 5463 | abbreviation. Thus "abb ab xxx" and typing "ab<Space>" inserts "xxx" and |
| 5464 | not the <Space>. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5465 | 8 Give a warning when using CTRL-C in the lhs of a mapping. It will never |
| 5466 | (?) work. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5467 | 7 Add <0x8f> (hex), <033> (octal) and <123> (decimal) to <> notation? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5468 | 7 When someone tries to unmap with a trailing space, and it fails, try |
| 5469 | unmapping without the trailing space. Helps for ":unmap xx | unmap yy". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5470 | 6 Context-sensitive abbreviations: Specify syntax group(s) in which the |
| 5471 | abbreviations are to be used. |
| 5472 | - Add mappings that take arguments. Could work like the ":s" command. For |
| 5473 | example, for a mouse escape sequence: |
| 5474 | :mapexp <Esc>{\([0-9]*\),\([0-9]*\); H\1j\2l |
Bram Moolenaar | ade0083 | 2006-03-10 21:46:58 +0000 | [diff] [blame] | 5475 | - Add optional <Number> argument for mappings: |
| 5476 | :map <Number>q ^W^W<Number>G |
| 5477 | :map <Number>q<Number>t ^W^W<Number1-1>G<Number2>l |
| 5478 | :map q<Char> :s/<Char>/\u\0/g |
| 5479 | Or implicit: |
| 5480 | :map q <Register>d<Number>$ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5481 | - Add command to repeat a whole mapping ("." only repeats the last change in |
| 5482 | a mapping). Also: Repeat a whole insert command, including any mappings |
| 5483 | that it included. Sort-of automatic recording? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5484 | - Include an option (or flag to 'cpoptions') that makes errors in mappings |
| 5485 | not flush the rest of the mapping (like nvi does). |
| 5486 | - Use context sensitiveness of completion to switch abbreviations and |
| 5487 | mappings off for :unab and :unmap. |
| 5488 | 6 When using mappings in Insert mode, insert characters for incomplete |
| 5489 | mappings first, then remove them again when a mapping matches. Avoids |
| 5490 | that characters that are the start of some mapping are not shown until you |
| 5491 | hit another character. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5492 | - Add mappings for replace mode: ":rmap". How do we then enter mappings for |
| 5493 | non-replace Insert mode? |
| 5494 | - Add separate mappings for Visual-character/block/line mode? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5495 | - Add 'mapstop' command, to stop recursive mappings. |
| 5496 | - List mappings that have a raw escape sequence both with the name of the key |
| 5497 | for that escape sequence (if there is one) and the sequence itself. |
| 5498 | - List mappings: Once with special keys listed as <>, once with meta chars as |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5499 | <M-a>, once with the byte values (octal?). Sort of "spell mapping" command? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5500 | - When entering mappings: Add the possibility to enter meta keys like they |
| 5501 | are displayed, within <>: <M-a>, <~@> or <|a>. |
| 5502 | - Allow multiple arguments to :unmap. |
| 5503 | - Command to show keys that are not used and available for mapping |
| 5504 | ":freekeys". |
| 5505 | - Allow any character except white space in abbreviations lhs (Riehm). |
| 5506 | |
| 5507 | |
| 5508 | Incsearch: |
Bram Moolenaar | d473c8c | 2018-08-11 18:00:22 +0200 | [diff] [blame] | 5509 | - Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 |
| 5510 | Dec 4. Is this a good solution? |
| 5511 | - Temporarily open folds to show where the search ends up. Restore the |
| 5512 | folds when going to another line. |
| 5513 | Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6) |
| 5514 | - Bug with 'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17) |
| 5515 | Only with "vim -u NONE". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5516 | - When no match is found and the user types more, the screen is redrawn |
| 5517 | anyway. Could skip that. Esp. if the line wraps and the text is scrolled |
| 5518 | up every time. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5519 | - When incsearch used and hitting return, no need to search again in many |
| 5520 | cases, saves a lot of time in big files. (Slootman wants to work on this?) |
| 5521 | When not using special characters, can continue search from the last match |
| 5522 | (or not at all, when there was no match). See oldmail/webb/in.872. |
Bram Moolenaar | d473c8c | 2018-08-11 18:00:22 +0200 | [diff] [blame] | 5523 | 9 incsearch is incorrect for "/that/<Return>/this/;//" (last search pattern |
| 5524 | isn't updated). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5525 | |
| 5526 | |
| 5527 | Searching: |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 5528 | 9 Should have an option for :vimgrep to find lines without a match. |
Bram Moolenaar | 4770d09 | 2006-01-12 23:22:24 +0000 | [diff] [blame] | 5529 | 8 Add "g/" and "gb" to search for a pattern in the Visually selected text? |
Bram Moolenaar | b5bf5b8 | 2004-12-24 14:35:23 +0000 | [diff] [blame] | 5530 | "g?" is already used for rot13. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5531 | The vis.vim script has a ":S" command that does something like this. |
Bram Moolenaar | 4770d09 | 2006-01-12 23:22:24 +0000 | [diff] [blame] | 5532 | Can use "g/" in Normal mode, uses the '< to '> area. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5533 | Use "&/" for searching the text in the Visual area? |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 5534 | 9 Add "v" offset: "/pat/v": search for pattern and start Visual mode on the |
| 5535 | matching text. |
Bram Moolenaar | 662db67 | 2011-03-22 14:05:35 +0100 | [diff] [blame] | 5536 | 8 Add a modifier to interpret a space like "\_s\+" to make it much easier to |
| 5537 | search for a phrase. |
Bram Moolenaar | 2641f77 | 2005-03-25 21:58:17 +0000 | [diff] [blame] | 5538 | 8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands |
| 5539 | for "go recursive here" and \@( \) marks the recursive part. |
| 5540 | Perl does it this way: |
| 5541 | $paren = qr/ \(( [^()] | (??{ $paren }) )* \) /x; |
| 5542 | Here $paren is evaluated when it's encountered. This is like a regexp |
| 5543 | inside a regexp. In the above terms it would be: |
| 5544 | \@((\([^()]\|\@g\)*)\) |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5545 | 8 Show the progress every second. Could use the code that checks for CTRL-C |
| 5546 | to find out how much time has passed. Or use SIGALRM. Where to show the |
| 5547 | number? |
Bram Moolenaar | c998e3c | 2005-06-14 22:13:23 +0000 | [diff] [blame] | 5548 | 7 Support for approximate-regexps to find similar words (agrep |
| 5549 | http://www.tgries.de/agrep/ tre: http://laurikari.net/tre/index.html). |
Bram Moolenaar | c076113 | 2005-03-18 20:30:32 +0000 | [diff] [blame] | 5550 | 8 Add an item for a big character range, so that one can search for a |
| 5551 | chinese character: \z[234-1234] or \z[XX-YY] or \z[0x23-0x234]. |
Bram Moolenaar | 1cd871b | 2004-12-19 22:46:22 +0000 | [diff] [blame] | 5552 | 7 Add an item stack to allow matching (). One side is "push X on |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5553 | the stack if previous atom matched". Other side is "match with top of |
| 5554 | stack, pop it when it matches". Use "\@pX" and "\@m"? |
| 5555 | Example: \((\@p).\{-}\@m\)* |
Bram Moolenaar | 1cd871b | 2004-12-19 22:46:22 +0000 | [diff] [blame] | 5556 | 7 Add a flag to "/pat/" to discard an error. Useful to continue a mapping |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 5557 | when a search fails. Could be "/pat/E" (e is already used for end offset). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5558 | 7 Add pattern item to use properties of Unicode characters. In Perl it's |
| 5559 | "\p{L}" for a letter. See Regular Expression Pocket Reference. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5560 | 8 Would it be possible to allow ":23,45/pat/flags" to search for "pat" in |
| 5561 | lines 23 to 45? Or does this conflict with Ex range syntax? |
| 5562 | 8 Allow identical pairs in 'matchpairs'. Restrict the search to the current |
| 5563 | line. |
Bram Moolenaar | 7db8f6f | 2016-03-29 23:12:46 +0200 | [diff] [blame] | 5564 | 7 Allow longer pairs in 'matchpairs'. Use matchit.vim as an |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5565 | example. |
| 5566 | 8 Make it possible to define the character that "%" checks for in |
| 5567 | #if/#endif. For nmake it's !if/!endif. |
| 5568 | - For "%" command: set hierarchy for which things include other things that |
| 5569 | should be ignored (like "*/" or "#endif" inside /* */). |
| 5570 | Also: use "%" to jump from start to end of syntax region and back. |
| 5571 | Alternative: use matchit.vim |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5572 | 8 A pattern like "\([^a]\+\)\+" takes an awful long time. Recognize that |
| 5573 | the recursive "\+" is meaningless and optimize for it. |
| 5574 | This one is also very slow on "/* some comment */": "^\/\*\(.*[^/]\)*$". |
| 5575 | 7 Recognize "[a-z]", "[0-9]", etc. and replace them with the faster "\l" and |
| 5576 | "\d". |
Bram Moolenaar | c0197e2 | 2004-09-13 20:26:32 +0000 | [diff] [blame] | 5577 | 7 Add a way to specify characters in <C-M> or <Key> form. Could be |
| 5578 | \%<C-M>. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5579 | 8 Add an argument after ":s/pat/str/" for a range of matches. For example, |
| 5580 | ":s/pat/str/#3-4" to replace only the third and fourth "pat" in a line. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5581 | 8 When 'iskeyword' is changed the matches from 'hlsearch' may change. (Benji |
| 5582 | Fisher) redraw if some options are set while 'hlsearch' is set? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5583 | 8 Add an option not to use 'hlsearch' highlighting for ":s" and ":g" |
| 5584 | commands. (Kahn) It would work like ":noh" is used after that command. |
| 5585 | Also: An extra flag to do this once, and a flag to keep the existing |
| 5586 | search pattern. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5587 | - Make 'hlsearch' a local/global option, so that it can be disabled in some |
| 5588 | of the windows. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5589 | - Add \%h{group-name}; to search for a specific highlight group. |
| 5590 | Add \%s{syntax-group}; to search for a specific syntax group. |
| 5591 | - Support Perl regexp. Use PCRE (Perl Compatible RE) package. (Shade) |
| 5592 | Or translate the pattern to a Vim one. |
| 5593 | Don't switch on with an option for typed commands/mappings/functions, it's |
| 5594 | too confusing. Use "\@@" in the pattern, to avoid incompatibilities. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5595 | 8 Add a way to access the last substitute text, what is used for ":s//~/". |
| 5596 | Can't use the ~ register, it's already used for drag & drop. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5597 | - Remember flags for backreferenced items, so that "*" can be used after it. |
| 5598 | Check with "\(\S\)\1\{3}". (Hemmerling) |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5599 | 8 Flags that apply to the whole pattern. |
| 5600 | This works for all places where a regexp is used. |
| 5601 | Add "\q" to not store this pattern as the last search pattern? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5602 | - Add flags to search command (also for ":s"?): |
| 5603 | i ignore case |
| 5604 | I use case |
| 5605 | p use Perl regexp syntax (or POSIX?) |
| 5606 | v use Vi regexp syntax |
| 5607 | f forget pattern, don't keep it for "n" command |
| 5608 | F remember pattern, keep it for "n" command |
| 5609 | Perl uses these too: |
| 5610 | e evaluate the right side as an expression (Perl only) |
| 5611 | m multiple line expression (we don't need it) |
| 5612 | o compile only once (Perl only) |
| 5613 | s single line expression (we don't need it) |
| 5614 | x extended regexp (we don't need it) |
| 5615 | When used after ":g" command, backslash needed to avoid confusion with the |
| 5616 | following command. |
| 5617 | Add 'searchflags' for default flags (replaces 'gdefault'). |
| 5618 | - Add command to display the last used substitute pattern and last used |
| 5619 | pattern. (Margo) Maybe make it accessible through a register (like "/ |
| 5620 | for search string)? |
| 5621 | 7 Use T-search algorithm, to speed up searching for strings without special |
| 5622 | characters. See C't article, August 1997. |
| 5623 | - Add 'fuzzycase' option, so that case doesn't matter, and '-' and '_' are |
| 5624 | equivalent (for Unix filenames). |
| 5625 | - Add 'v' flag to search command: enter Visual mode, with the matching text |
| 5626 | as Visual area. (variation on idea from Bertin) |
| 5627 | - Searching: "/this//that/" should find "that" after "this". |
| 5628 | - Add global search commands: Instead of wrapping at the end of the buffer, |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5629 | they continue in another buffer. Use flag after search pattern: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5630 | a for the next file in the argument list |
| 5631 | f for file in the buffer list |
| 5632 | w for file edited in a window. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5633 | e.g. "/pat/f". Then "n" and "N" work through files too. "f" flag also for |
| 5634 | ":s/pat/foo/f"??? Then when 'autowrite' and 'hidden' are both not set, ask |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5635 | before saving files: "Save modified buffer "/path/file"? (Yes/Hide/No |
| 5636 | Save-all/hide-All/Quit) ". |
| 5637 | - ":s/pat/foo/3": find 3rd match of "pat", like sed. (Thomas Koehler) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5638 | 7 When searching with 'n' give message when getting back where the search |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5639 | first started. Remember start of search in '/ mark. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5640 | 7 Add option that scrolls screen to put cursor in middle of screen after |
| 5641 | search always/when off-screen/never. And after a ":tag" command. Maybe |
| 5642 | specify how many lines below the screen causes a redraw with the cursor in |
| 5643 | the middle (default would be half a screen, zero means always). |
| 5644 | 6 Support multiple search buffers, so macros can be made without side |
| 5645 | effects. |
| 5646 | 7 From xvim: Allow a newline in search patterns (also for :s, can delete |
| 5647 | newline). Add BOW, EOW, NEWL, NLORANY, NLBUTANY, magic 'n' and 'r', etc. |
| 5648 | [not in xvim:] Add option to switch on matches crossing ONE line boundary. |
Bram Moolenaar | 34cdc3e | 2005-05-18 22:24:46 +0000 | [diff] [blame] | 5649 | 7 Add ":iselect", a combination of ":ilist" and ":tselect". (Aaron) (Zellner) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5650 | Also ":dselect". |
| 5651 | |
| 5652 | |
| 5653 | Undo: |
Bram Moolenaar | a3e6bc9 | 2013-01-30 14:18:00 +0100 | [diff] [blame] | 5654 | 9 ":gundo" command: global undo. Undoes changes spread over multiple files |
| 5655 | in the order they were made. Also ":gredo". Both with a count. Useful |
| 5656 | when tests fail after making changes and you forgot in which files. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5657 | 9 After undo/redo, in the message show whether the buffer is modified or |
| 5658 | not. |
Bram Moolenaar | d43848c | 2010-07-14 14:28:26 +0200 | [diff] [blame] | 5659 | 8 Search for pattern in undo tree, showing when it happened and the text |
| 5660 | state, so that you can jump to it. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 5661 | 8 Undo tree: visually show the tree somehow (Damian Conway) |
| 5662 | Show only the leaves, indicating how many changed from the branch and the |
| 5663 | timestamp? |
| 5664 | Put branch with most recent change on the left, older changes get more |
| 5665 | indent? |
Bram Moolenaar | 3fdfa4a | 2004-10-07 21:02:47 +0000 | [diff] [blame] | 5666 | - Make it possible to undo all the commands from a mapping, including a |
| 5667 | trailing unfinished command, e.g. for ":map K iX^[r". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5668 | - When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not |
| 5669 | possible, even when typing <Esc> immediately. (Grahn) Also for "i", "a", |
| 5670 | etc. Postpone saving for undo until something is really inserted? |
| 5671 | 8 When Inserting a lot of text, it can only be undone as a whole. Make undo |
| 5672 | sync points at every line or word. Could recognize the start of a new |
| 5673 | word (white space and then non-white space) and backspacing. |
| 5674 | Can already use CTRL-G u, but that requires remapping a lot of things. |
| 5675 | 8 Make undo more memory-efficient: Compare text before and after change, |
| 5676 | only remember the lines that really changed. |
| 5677 | 7 Add undo for a range of lines. Can change these back to a previous |
| 5678 | version without changing the rest of the file. Stop doing this when a |
| 5679 | change includes only some of these lines and changes the line count. Need |
| 5680 | to store these undo actions as a separate change that can be undone. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5681 | - For u_save() include the column number. This can be used to set '[ and ']. |
| 5682 | And in the future the undo can be made more efficient (Webb). |
| 5683 | - In out-of-memory situations: Free allocated space in undo, and reduce the |
| 5684 | number of undo levels (with confirmation). |
| 5685 | - Instead of [+], give the number of changes since the last write: [+123]. |
| 5686 | When undoing to before the last write, change this to a negative number: |
| 5687 | [-99]. |
| 5688 | - With undo with simple line delete/insert: optimize screen updating. |
| 5689 | - When executing macro's: Save each line for undo only once. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5690 | - When doing a global substitute, causing almost all lines to be changed, |
| 5691 | undo info becomes very big. Put undo info in swap file?? |
| 5692 | |
| 5693 | |
| 5694 | Buffer list: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5695 | 7 Command to execute a command in another buffer: ":inbuf {bufname} {cmd}". |
| 5696 | Also for other windows: ":inwin {winnr} {cmd}". How to make sure that |
| 5697 | this works properly for all commands, and still be able to return to the |
| 5698 | current buffer/window? E.g.: ":inbuf xxx only". |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 5699 | 8 Add File.{recent-files} menu entries: Recently edited files. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5700 | Ron Aaron has a plugin for this: mru.vim. |
| 5701 | 8 Unix: Check all uses of fnamecmp() and fnamencmp() if they should check |
| 5702 | inode too. |
| 5703 | 7 Add another number for a buffer, which is visible for the user. When |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5704 | creating a new buffer, use the lowest number not in use (or the highest |
| 5705 | number in use plus one?). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5706 | 7 Offer some buffer selection from the command line? Like using ":ls" and |
| 5707 | asking for a buffer number. (Zachmann) |
| 5708 | - When starting to edit a file that is already in the buffer list, use the |
| 5709 | file name argument for the new short file name. (Webb) |
| 5710 | - Add an option to make ":bnext" and ":bprev" wrap around the end of the |
| 5711 | buffer list. Also for ":next" and ":prev"? |
| 5712 | 7 Add argument to ":ls" which is a pattern for buffers to list. |
| 5713 | E.g. ":ls *.c". (Thompson) |
| 5714 | 7 Add expansion of buffer names, so that "*.c" is expanded to all buffer |
| 5715 | names. Needed for ":bdel *.c", ":bunload *.c", etc. |
| 5716 | 8 Support for <afile> where a buffer name is expected. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5717 | 7 Add an option to mostly use slashes in file names. Separately for |
| 5718 | internal use and for when executing an external program? |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 5719 | 8 Some file systems are case-sensitive, some are not. Besides |
| 5720 | 'wildignorecase' there might be more parts inside |
| 5721 | CASE_INSENSITIVE_FILENAME that are useful on Unix. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5722 | |
| 5723 | |
| 5724 | Swap (.swp) files: |
| 5725 | 8 If writing to the swap file fails, should try to open one in another |
| 5726 | directory from 'dir'. Useful in case the file system is full and when |
| 5727 | there are short file name problems. |
| 5728 | 8 Also use the code to try using a short file name for the backup and swap |
| 5729 | file for the Win32 and Dos 32 bit versions. |
| 5730 | 8 When a file is edited by root, add $LOGNAME to know who did su. |
| 5731 | 8 When the edited file is a symlink, try to put the swap file in the same |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5732 | dir as the actual file. Adjust FullName(). Avoids editing the same file |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5733 | twice (e.g. when using quickfix). Also try to make the name of the backup |
| 5734 | file the same as the actual file? |
| 5735 | Use the code for resolve()? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5736 | 7 When using 64 bit inode numbers, also store the top 32 bits. Add another |
| 5737 | field for this, using part of bo_fname[], to keep it compatible. |
| 5738 | 7 When editing a file on removable media, should put swap file somewhere |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5739 | else. Use something like 'r' flag in 'viminfo'. 'diravoid'? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5740 | Also: Be able to specify minimum disk space, skip directory when not |
| 5741 | enough room. |
| 5742 | 7 Add a configure check for which directory should be used: /tmp, /var/tmp |
| 5743 | or /var/preserve. |
| 5744 | - Add an option to create a swap file only when making the first change to |
| 5745 | the buffer. (Liang) Or only when the buffer is not read-only. |
| 5746 | - Add option to set "umask" for backup files and swap files (Antwerpen). |
Bram Moolenaar | 7f2e9d7 | 2017-11-11 20:58:53 +0100 | [diff] [blame] | 5747 | 'backupumask' and 'swapumask'? Or 'umaskbackup' and 'umaskswap'? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5748 | - When editing a readonly file, don't use a swap file but read parts from the |
| 5749 | original file. Also do this when the file is huge (>'maxmem'). We do |
| 5750 | need to load the file once to count the number of lines? Perhaps keep a |
| 5751 | cached list of which line is where. |
| 5752 | |
| 5753 | |
| 5754 | Viminfo: |
| 5755 | 7 Can probably remove the code that checks for a writable viminfo file, |
| 5756 | because we now do the chown() for root, and others can't overwrite someone |
| 5757 | else's viminfo file. |
Bram Moolenaar | 994cd12 | 2007-05-12 15:19:41 +0000 | [diff] [blame] | 5758 | 8 When there is no .viminfo file and someone does "su", runs Vim, a |
| 5759 | root-owned .viminfo file is created. Is there a good way to avoid this? |
| 5760 | Perhaps check the owner of the directory. Only when root? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5761 | 8 Add argument to keep the list of buffers when Vim is started with a file |
| 5762 | name. (Schild) |
| 5763 | 8 Keep the last used directory of the file browser (File/Open menu). |
| 5764 | 8 Remember the last used register for "@@". |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5765 | 8 Remember the redo buffer, so that "." works after restarting. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5766 | 8 Remember a list of last accessed files. To be used in the |
| 5767 | "File.Open Recent" menu. Default is to remember 10 files or so. |
| 5768 | Also remember which files have been read and written. How to display |
| 5769 | this? |
| 5770 | 7 Also store the ". register (last inserted text). |
| 5771 | 7 Make it possible to store buffer names in viminfo file relative to some |
| 5772 | directory, to make them portable over a network. (Aaron) |
| 5773 | 6 Store a snapshot of the currently opened windows. So that when quitting |
| 5774 | Vim, and then starting again (without a file name argument), you see the |
| 5775 | same files in the windows. Use ":mksession" code? |
| 5776 | - Make marks present in .viminfo usable as file marks: Display a list of |
| 5777 | "last visited files" and select one to jump to. |
| 5778 | |
| 5779 | |
| 5780 | Modelines: |
| 5781 | 8 Before trying to execute a modeline, check that it looks like one (valid |
| 5782 | option names). If it's very wrong, silently ignore it. |
| 5783 | Ignore a line that starts with "Subject: ". |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5784 | - Add an option to whitelist options that are allowed in a modeline. This |
| 5785 | would allow careful users to use modelines, e.g., only allowing |
| 5786 | 'shiftwidth'. |
| 5787 | - Add an option to let modelines only set local options, not global ones |
| 5788 | such as 'encoding'. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5789 | - When an option value is coming from a modeline, do not carry it over to |
| 5790 | another edited file? Would need to remember the value from before the |
| 5791 | modeline setting. |
| 5792 | - Allow setting a variable from a modeline? Only allow using fixed strings, |
| 5793 | no function calls, to avoid a security problem. |
| 5794 | - Allow ":doauto BufRead x.cpp" in modelines, to execute autocommands for |
| 5795 | .cpp files. |
| 5796 | - Support the "abbreviate" command in modelines (Kearns). Careful for |
| 5797 | characters after <Esc>, that is a security leak. |
Bram Moolenaar | 3d1cde8 | 2020-08-15 18:55:18 +0200 | [diff] [blame] | 5798 | - Add an option setting to ask the user if the modelines are to be executed |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5799 | or not. Same for .exrc in local dir. |
| 5800 | |
| 5801 | |
Bram Moolenaar | d5bc83f | 2005-12-07 21:07:59 +0000 | [diff] [blame] | 5802 | Sessions: |
| 5803 | 8 DOS/Windows: ":mksession" generates a "cd" command where "aa\#bb" means |
| 5804 | directory "#bb" in "aa", but it's used as "aa#bb". (Ronald Hoellwarth) |
| 5805 | 7 When there is a "help.txt" window in a session file, restoring that |
| 5806 | session will not get the "LOCAL ADDITIONS" back. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5807 | 8 With ":mksession" always store the 'sessionoptions' option, even when |
| 5808 | "options" isn't in it. (St-Amant) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5809 | 8 When using ":mksession", also store a command to reset all options to |
| 5810 | their default value, before setting the options that are not at their |
| 5811 | default value. |
Bram Moolenaar | 9ba0eb8 | 2005-06-13 22:28:56 +0000 | [diff] [blame] | 5812 | 7 With ":mksession" also store the tag stack and jump history. (Michal |
| 5813 | Malecki) |
Bram Moolenaar | d5bc83f | 2005-12-07 21:07:59 +0000 | [diff] [blame] | 5814 | 7 Persistent variables: "p:var"; stored in viminfo file and sessions files. |
Bram Moolenaar | c9b4b05 | 2006-04-30 18:54:39 +0000 | [diff] [blame] | 5815 | |
Bram Moolenaar | d5bc83f | 2005-12-07 21:07:59 +0000 | [diff] [blame] | 5816 | |
| 5817 | Options: |
| 5818 | 7 ":with option=value | command": temporarily set an option value and |
| 5819 | restore it after the command has executed. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5820 | 8 Make "old" number options that really give a number of effects into string |
| 5821 | options that are a comma separated list. The old number values should |
| 5822 | also be supported. |
| 5823 | 8 Add commands to save and restore an option, which also preserves the flag |
| 5824 | that marks if the option was set. Useful to keep the effect of setting |
| 5825 | 'compatible' after ":syntax on" has been used. |
| 5826 | 7 There is 'titleold', why is there no 'iconold'? (Chazelas) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5827 | |
| 5828 | |
| 5829 | External commands: |
| 5830 | 8 When filtering text, redirect stderr so that it can't mess up the screen |
| 5831 | and Vim doesn't need to redraw it. Also for ":r !cmd". |
| 5832 | 4 Set separate shell for ":sh", piping "range!filter", reading text "r !ls" |
| 5833 | and writing text "w !wc". (Deutsche) Allow arguments for fast start (e.g. |
| 5834 | -f). |
| 5835 | 4 Allow direct execution, without using a shell. |
| 5836 | 4 Run an external command in the background. But how about I/O in the GUI? |
| 5837 | Careful: don't turn Vim into a shell! |
| 5838 | 4 Add feature to disable using a shell or external commands. |
| 5839 | |
| 5840 | |
| 5841 | Multiple Windows: |
| 5842 | 7 "vim -oO file ..." use both horizontal and vertical splits. |
| 5843 | 8 Add CTRL-W T: go to the top window in the column of the current window. |
| 5844 | And CTRL-W B: go to bottom window. |
| 5845 | 7 Use CTRL-W <Tab>, like alt-tab, to switch between buffers. Repeat <Tab> |
| 5846 | to select another buffer (only loaded ones?), <BS> to go back, <Enter> to |
| 5847 | select buffer, <Esc> to go back to original buffer. |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 5848 | 7 Make it possible to edit a new buffer in the preview window. A script can |
| 5849 | then fill it with something. ":popen"? |
Bram Moolenaar | 97b2ad3 | 2006-03-18 21:40:56 +0000 | [diff] [blame] | 5850 | 7 Add a 'tool' window: behaves like a preview window but there can be |
| 5851 | several. Don't count it in only_one_window(). (Alexei Alexandrov) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5852 | 6 Add an option to resize the shell when splitting and/or closing a window. |
| 5853 | ":vsp" would make the shell wider by as many columns as needed for the new |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5854 | window. Specify a maximum size (or use the screen size). ":close" would |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5855 | shrink the shell by as many columns as come available. (Demirel) |
| 5856 | 7 When starting Vim several times, instantiate a Vim server, that allows |
| 5857 | communication between the different Vims. Feels like one Vim running with |
| 5858 | multiple top-level windows. Esp. useful when Vim is started from an IDE |
| 5859 | too. Requires some form of inter process communication. |
| 5860 | - Support a connection to an external viewer. Could call the viewer |
| 5861 | automatically after some seconds of non-activity, or with a command. |
| 5862 | Allow some way of reporting scrolling and cursor positioning in the viewer |
| 5863 | to Vim, so that the link between the viewed and edited text can be made. |
| 5864 | |
| 5865 | |
| 5866 | Marks: |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 5867 | 8 Add ten marks for last changed files: ':0, ':1, etc. One mark per file. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5868 | 8 When cursor is first moved because of scrolling, set a mark at this |
| 5869 | position. (Rimon Barr) Use '-. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5870 | 8 Add a command to jump to a mark and make the motion inclusive. g'm and g`m? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5871 | 8 The '" mark is set to the first line, even when doing ":next" a few times. |
| 5872 | Only set the '" mark when the cursor was really moved in a file. |
| 5873 | 8 Make `` and '', which would position the new cursor position in the middle |
| 5874 | of the window, restore the old topline (or relative position) from when |
| 5875 | the mark was set. |
| 5876 | 7 Make a list of file marks in a separate window. For listing all buffers, |
| 5877 | matching tags, errors, etc. Normal commands to move around. Add commands |
| 5878 | to jump to the mark (in current window or new window). Start it with |
| 5879 | ":browse marks"? |
| 5880 | 6 Add a menu that lists the Marks like ":marks". (Amerige) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5881 | 7 For ":jumps", ":tags" and ":marks", for not loaded buffers, remember the |
| 5882 | text at the mark. Highlight the column with the mark. |
| 5883 | 7 Highlight each mark in some way (With "Mark" highlight group). |
| 5884 | Or display marks in a separate column, like 'number' does. |
| 5885 | 7 Use d"m to delete rectangular area from cursor to mark m (like Vile's \m |
| 5886 | command). |
| 5887 | 7 Try to keep marks in the same position when: |
| 5888 | - replacing with a line break, like in ":s/pat/^M/", move marks after the |
| 5889 | line break column to the next line. (Acevedo) |
| 5890 | - inserting/deleting characters in a line. |
| 5891 | 5 Include marks for start/end of the current word and section. Useful in |
| 5892 | mappings. |
| 5893 | 6 Add "unnamed mark" feature: Like marks for the ":g" command, but place and |
| 5894 | unplace them with commands before doing something with the lines. |
| 5895 | Highlight the marked lines somehow. |
| 5896 | |
| 5897 | |
| 5898 | Digraphs: |
Bram Moolenaar | 5302d9e | 2011-09-14 17:55:08 +0200 | [diff] [blame] | 5899 | 7 Make "ga" show the keymap for a character, if it exists. |
Bram Moolenaar | b133208 | 2013-10-06 14:22:40 +0200 | [diff] [blame] | 5900 | Also show the code of the character after conversion to 'fileencoding'. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5901 | - Use digraph table to tell Vim about the collating sequence of special |
| 5902 | characters? |
Bram Moolenaar | 3fdfa4a | 2004-10-07 21:02:47 +0000 | [diff] [blame] | 5903 | 8 Add command to remove one or more (all) digraphs. (Brown) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5904 | 7 Support different sets of digraphs (depending on the character set?). At |
| 5905 | least Latin1/Unicode, Latin-2, MS-DOS (esp. for Win32). |
| 5906 | |
| 5907 | |
| 5908 | Writing files: |
| 5909 | - In vim_rename(), should lock "from" file when deleting "to" file for |
| 5910 | systems other than Amiga. Avoids problems with unexpected longname to |
| 5911 | shortname conversion. |
| 5912 | 8 write mch_isdevice() for Amiga, Mac, VMS, etc. |
| 5913 | 8 When appending to a file, Vim should also make a backup and a 'patchmode' |
| 5914 | file. |
| 5915 | 8 'backupskip' doesn't write a backup file at all, a bit dangerous for some |
| 5916 | applications. Add 'backupelsewhere' to write a backup file in another |
| 5917 | directory? Or add a flag to 'backupdir'? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5918 | 6 Add an option to write a new, numbered, backup file each time. Like |
| 5919 | 'patchmode', e.g., 'backupmode'. |
| 5920 | 6 Make it possible to write 'patchmode' files to a different directory. |
| 5921 | E.g., ":set patchmode=~/backups/*.orig". (Thomas) |
| 5922 | 6 Add an option to prepend something to the backup file name. E.g., "#". |
| 5923 | Or maybe allow a function to modify the backup file name? |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5924 | 8 Only make a backup when overwriting a file for the first time. Avoids |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5925 | losing the original when writing twice. (Slootman) |
| 5926 | 7 On non-Unix machines, also overwrite the original file in some situations |
| 5927 | (file system full, it's a link on an NFS partition). |
Bram Moolenaar | 4466ad6 | 2020-11-21 13:16:30 +0100 | [diff] [blame] | 5928 | 7 When editing a file, check that it has been changed outside of Vim more |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5929 | often, not only when writing over it. E.g., at the time the swap file is |
| 5930 | flushed. Or every ten seconds or so (use the time of day, check it before |
| 5931 | waiting for a character to be typed). |
| 5932 | 8 When a file was changed since editing started, show this in the status |
| 5933 | line of the window, like "[time]". |
| 5934 | Make it easier to reload all outdated files that don't have changes. |
| 5935 | Automatic and/or with a command. |
| 5936 | |
| 5937 | |
| 5938 | Substitute: |
Bram Moolenaar | 3f77047 | 2005-06-19 22:56:27 +0000 | [diff] [blame] | 5939 | 8 Substitute with hex/unicode number "\%xff" and "\%uabcd". Just like |
| 5940 | "\%uabcd" in search pattern. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5941 | 8 Make it easier to replace in all files in the argument list. E.g.: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5942 | ":argsub/oldword/newword/". Works like ":argdo %s/oldword/newword/g|w". |
| 5943 | - :s///p prints the line after a substitution. |
| 5944 | - With :s///c replace \&, ~, etc. when showing the replacement pattern. |
| 5945 | 8 With :s///c allow scrolling horizontally when 'nowrap' is effective. |
| 5946 | Also allow a count before the scrolling keys. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 5947 | - Add number option to ":s//2": replace second occurrence of string? Or: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5948 | :s///N substitutes N times. |
| 5949 | - Add answers to ":substitute" with 'c' flag, used in a ":global", e.g.: |
| 5950 | ":g/pat1/s/pat2/pat3/cg": 'A' do all remaining replacements, 'Q' don't do |
| 5951 | any replacements, 'u' undo last substitution. |
| 5952 | 7 Substitute in a block of text. Use {line}.{column} notation in an Ex |
| 5953 | range, e.g.: ":1.3,$.5s" means to substitute from line 1 column 3 to the |
| 5954 | last line column 5. |
| 5955 | 5 Add commands to bookmark lines, display bookmarks, remove bookmarks, |
| 5956 | operate on lines with bookmarks, etc. Like ":global" but with the |
| 5957 | possibility to keep the bookmarks and use them with several commands. |
| 5958 | (Stanislav Sitar) |
| 5959 | |
| 5960 | |
| 5961 | Mouse support: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5962 | 8 Add 'o' flag to 'mouse'? |
| 5963 | 7 Be able to set a 'mouseshape' for the popup menu. |
| 5964 | 8 Add 'mouse' flag, which sets a behavior like Visual mode, but automatic |
| 5965 | yanking at the button-up event. Or like Select mode, but typing gets you |
| 5966 | out of Select mode, instead of replacing the text. (Bhaskar) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5967 | - Implement mouse support for the Amiga console. |
| 5968 | - Using right mouse button to extend a blockwise selection should attach to |
| 5969 | the nearest corner of the rectangle (four possible corners). |
| 5970 | - Precede mouse click by a number to simulate double clicks?!? |
| 5971 | - When mouse click after 'r' command, get character that was pointed to. |
| 5972 | |
| 5973 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5974 | Argument list: |
| 5975 | 6 Add command to put all filenames from the tag files in the argument list. |
| 5976 | When given an argument, only use the files where that argument matches |
| 5977 | (like `grep -l ident`) and jump to the first match. |
| 5978 | 6 Add command to form an args list from all the buffers? |
| 5979 | |
| 5980 | |
| 5981 | Registers: |
| 5982 | 8 Don't display empty registers with ":display". (Etienne) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5983 | 8 Add put command that overwrites existing text. Should also work for |
| 5984 | blocks. Useful to move text around in a table. Works like using "R ^R r" |
| 5985 | for every line. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5986 | - When appending to a register, also report the total resulting number of |
| 5987 | lines. Or just say "99 more lines yanked", add the "more". |
| 5988 | - When inserting a register in Insert mode with CTRL-R, don't insert comment |
| 5989 | leader when line wraps? |
| 5990 | - The ":@r" commands should take a range and execute the register for each |
| 5991 | line in the range. |
| 5992 | - Add "P" command to insert contents of unnamed register, move selected text |
| 5993 | to position of previous deleted (to swap foo and bar in " + foo") |
| 5994 | 8 Should be able to yank and delete into the "/ register. |
| 5995 | How to take care of the flags (offset, magic)? |
Bram Moolenaar | ed20346 | 2004-06-16 11:19:22 +0000 | [diff] [blame] | 5996 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5997 | |
| 5998 | Debug mode: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5999 | 8 Add breakpoints for setting an option |
Bram Moolenaar | 69a7cb4 | 2004-06-20 12:51:53 +0000 | [diff] [blame] | 6000 | 8 Add breakpoints for assigning to a variable. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6001 | 7 Store the history from debug mode in viminfo. |
| 6002 | 7 Make the debug mode history available with histget() et al. |
| 6003 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6004 | Various improvements: |
Bram Moolenaar | 1d2ba7f | 2006-02-14 22:29:30 +0000 | [diff] [blame] | 6005 | 7 Add plugins for formatting? Should be able to make a choice depending on |
| 6006 | the language of a file (English/Korean/Japanese/etc.). |
| 6007 | Setting the 'langformat' option to "chinese" would load the |
| 6008 | "format/chinese.vim" plugin. |
| 6009 | The plugin would set 'formatexpr' and define the function being called. |
| 6010 | Edward L. Fox explains how it should be done for most Asian languages. |
| 6011 | (2005 Nov 24) |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 6012 | Alternative: patch for utf-8 line breaking. (Yongwei Wu, 2008 Feb 23) |
Bram Moolenaar | 87b774d | 2005-07-20 22:04:36 +0000 | [diff] [blame] | 6013 | 7 [t to move to previous xml/html tag (like "vatov"), ]t to move to next |
| 6014 | ("vatv"). |
Bram Moolenaar | 342337a | 2005-07-21 21:11:17 +0000 | [diff] [blame] | 6015 | 7 [< to move to previous xml/html tag, e.g., previous <li>. ]< to move to |
| 6016 | next <li>, ]< to next </li>, [< to previous </li>. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6017 | 8 Add ":rename" command: rename the file of the current buffer and rename |
| 6018 | the buffer. Buffer may be modified. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 6019 | 7 Instead of filtering errors with a shell script it should be possible to |
| 6020 | do this with Vim script. A function that filters the raw text that comes |
| 6021 | from the 'makeprg'? |
Bram Moolenaar | 1ef15e3 | 2006-02-01 21:56:25 +0000 | [diff] [blame] | 6022 | - Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh |
Bram Moolenaar | 86b6835 | 2004-12-27 21:59:20 +0000 | [diff] [blame] | 6023 | Govindachar) |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 6024 | 7 Allow a window not to have a statusline. Makes it possible to use a |
| 6025 | window as a buffer-tab selection. |
| 6026 | 8 Allow non-active windows to have a different statusline. (Yakov Lerner) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6027 | 7 Add an invisible buffer which can be edited. For use in scripts that want |
| 6028 | to manipulate text without changing the window layout. |
| 6029 | 8 Add a command to revert to the saved version of file; undo or redo until |
| 6030 | all changes are gone. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6031 | 6 "vim -q -" should read the list of errors from stdin. (Gautam Mudunuri) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6032 | 8 Add "--remote-fail": When contacting the server fails, exit Vim. |
| 6033 | Add "--remote-self": When contacting the server fails, do it in this Vim. |
| 6034 | Overrules the default of "--remote-send" to fail and "--remote" to do it |
| 6035 | in this Vim. |
| 6036 | 8 When Vim was started without a server, make it possible to start one, as |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6037 | if the "--servername" argument was given. ":startserver <name>"? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6038 | 8 No address range can be used before the command modifiers. This makes |
| 6039 | them difficult to use in a menu for Visual mode. Accept the range and |
| 6040 | have it apply to the following command. |
| 6041 | 8 Add the possibility to set 'fileformats' to force a format and strip other |
| 6042 | CR characters. For example, for "dos" files remove CR characters at the |
| 6043 | end of the line, so that a file with mixed line endings is cleaned up. |
| 6044 | To just not display the CR characters: Add a flag to 'display'? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6045 | 7 Some compilers give error messages in which the file name does not have a |
| 6046 | path. Be able to specify that 'path' is used for these files. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6047 | 7 Xterm sends <Esc>O3F for <M-End>. Similarly for other <M-Home>, <M-Left>, |
| 6048 | etc. Combinations of Alt, Ctrl and Shift are also possible. Recognize |
| 6049 | these to avoid inserting the raw byte sequence, handle like the key |
| 6050 | without modifier (unless mapped). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6051 | 6 Add "gG": like what "gj" is to "j": go to the N'th window line. |
| 6052 | 8 Add command like ":normal" that accepts <Key> notation like ":map". |
| 6053 | 9 Support ACLs on more systems. |
| 6054 | 7 Add ModeMsgVisual, ModeMsgInsert, etc. so that each mode message can be |
| 6055 | highlighted differently. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6056 | 7 Add a message area for the user. Set some option to reserve space (above |
| 6057 | the command line?). Use an ":echouser" command to display the message |
| 6058 | (truncated to fit in the space). |
| 6059 | 7 Add %s to 'keywordprg': replace with word under the cursor. (Zellner) |
| 6060 | 8 Support printing on Unix. Can use "lpansi.c" as an example. (Bookout) |
| 6061 | 8 Add put command that replaces the text under it. Esp. for blockwise |
| 6062 | Visual mode. |
Bram Moolenaar | ed20346 | 2004-06-16 11:19:22 +0000 | [diff] [blame] | 6063 | 7 Enhance termresponse stuff: Add t_CV(?): pattern of term response, use |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6064 | regexp: "\e\[[>?][0-9;]*c", but only check just after sending t_RV. |
| 6065 | 7 Add "g|" command: move to N'th column from the left margin (after wrapping |
| 6066 | and applying 'leftcol'). Works as "|" like what "g0" is to "0". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6067 | 7 Support setting 'equalprg' to a user function name. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6068 | 7 Highlight the characters after the end-of-line differently. |
| 6069 | 7 When 'whichwrap' contains "l", "$dl" should join lines? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6070 | 8 Add an argument to configure to use $CFLAGS and not modify it? (Mooney) |
| 6071 | 8 Enabling features is a mix of configure arguments and defines in |
| 6072 | feature.h. How to make this consistent? Feature.h is required for |
| 6073 | non-unix systems. Perhaps let configure define CONF_XXX, and use #ifdef |
| 6074 | CONF_XXX in feature.h? Then what should min-features and max-features do? |
| 6075 | 8 Add "g^E" and "g^Y", to scroll a screen-full line up and down. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6076 | 8 Add ":confirm" handling in open_exfile(), for when file already exists. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6077 | 8 When quitting with changed files, make the dialog list the changed file |
| 6078 | and allow "write all", "discard all", "write some". The last one would |
| 6079 | then ask "write" or "discard" for each changed file. Patch in HierAssist |
| 6080 | does something like this. (Shah) |
| 6081 | 7 Use growarray for replace stack. |
| 6082 | 7 Have a look at viH (Hellenic or Greek version of Vim). But a solution |
| 6083 | outside of Vim might be satisfactory (Haritsis). |
| 6084 | 3 Make "2d%" work like "d%d%" instead of "d2%"? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6085 | 7 "g CTRL-O" jumps back to last used buffer. Skip CTRL-O jumps in the same |
| 6086 | buffer. Make jumplist remember the last ten accessed buffers? |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 6087 | 7 Make it possible to set the size of the jumplist (also to a smaller number |
| 6088 | than the default). (Nikolai Weibull) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6089 | - Add code to disable the CAPS key when going from Insert to Normal mode. |
| 6090 | - Set date/protection/etc. of the patchfile the same as the original file. |
| 6091 | - Use growarray for termcodes[] in term.c |
| 6092 | - Add <window-99>, like <cword> but use filename of 99'th window. |
| 6093 | 7 Add a way to change an operator to always work characterwise-inclusive |
| 6094 | (like "v" makes the operator characterwise-exclusive). "x" could be used. |
| 6095 | - Make a set of operations on list of names: expand wildcards, replace home |
| 6096 | dir, append a string, delete a string, etc. |
Bram Moolenaar | 0065906 | 2010-09-21 22:34:02 +0200 | [diff] [blame] | 6097 | - Remove using mktemp() and use tmpname() only? Ctags does this. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6098 | - When replacing environment variables, and there is one that is not set, |
| 6099 | turn it into an empty string? Only when expanding options? (Hiebert) |
| 6100 | - Option to set command to be executed instead of producing a beep (e.g. to |
| 6101 | call "play newbeep.au"). |
| 6102 | - Add option to show the current function name in the status line. More or |
| 6103 | less what you find with "[[k", like how 'cindent' recognizes a function. |
| 6104 | (Bhatt). |
| 6105 | - "[r" and "]r": like "p" and "P", but replace instead of insert (esp. for |
| 6106 | blockwise registers). |
| 6107 | - Add 'timecheck' option, on by default. Makes it possible to switch off the |
| 6108 | timestamp warning and question. (Dodt). |
| 6109 | - Add an option to set the time after which Vim should check the timestamps |
| 6110 | of the files. Only check when an event occurs (e.g., character typed, |
| 6111 | mouse moved). Useful for non-GUI versions where keyboard focus isn't |
| 6112 | noticeable. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6113 | - Make 'smartcase' work even though 'ic' isn't set (Webb). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6114 | 7 When formatting text, allow to break the line at a number of characters. |
| 6115 | Use an option for this: 'breakchars'? Useful for formatting Fortran code. |
| 6116 | - Add flag to 'formatoptions' to be able to format book-style paragraphs |
| 6117 | (first line of paragraph has larger indent, no empty lines between |
| 6118 | paragraphs). Complements the '2' flag. Use '>' flag when larger indent |
| 6119 | starts a new paragraph, use '<' flag when smaller indent starts a new |
| 6120 | paragraph. Both start a new paragraph on any indent change. |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 6121 | 8 The 'a' flag in 'formatoptions' is too dangerous. In some way only do |
| 6122 | auto-formatting in specific regions, e.g. defined by syntax highlighting. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6123 | 8 Allow using a trailing space to signal a paragraph that continues on the |
| 6124 | next line (MIME text/plain; format=flowed, RFC 2646). Can be used for |
| 6125 | continuous formatting. Could use 'autoformat' option, which specifies a |
| 6126 | regexp which triggers auto-formatting (for one line). |
| 6127 | ":set autoformat=\\s$". |
| 6128 | - Be able to redefine where a sentence stops. Use a regexp pattern? |
Bram Moolenaar | 207f009 | 2020-08-30 17:20:20 +0200 | [diff] [blame] | 6129 | - Support multibyte characters for sentences. Example from Ben Peterson. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6130 | 7 Add command "g)" to go to the end of a sentence, "g(" to go back to the |
| 6131 | end of a sentence. (Servatius Brandt) |
| 6132 | - Be able to redefine where a paragraph starts. For "[[" where the '{' is |
| 6133 | not in column 1. |
| 6134 | 6 Add ":cdprev": go back to the previous directory. Need to remember a |
| 6135 | stack of previous directories. We also need ":cdnext". |
| 6136 | 7 Should ":cd" for MS-DOS go to $HOME, when it's defined? |
| 6137 | - Make "gq<CR>" work on the last line in the file. Maybe for every operator? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6138 | - Add more redirecting of Ex commands: |
Bram Moolenaar | ce5e58e | 2005-01-19 22:24:34 +0000 | [diff] [blame] | 6139 | :redir #> bufname |
| 6140 | :redir #>> bufname (append) |
Bram Moolenaar | bee0c5b | 2005-02-07 22:03:36 +0000 | [diff] [blame] | 6141 | - Give error message when starting :redir: twice or using END when no |
| 6142 | redirection was active. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6143 | - Setting of options, specifically for a buffer or window, with |
| 6144 | ":set window.option" or ":set buffer.option=val". Or use ":buffer.set". |
| 6145 | Also: "buffer.map <F1> quit". |
| 6146 | 6 Would it be possible to change the color of the cursor in the Win32 |
| 6147 | console? (Klaus Hast) |
| 6148 | - Add :delcr command: |
| 6149 | *:delcr* |
| 6150 | :[range]delcr[!] Check [range] lines (default: whole buffer) for lines |
| 6151 | ending in <CR>. If all lines end in <CR>, or [!] is |
| 6152 | used, remove the <CR> at the end of lines in [range]. |
| 6153 | A CTRL-Z at the end of the file is removed. If |
| 6154 | [range] is omitted, or it is the whole file, and all |
Bram Moolenaar | 25c9c68 | 2019-05-05 18:13:34 +0200 | [diff] [blame] | 6155 | lines end in <CR> 'textmode' is set. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6156 | - Should integrate addstar() and file_pat_to_reg_pat(). |
| 6157 | - When working over a serial line with 7 bit characters, remove meta |
| 6158 | characters from 'isprint'. |
| 6159 | - Use fchdir() in init_homedir(), like in FullName(). |
| 6160 | - In win_update(), when the GUI is active, always use the scrolling area. |
| 6161 | Avoid that the last status line is deleted and needs to be redrawn. |
| 6162 | - That "cTx" fails when the cursor is just after 'x' is Vi compatible, but |
| 6163 | may not be what you expect. Add a flag in 'cpoptions' for this? More |
| 6164 | general: Add an option to allow "c" to work with a null motion. |
| 6165 | - Give better error messages by using errno (strerror()). |
| 6166 | - Give "Usage:" error message when command used with wrong arguments (like |
| 6167 | Nvi). |
| 6168 | - Make 'restorescreen' option also work for xterm (and others), replaces the |
| 6169 | SAVE_XTERM_SCREEN define. |
| 6170 | 7 Support for ":winpos" In xterm: report the current window position. |
| 6171 | - Give warning message when using ":set t_xx=asdf" for a termcap code that |
| 6172 | Vim doesn't know about. Add flag in 'shortmess'? |
| 6173 | 6 Add ":che <file>", list all the include paths which lead to this file. |
| 6174 | - For a commandline that has several commands (:s, :d, etc.) summarize the |
| 6175 | changes all together instead of for each command (e.g. for the rot13 |
| 6176 | macro). |
| 6177 | - Add command like "[I" that also shows the tree of included files. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6178 | - ":set sm^L" results in ":set s", because short names of options are also |
| 6179 | expanded. Is there a better way to do this? |
| 6180 | - Add ":@!" command, to ":@" like what ":source!" is to ":source". |
| 6181 | 8 Add ":@:!": repeat last command with forceit set. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6182 | - Add 't_normal': Used whenever t_me, t_se, t_ue or t_Zr is empty. |
| 6183 | - ":cab map test ^V| je", ":cunab map" doesn't work. This is vi compatible! |
| 6184 | - CTRL-W CTRL-E and CTRL-W CTRL-Y should move the current window up or down |
| 6185 | if it is not the first or last window. |
| 6186 | - Include-file-search commands should look in the loaded buffer of a file (if |
| 6187 | there is one) instead of the file itself. |
| 6188 | 7 Change 'nrformats' to include the leader for each format. Example: |
| 6189 | nrformats=hex:$,binary:b,octal:0 |
| 6190 | Add setting of 'nrformats' to syntax files. |
| 6191 | - 'path' can become very long, don't use NameBuff for expansion. |
| 6192 | - When unhiding a hidden buffer, put the same line at top of the window as |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6193 | the one before hiding it. Or: keep the same relative cursor position (so |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6194 | many percent down the windows). |
| 6195 | - Make it possible for the 'showbreak' to be displayed at the end of the |
| 6196 | line. Use a comma to separate the part at the end and the start of the |
| 6197 | line? Highlight the linebreak characters, add flag in 'highlight'. |
Bram Moolenaar | 30b6581 | 2012-07-12 22:01:11 +0200 | [diff] [blame] | 6198 | Make 'showbreak' local to a window. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6199 | - Some string options should be expanded if they have wildcards, e.g. |
| 6200 | 'dictionary' when it is "*.h". |
| 6201 | - Use a specific type for number and boolean options, making it possible to |
| 6202 | change it for specific machines (e.g. when a long is 64 bit). |
| 6203 | - Add option for <Insert> in replace mode going to normal mode. (Nugent) |
| 6204 | - Add a next/previous possibility to "[^I" and friends. |
| 6205 | - Add possibility to change the HOME directory. Use the directory from the |
| 6206 | passwd file? (Antwerpen) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6207 | 8 Add commands to push and pop all or individual options. ":setpush tw", |
| 6208 | ":setpop tw", ":setpush all". Maybe pushing/popping all options is |
| 6209 | sufficient. ":setflush" resets the option stack? |
| 6210 | How to handle an aborted mapping? Remember position in tag stack when |
| 6211 | mapping starts, restore it when an error aborts the mapping? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6212 | - Change ":fixdel" into option 'fixdel', t_del will be adjusted each time |
| 6213 | t_bs is set? (Webb) |
| 6214 | - "gc": goto character, move absolute character positions forward, also |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6215 | counting newlines. "gC" goes backwards (Weigert). |
| 6216 | - When doing CTRL-^, redraw buffer with the same topline. (Demirel) Store |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6217 | cursor row and window height to redraw cursor at same percentage of window |
| 6218 | (Webb). |
| 6219 | - Besides remembering the last used line number of a file, also remember the |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6220 | column. Use it with CTRL-^ et. al. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6221 | - Check for non-digits when setting a number option (careful when entering |
| 6222 | hex codes like 0xff). |
| 6223 | - Add option to make "." redo the "@r" command, instead of the last command |
| 6224 | executed by it. Also to make "." redo the whole mapping. Basically: redo |
| 6225 | the last TYPED command. |
| 6226 | - Support URL links for ^X^F in Insert mode, like for "gf". |
| 6227 | - Support %name% expansion for "gf" on Windows. |
| 6228 | - Make "gf" work on "file://c:/path/name". "file:/c:/" and "file:///c:/" |
| 6229 | should also work? |
Bram Moolenaar | f55e4c8 | 2017-08-01 20:44:53 +0200 | [diff] [blame] | 6230 | - Add 'urlpath', used like 'path' for when "gf" used on a URL? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6231 | 8 When using "gf" on an absolute file name, while editing a remote file |
| 6232 | (starts with scp:// or http://) should prepend the method and machine |
| 6233 | name. |
Bram Moolenaar | f55e4c8 | 2017-08-01 20:44:53 +0200 | [diff] [blame] | 6234 | - When finding a URL or file name, and it doesn't exist, try removing a |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6235 | trailing '.'. |
| 6236 | - Add ":path" command modifier. Should work for every command that takes a |
| 6237 | file name argument, to search for the file name in 'path'. Use |
| 6238 | find_file_in_path(). |
| 6239 | - Highlight control characters on the screen: Shows the difference between |
| 6240 | CTRL-X and "^" followed by "X" (Colon). |
| 6241 | - Integrate parsing of cmdline command and parsing for expansion. |
| 6242 | - Create a program that can translate a .swp file from any machine into a |
| 6243 | form usable by Vim on the current machine. |
| 6244 | - Add ":noro" command: Reset 'ro' flag for all buffers, except ones that have |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6245 | a readonly file. ":noro!" will reset all 'ro' flags. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6246 | - Add a variant of CTRL-V that stops interpretation of more than one |
| 6247 | character. For entering mappings on the command line where a key contains |
| 6248 | several special characters, e.g. a trailing newline. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6249 | - Make '2' option in 'formatoptions' also work inside comments. |
| 6250 | - Add 's' flag to 'formatoptions': Do not break when inside a string. (Dodt) |
| 6251 | - When window size changed (with the mouse) and made too small, set it back |
| 6252 | to the minimal size. |
| 6253 | - Add "]>" and "[<", shift comment at end of line (command; /* comment */). |
| 6254 | - Should not call cursorcmd() for each vgetc() in getcmdline(). |
| 6255 | - ":split file1 file2" adds two more windows (Webb). |
| 6256 | - Don't give message "Incomplete last line" when editing binary file. |
| 6257 | - Add ":a", ":i" for preloading of named buffers. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6258 | - When entering text, keep other windows on same buffer updated (when a line |
| 6259 | entered)? |
| 6260 | - Check out how screen does output optimizing. Apparently this is possible |
| 6261 | as an output filter. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6262 | - In dosub() regexec is called twice for the same line. Try to avoid this. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6263 | - Window updating from memline.c: insert/delete/replace line. |
| 6264 | - Optimize ml_append() for speed, esp. for reading a file. |
| 6265 | - V..c should keep indent when 'ai' is set, just like [count]cc. |
| 6266 | - Updatescript() can be done faster with a string instead of a char. |
| 6267 | - Screen updating is inefficient with CTRL-F and CTRL-B when there are long |
| 6268 | lines. |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 6269 | - Uppercase characters in Ex commands can be made lowercase? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6270 | 8 Add option to show characters in text not as "|A" but as decimal ("^129"), |
| 6271 | hex ("\x81") or octal ("\201") or meta (M-x). Nvi has the 'octal' option |
| 6272 | to switch from hex to octal. Vile can show unprintable characters in hex |
| 6273 | or in octal. |
| 6274 | 7 Tighter integration with xxd to edit binary files. Make it more |
| 6275 | easy/obvious to use. Command line argument? |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6276 | - How does vi detect whether a filter has messed up the screen? Check source. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6277 | After ":w !command" a wait_return? |
| 6278 | - Improve screen updating code for doput() (use s_ins()). |
| 6279 | - With 'p' command on last line: scroll screen up (also for terminals without |
| 6280 | insert line command). |
| 6281 | - Use insert/delete char when terminal supports it. |
| 6282 | - Optimize screen redraw for slow terminals. |
| 6283 | - Optimize "dw" for long row of spaces (say, 30000). |
| 6284 | - Add "-d null" for editing from a script file without displaying. |
| 6285 | - In Insert mode: Remember the characters that were removed with backspace |
| 6286 | and re-insert them one at a time with <key1>, all together with <key2>. |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6287 | - Amiga: Add possibility to set a keymap. The code in amiga.c does not work |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6288 | yet. |
| 6289 | - Implement 'redraw' option. |
| 6290 | - Add special code to 'sections' option to define something else but '{' or |
| 6291 | '}' as the start of a section (e.g. one shiftwidth to the right). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6292 | 7 Allow using Vim in a pipe: "ls | vim -u xxx.vim - | yyy". Only needs |
| 6293 | implementing ":w" to stdout in the buffer that was read from stdin. |
Bram Moolenaar | 2641f77 | 2005-03-25 21:58:17 +0000 | [diff] [blame] | 6294 | Perhaps writing to stdout will work, since stderr is used for the terminal |
| 6295 | I/O. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6296 | 8 Allow opening an unnamed buffer with ":e !cmd" and ":sp !cmd". Vile can |
| 6297 | do it. |
| 6298 | - Add commands like ]] and [[ that do not include the line jumped to. |
| 6299 | - When :unab without matching "from" part and several matching "to" parts, |
| 6300 | delete the entry that was used last, instead of the first in the list. |
| 6301 | - Add text justification option. |
| 6302 | - Set boolean options on/off with ":set paste=off", ":set paste=on". |
| 6303 | - After "inv"ing an option show the value: ":set invpaste" gives "paste is |
| 6304 | off". |
| 6305 | - Check handling of CTRL-V and '\' for ":" commands that do not have TRLBAR. |
| 6306 | - When a file cannot be opened but does exist, give error message. |
| 6307 | - Amiga: When 'r' protection bit is not set, file can still be opened but |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6308 | gives read errors. Check protection before opening. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6309 | - When writing check for file exists but no permission, "Permission denied". |
Bram Moolenaar | 06b5d51 | 2010-05-22 15:37:44 +0200 | [diff] [blame] | 6310 | - If file does not exist, check if directory exists. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6311 | - Settings edit mode: make file with ":set opt=xx", edit it, parse it as ex |
| 6312 | commands. |
| 6313 | - ":set -w all": list one option per line. |
| 6314 | - Amiga: test for 'w' flag when reading a file. |
| 6315 | - :table command (Webb) |
| 6316 | - Add new operator: clear, make area white (replace with spaces): "g ". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6317 | - Add command to ":read" a file at a certain column (blockwise read?). |
| 6318 | - Add sort of replace mode where case is taken from the old text (Goldfarb). |
| 6319 | - Allow multiple arguments for ":read", read all the files. |
| 6320 | - Support for tabs in specific columns: ":set tabcol=8,20,34,56" (Demirel). |
| 6321 | - Add 'searchdir' option: Directories to search for file name being edited |
| 6322 | (Demirel). |
| 6323 | - Modifier for the put command: Change to linewise, charwise, blockwise, etc. |
| 6324 | - Add commands for saving and restoring options ":set save" "set restore", |
| 6325 | for use in macro's and the like. |
| 6326 | - Keep output from listings in a window, so you can have a look at it while |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6327 | working in another window. Put cmdline in a separate window? |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 6328 | - Add possibility to put output of Ex commands in a buffer or file, e.g. for |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6329 | ":set all". ":r :set all"? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6330 | - When the 'equalalways' option is set, creating a new window should not |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6331 | result in windows to become bigger. Deleting a window should not result in |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6332 | a window to become smaller (Webb). |
| 6333 | - When resizing the whole Vim window, the windows inside should be resized |
| 6334 | proportionally (Webb). |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6335 | - Include options directly in option table, no indirect pointers. Use |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6336 | mkopttab to make option table? |
| 6337 | - When doing ":w dir", where "dir" is a directory name, write the current |
| 6338 | file into that directory, with the current file name (without the path)? |
| 6339 | - Support for 'dictionary's that are sorted, makes access a lot faster |
| 6340 | (Haritsis). |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6341 | - Add "^Vrx" on the command line, replace with contents of register x. Used |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6342 | instead of CTRL-R to make repeating possible. (Marinichev) |
| 6343 | - Add "^Vb" on the command line, replace with word before or under the |
| 6344 | cursor? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6345 | - Support mapping for replace mode and "r" command (Vi doesn't do this)? |
Bram Moolenaar | 69a7cb4 | 2004-06-20 12:51:53 +0000 | [diff] [blame] | 6346 | 8 Sorting of filenames for completion is wrong on systems that ignore |
| 6347 | case of filenames. Add 'ignorefncase' option. When set, case in |
| 6348 | filenames is ignored for sorting them. Patch by Mike Williams: |
| 6349 | ~/vim/patches/ignorefncase. Also change what matches? Or use another |
| 6350 | option name. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6351 | 8 Should be able to compile Vim in another directory, with $(srcdir) set to |
| 6352 | where the sources are. Add $(srcdir) in the Makefile in a lot of places. |
| 6353 | (Netherton) |
| 6354 | 6 Make it configurable when "J" inserts a space or not. Should not add a |
| 6355 | space after "(", for example. |
| 6356 | 5 When inserting spaces after the end-of-line for 'virtualedit', use tabs |
| 6357 | when the user wants this (e.g., add a "tab" field to 'virtualedit'). |
| 6358 | (Servatius Brandt) |
| 6359 | |
| 6360 | |
| 6361 | From Elvis: |
| 6362 | - Use "instman.sh" to install manpages? |
| 6363 | - Add ":alias" command. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6364 | - Search patterns: |
| 6365 | \@ match word under cursor. |
| 6366 | but do: |
| 6367 | \@w match the word under the cursor? |
| 6368 | \@W match the WORD under the cursor? |
| 6369 | 8 ":window" command: |
| 6370 | :win + next window (up) |
| 6371 | :win ++ idem, wrapping |
| 6372 | :win - previous window (down) |
| 6373 | :win -- idem, wrapping |
| 6374 | :win nr to window number "nr" |
| 6375 | :win name to window editing buffer "name" |
| 6376 | 7 ":cc" compiles a single file (default: current one). 'ccprg' option is |
| 6377 | program to use with ":cc". Use ":compile" instead of ":cc"? |
| 6378 | |
| 6379 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6380 | From xvi: |
| 6381 | - CTRL-_ : swap 8th bit of character. |
| 6382 | - Add egrep-like regex type, like xvi (Ned Konz) or Perl (Emmanuel Mogenet) |
| 6383 | |
| 6384 | |
| 6385 | From vile: |
| 6386 | - When horizontal scrolling, use '>' for lines continuing right of a window. |
| 6387 | - Support putting .swp files in /tmp: Command in rc.local to move .swp files |
| 6388 | from /tmp to some directory before deleting files. |
| 6389 | |
| 6390 | |
| 6391 | Far future and "big" extensions: |
Bram Moolenaar | 07d4d73 | 2005-10-03 22:04:08 +0000 | [diff] [blame] | 6392 | - Instead of using a Makefile and autoconf, use a simple shell script to |
| 6393 | find the C compiler and do everything with C code. Translate something |
Bram Moolenaar | c0514bf | 2016-11-17 14:50:09 +0100 | [diff] [blame] | 6394 | like an Aap recipe and configure.ac to C. Avoids depending on Python, |
Bram Moolenaar | 07d4d73 | 2005-10-03 22:04:08 +0000 | [diff] [blame] | 6395 | thus will work everywhere. With batch file to find the C compiler it |
| 6396 | would also work on MS-Windows. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6397 | - Make it easy to setup Vim for groups of users: novice vi users, novice |
| 6398 | Vim users, C programmers, xterm users, GUI users,... |
| 6399 | - Change layout of blocks in swap file: Text at the start, with '\n' in |
| 6400 | between lines (just load the file without changes, except for Mac). |
| 6401 | Indexes for lines are from the end of the block backwards. It's the |
| 6402 | current layout mirrored. |
| 6403 | - Make it possible to edit a register, in a window, like a buffer. |
| 6404 | - Add stuff to syntax highlighting to change the text (upper-case keywords, |
| 6405 | set indent, define other highlighting, etc.). |
| 6406 | - Mode to keep C-code formatted all the time (sort of on-line indent). |
| 6407 | - Several top-level windows in one Vim session. Be able to use a different |
| 6408 | font in each top-level window. |
| 6409 | - Allow editing above start and below end of buffer (flag in 'virtualedit'). |
| 6410 | - Smart cut/paste: recognize words and adjust spaces before/after them. |
| 6411 | - Add open mode, use it when terminal has no cursor positioning. |
| 6412 | - Special "drawing mode": a line is drawn where the cursor is moved to. |
| 6413 | Backspace deletes along the line (from jvim). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6414 | - Support for underlining (underscore-BS-char), bold (char-BS-char) and other |
| 6415 | standout modes switched on/off with , 'overstrike' option (Reiter). |
| 6416 | - Add vertical mode (Paul Jury, Demirel): "5vdw" deletes a word in five |
| 6417 | lines, "3vitextESC" will insert "text" in three lines, etc.. |
| 6418 | 4 Recognize l, #, p as 'flags' to EX commands: |
| 6419 | :g/RE/#l shall print lines with line numbers and in list format. |
| 6420 | :g/RE/dp shall print lines that are deleted. |
| 6421 | POSIX: Commands where flags shall apply to all lines written: list, |
Bram Moolenaar | 13fcaaf | 2005-04-15 21:13:42 +0000 | [diff] [blame] | 6422 | number, open, print, substitute, visual, &, z. For other commands, flags |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6423 | shall apply to the current line after the command completes. Examples: |
| 6424 | :7,10j #l Join the lines 7-10 and print the result in list |
| 6425 | - Allow two or more users to edit the same file at the same time. Changes |
| 6426 | are reflected in each Vim immediately. Could work with local files but |
| 6427 | also over the internet. See http://www.codingmonkeys.de/subethaedit/. |
| 6428 | |
Bram Moolenaar | d473c8c | 2018-08-11 18:00:22 +0200 | [diff] [blame] | 6429 | vim:tw=78:sw=4:sts=4:ts=8:noet:ft=help:norl: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 6430 | vim: set fo+=n : |