Movatterモバイル変換


[0]ホーム

URL:


Quick links:help overview ·quick reference ·user manual toc ·reference manual toc·faq
Go to keyword (shortcut:k)
Site search (shortcut:s)
todo.txt      ForVim version 9.1.  Last change: 2025 Jun 12VIM REFERENCE MANUAL  by Bram Moolenaar      TODOlist for VimtodoThisisa veeeery longlist of known bugs, current work and desiredimprovements.  To makeita little bit accessible, the older items are groupedby subject.  In the first column of the linea classificationis used to beable to look for "the next thing todo":Priority classification:9   next point release8   next release7as soonas possible6   soon5   should be included4   nice to have3   consider including2   maybe not1   probably not-   unclassifiedvotes-for-changesSeedevelop.txt fordevelopment plans.  You can vote for which items shouldbe worked on, but only if yousponsor Vim development.  Seesponsor.Issues can also be entered online:https://github.com/vim/vim/issuesOnly use this for bug reports, not for questions!  Those belong on themaillist.  Updates will be forwarded to thevim_dev maillist.  Issuesentered there will not be repeated below, unless thereis extra information.The #1234 numbers refer to an issue or pull request on github.  To seeit inabrowser use:https://github.com/vim/vim/issues/1234(replace 1234 with the issue/pull number)known-bugs-------------------- Known bugs and current work -----------------------Mapping with modifieris not recognized afterapartial mapping.  Probablybecause the typeahead was simplified when looking fora matching mapping.Need to somehowundo the simplification.  #12002Windows scroll when using the autocmd window.  #12085in restore_snapshot_rec() restore more values from the snapshot, instead ofcalling frame_new_height() and frame_new_width(), especially w_topline andw_skipcol.Check places that source "path/*.vim" to not match other extensions, e.g..vim9, onMS-Windows (short file name match, gets expanded to long file name).E.g. forstartup files, plugins, packs, etc.Whenahelp item can't be found, then open'helpfile'.  Search for thetag inthat file and gtiveE149 only when not found.  Helps fora tiny Vim installedwithout all thehelp files.Virtual text problems:-  Virtual text aligned "above": Wrong indentation when using tabs  (Issue   #12232)-  truncated Virtual text below an empty line causes display error #12493When'virtualedit'is "all" and'cursorcolumn'is set, the wrong column may behighlighted. (van-de-bugger, 2018 Jan 23, #2576)With'smoothscroll' set and "lastline" in'display', moving the cursor toawrapping line that makes the display scroll up may scroll much more thanneeded, thus jump-scrolling. (part of issue 12411)Errors when running tests with valgrind:- test_codestyle.vim:  e.g.:    command line..script /home/mool/vim/vim91/src/testdir/runtest.vim[569]..function RunTheTest[52]..Test_test_files line 6: keycode_check.vim:space before tab: Expected0 but got 7    command line..script /home/mool/vim/vim91/src/testdir/runtest.vim[569]..function RunTheTest[52]..Test_test_files line 10: setup.vim: trailing white space: Expected0 but got 23- test_gui.vim:    Founderrors in Test_gui_mouse_event():When every block in if/elseif ends in "throw" or "return" code following after"endif" should give an "unreachable code" error.Upcoming larger works:- Makespell checking work with recent .dic/.aff files, e.g. French.  #4916    Make Vim understand the format somehow?   Search for "spell" below.    Make sure suggestions are speedy, also with composed words (German).- Makesyntax highlighting faster and better.  Adda generic mechanism to testasyntax plugin: An input file for thefiletype anda screendump of expected result.  Witha way to specify the  setup (global variables) and another dump file from that.  Discuss alternatives for using other grammars (treesitter, TextMate).- Possibly conversion to Vimsyntax rules.- Other mechanism than group and cluster to nestsyntax items, to be used     for grammars.- Possibly keeping the parsedsyntax tree and incremental updates.- tree-sitter doesn't handle incorrectsyntax (while typing) properly.- NeoVim uses treesitter, what can we learn from that?- Vscodeis asked to switch to treesitter:https://github.com/microsoft/vscode/issues/50140- Vscode uses TextMate.  #9087- Other people don't like it.https://github.com/icedman/vim-textmate- sublime grammar?  Hugo mentions it'sa moving target  #9087- Make clear howit relates to LSP.- example plugin:https://github.com/uga-rosa/dps-vsctm.vimFurtherVim9 improvements:- Classes and Interfaces. Seevim9-classes- Getting member of variable with "any" type should be handledat runtime.    Remove temporary solution from #12096/ patch 9.0.1375.- "obj.Method()" does not always work ina compiled function, assumes "obj"isa dictionary.  #12196  Issue #12024 might be the same problem.    Issue #11822: any.Func() can beadict or anobject call, need to handle    thisat runtime.  Also see #12198 for an example.    Possibly issue #11981 can be fixedat the same time (has two examples).- Forward declaration ofa class?  E.g. for Clone() function.Email lifepillar 2023 Mar 26- how about lock/unlock?- For chaining, allow using theclass nameas type for function return    value.- Implement "specifies" interface- Implement generics- Add "assignable" (class or child)?- More efficient way for interface memberindex than iterating over list?-a variant oftype() that returnsa different type for each class?      list<number> and list<string> should also differ.- Promise class, could be used to wait onapopup close callback?-class local toa function- UseVim9 for more runtime files.- Inline call tomap() and filter(), better type checking.- When evaluating constants forscript variables, somefunctions could work:    has(featureName), len(someString)- Implementas part of an expression: ++expr, --expr, expr++, expr--.- The use of the literal value "null" and the type specific "null_xxx"  valuesis confusing (#13433, #11770).Information missing in terminfo:- Codes used for focus gained and lost termcodes are hard-coded in  set_termname(), not named.-t_feenable focus-event tracking-t_fddisable focus-event tracking- Accept "hyper" and "meta" modifiers (16 and 32) from Kitty like Meta?    8is actually "super".-t_RVrequestterminal version string; xterm:"\033[>c"    change interminfo for "RV" uses the wrongescape sequence 7- 14 Jan only- Codes for<PasteStart>t_PS and<PasteEnd> t_PE; with bracketed paste:t_BE and t_BD.Modifiers forvarious keys- flag to indicate "xterm compatible modifiers"?Underline and similar:-t_AU- Setunderline color: like "AF" and "AB" entries.-t_Ceundercurl andunderlineend-t_Csundercurl (curly underline) mode-t_Usdoubleunderline mode-t_dsdottedunderline mode-t_Dsdashedunderline mode-t_Testrikethroughend-t_Tsstrikethrough modeCursor codes:termcap-cursor-shape-t_RCrequestterminal cursor blinking-t_RSrequestterminal cursor style-t_VScursor normally visible (no blink)-t_SIstartinsert mode (bar cursor shape)-t_SRstart replace mode (underline cursor shape)-t_EIendinsert or replace mode (block cursor shape)-t_SCset cursor color start-t_ECset cursor colorend-t_SHset cursor shapeState requests:-t_RFrequestterminal foreground color-t_RBrequestterminal background colorLess important (not needed for regular editing):-t_ISset icon text start-t_IEset icon textend-t_STsavewindow title to stack-t_RTrestorewindow title from stack-t_Sisave icon text to stack-t_Rirestore icon text from stack-t_WPsetwindow position (Y, X) in pixels-t_GPgetwindow position (Y, X) in pixels-t_WSsetwindow size (height, width in cells)Vim internal, but there should beaterminfo entry for these:-t_8fset foreground color (R, G, B) inprintf() format-t_8bset background color (R, G, B) inprintf() format-t_8usetunderline color (R, G, B) inprintf() formatProbably Vim internal, not in terminfo:-t_TEend of "raw" mode-t_TIputterminal into "raw" mode-t_RKrequestterminal keyboard protocol state; sent aftert_TIAlready working, not properly documented:-t_u7request cursor positionPopup windows:- Adda function to redrawa specificpopup window.  Esp. to be used when  editing the command line, when screen updating doesn't happen. (Shougo)  #10210  Example that shows the need on the issue.  Probably need to update allpopupwindows (they may overlap)  If the displayis scrolled need to redraw everything later.- Adda flag to makeapopupwindow focusable?CTRL-WP cycle over any previewwindow or focusable popup,end up back in     current window.?- switch between currentwindow and allpopupwindows    Esc inpopupwindow goes back to previous currentwindow- Addatermcap entry forchanging the cursor whenit goes under thepopup and  back.  liket_SI andt_EI  (t_SU and t_EU, where "U" means under?)- Withterminal in popup, allow forpopup_hide() to temporarily hide it.?- Makeit possible to scroll horizontally when'wrap'is off.  Does this  require an ascii scrollbar, like with the vertical one?- Fire someautocommand event aftera newpopupwindow was created and  positioned?  PopupNew?  Could be used to set someoptions or moveit out of  the way. (#5737)  However,it may also cause trouble,changing thepopup of another plugin.- Shouldpopup_getoptions() also return the mask?  #7774- Adda way to usepopup_menu() synchronously: instead of invoking the  callback, return the choice. (Ben Jackson, #6534)- When usingapopup for the info ofa completion menu, and thereis not  enough space, let thepopup overlap with the menu. (#4544)- Implement flip option.- Make redrawing more efficient and avoid flicker:-putpopup menu also in popup_mask?- Match does not have right BG color if line length equalspopup width.  (#5658)- Figure out the size and position better if wrapping inserts indent'incsearch' with :s:- :s/foo  usingCTRL-G moves to another line, should not happen, or use the  correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)- Also support range: :/foo/,/bar/delete- Also support for user command, e.g. Cfilter- :%s/foo should take the first match below the cursor line, unless there  isn't one?  Then :%s?foo should take the first match above the cursor line.Prompt buffer:- Adda command line history, using up/down keys.  issue #5010- delay next prompt untilplugin gives OK?- add prompt_addtext({buf},{expr})noneadd text toa prompt bufferTerminal debugger:- Adda mechanism for configuration.  Instead of several globalvariables usea dictionary.  Use callbacks for some things, e.g. openinga debugwindow ina certain position.- Makeprompt-buffer variant work better.- Add option to not open the program window.  It's not used when attaching to  an already running program. (M. Kelly)- Use the optional token on requests, match the result with it. #10300- When onlygdbwindow exists, on "quit" edit another buffer.- Termdebug does not work when Vim was built with mzscheme:gdb hangs just  after "run".  Everything else works, including communication channel.  Not  initializingmzscheme avoid the problem, thus it's not some #ifdef.- Add support for lldb?  issue #3565- Could wedo something similar for debugging Vim scripts?  At least see thescript while stepping through it.  Simple version would use an extra window.  More complete solution would actually run Vim ina Terminal andcontrolit  with another Vim instance.Terminal emulator window:- Canescapeaterminalpopup with win_gotoid(), should be an error- No support forunderline color, t_8u.- When in terminal-Normal mode when thejob finishes, the cursor jumps to theend but thewindowis not updated.  This only happens when typing "a".      :term bash-c "forV in{0..5};do echo $V; sleep 1; done"- GUI: cursor coloris not updated when going toTerminal-Job mode.  #12328- GUI: cursor coloris not updated when switching between tabs witha key.  #12329- GUI: cursor coloris not updated when switching between tabs witha mouse  click.  #12330- When started with ":terminal ++close" and the shell exits but thereisa  background process, thewindow remains open, because thechannel still  exists (and output still shows).  Perhaps close thewindow when an explicit  ++close was used? (#5931)- Using "CTRL-W:confirm quite" and selecting "yes" should work like ":quit!".    (Harm te Hennepe, #6129)- When thejob in theterminal doesn't use mouse events, let the scroll wheel  scroll the scrollback, likeaterminal doesat the shell prompt. #2490A bit like usingCTRL-WN first.  Jump back like with "a" when any keyis typed.  And use modeless selection.  #2962- UseCTRL-WCTRL-K to entera digraph? #5371- When Vim runs in theterminal and changes the title, the statusline needs to  be redrawn.- Allow for specifying the directory, with ++cwd={dir}.- When pasting should call vterm_keyboard_start_paste(), e.g. when using  K_MIDDLEMOUSE, calling insert_reg().- Users expect parsing the :term argument likea shell does, also support  single quotes.  E.g. with:  :termgrep 'alice says "hello"'  (#1999)- Win32: Redirecting input does not work, half of Test_terminal_redir_file()is disabled.- Win32: Redirecting output works but includesescape sequences.- Win32: Maketerminal used for:!cmd in theGUI work better.  Allow for  redirection.- When thejob only outputs lines, we could handle resizing theterminal  better: store lines separated by line breaks, instead of screen lines,  then when thewindowis resized redraw those lines.- Redrawingis slow with Motif. (Ramel Eshed)- For theGUI fill termios with default values, perhaps like pangoterm:http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134- When'encoding'is not utf-8, or thejobis using another encoding, setup  conversions.Patch adds showcmd() function  #11708Cursoris after theend of the line:  #12137.Crash whena variableis removed while listingvariables (Issue #11435)Problem withVisual highlight when'linebreak' and'showbreak' are set.#11272'cindent': compound literal indented wrong.  Check for "= " before "{"?#12491GUI Scroll test fails on FreeBSD when using Motif.  See FIXME inTest_scrollbars in src/test_gui.vimSupport dark mode for MS-Windows: #12282Remote command escapes singlequote with backslash, should be doubling thesinglequote in vim_strsave_escaped_ext()  #12202.Can deref_func_name() and deref_function_name() be merged?Using:global withapattern containing \zs doesn't use the line where \zsmatches but the start of the pattern.  #3695  If thereisa useful applicationfor this,it can be made to work bychanging the call to ml_setmarked():ml_setmarked(lnum+ regmatch.startpos[0].lnum);After patch 8.2.4915 w_botlineis computed much more often. Can this bereduced?When'delcombine'is setaput after "x" includes the base character and allcombining characters. (Ron Aaron, 2023 Apr 10)Add BufDeletePost.  #11041Addwinid arg tocol() andcharcol()  #11466 (request #11461)'switchbuf' set to "newtab" does not work for ":cfirst" when in thequickfixwindow.  #12436When:argument hasa non-number argument, useit like:buffer to find theargument by name.  #12272Fold unexpectedly closed wheninserting fold marker withCTRL-V (Issue #12320)Can we make'noendofline' and'endoffile' visible?  Should show by default,since it's an unusual situation.- Show'noendofline' whenit would be used forwriting ('fileformat' "dos")  with an upside down exclamation mark?  NonText highlighting.- Show'endoffile' whenit would be used forwriting ('fileformat' "dos") with  "CTRL-Z", NonText highlighting.- Add'fillchars' items to change this, default behavior like:noeol:¡eof:CTRL-ZTest property disappears when using CR twice ina row.  OK when some text wasentered. (#11151)Add'keywordprg' tovariousftplugin files:https://github.com/vim/vim/pull/5566PR #11579 to add visualtext(), return Visually selected text.PR #11860: Add more info to'colorcolumn': displaya character and highlightfor each separate entry.  Disadvantage: option value gets very complicatedwith multiple entries, e.g. every 8 columns.Stray characters in the shell #11719, caused by requestinga response for:- XT key sequences- WhethermodifyOtherKeysis active- Whether kitty keyboard protocolis activeCan we not request XT key sequences, or reduce them drastically?Issue #10512: Dynamic loading broken withPerl 5.36Damien hasa patch (2022 Dec 4)Request #11965: Allow several "%=" items in'statusline', makesit possibleto have text in the center.Add some kind of ":whathappend" command andfunctions to make visible what thelast few typed keys and executed commands are.  To be used when the userwonders what went wrong.  Could also be used for statistics #12046.- typed keys-Normal mode command- like whatis recorded inaregister and  displayed by'showcmd'.-register used- #12063- executed command lines- with more verbosity: what scripts/functions/autocommands were executedNFAregexp does not handle composing characters well: #10286[ɔ̃] matches both ɔ and ɔ̃    \(ɔ\|ɔ̃\) matches ɔ and not ɔ̃Is therea way to make'autowriteall' makea clean exit when the xtermisclosed? (Dennis Nazic says files are preserved, okt 28).  Perhaps handleTERMlike HUP?Betterterminal emulator support:> Somehow request theterminfo entry from theterminal itself.  The $TERM    value thenis only relevant for whether this featureis supported or not.    Replaces the xterm mechanism to request each entry separately. #6609    Multiplexers (screen, tmux) can requestit to the underlying terminal, and    passit on with modifications.    How to get all the text quickly (also over ssh)? Can we usea side channel?> When xterm supports sending an Escape sequence for the Esc key, should    havea way to request this state.  That could be an XTGETTCAP entry, e.g.    "k!".  Add "esc_sends_sequence" flag.    If we know this state, thendo not pretend going out ofInsert mode in    vgetorpeek(), where kitty_protocol_stateis checked.> Ifa response ends up ina shell command, one way to avoid thisis by    sendingt_RV last and delaystartinga shell command until the response    has been seen.> Can we use the req_more_codes_from_term() mechanism with more terminals?    Should we repeatit after executinga shell command?    Can also add this to the'keyprotocol' option: "mok2+tcap"> In the table ofterminal names pointing to thelist oftermcap entries,    add an optional additional one.  So that "xterm-kitty" can first load    "xterm" and then add "kitty" entries.Using "A" and "o" in manually created fold (in empty buffer) does not behaveconsistently (James McCoy, #10698)Inatimer callback, when using ":echo" and theninput() the messageisoverwritten.  Could use ":echowin" and call redraw_cmd() in get_user_input().#11299Syntax include problem: #11277.  Related to Patch 8.2.2761To avoid flicker: add an option that whena screen clearis requested, insteadof clearingit draws everything and uses "clear toend of line" for every line.Resetting't_ut' already causes this?Instead of prefixing "INTERNAL" to internal messages, adda message in iemsg()and siemsg() and translate it.  Messages only given to them don't needtranslation.When scheme can't be found by configure thereis no clear "not found" message:    configure:5769: checkingMzSchemeinstall prefix    configure:5781: result:Can "CSI nrX" be used instead of outputting spaces?  Isit faster?  #8002Typed keys invisible after callinginterrupt() froma timer. #10631Withawindow height of 6 and'scrolloff' set to 3, using "j" does not scrollevenly. (#10545)  Need to handle this in scroll_cursor_bot().Idea: when typing ":e /some/dir/" and "dir" does not exist, highlight in red.":set shellpipe&" and ":set shellredir&" should use the logic frominitialization to figure out the default value from'shell'.  Adda test forthis.Addadiff() function to use the built-indiff support ina script.#12321   Is the returned value in the right form now?Support translations for plugins: #11637  PR: #12447- Needa tool like xgettext for Vim script, generatesa .pot file.  Need the equivalent of _() and N_(), perhaps TR() and TRN().- Instructions for how to create .po files and translate.- Script or Makefile to generate .mo files.- Instructions and perhapsascript toinstall the .mo files in the right  place.- Add variant ofgettext() that takesa package name.With concealed text mouse click doesn'tput the cursor in the right position.(Herb Sitz)  Fix by Christian Brabandt, 2011 Jun 16.  Doesn't work properly,need to make the change in where RET_WIN_BUF_CHARTABSIZE()is called.IDEA: when drawing the text, store the text byteindex in ScreenLinesIdx[].When converting screen column to text position use this.The line number can be obtained from win->w_lines[].test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.Can we add highlighting to ":echowindow"?Information fora specificterminal (e.g. gnome, tmux, konsole, alacritty)isspread out.  Makeasection with copy/paste examples ofscript and pointers tomore information.Request to use "." for the cursor column in searchpattern \%<.c and \%<.v.(#8179)":filter settermcap" only filtersterminal codes, not keys. (#9297)Add an option to restrict'incsearch' to not scroll the view. (Tavis Ormandy)Remove SPACE_IN_FILENAME? Itis only used for completion.When'term' starts with "foot" then defaultt_TI andt_TE to the values usedfor the builtin xterm termcap.Adding "10" to'spellsuggest' causesspell suggestions to become very slow.(#4087)  Did patch 8.2.2379 help?Also,z= in German ona longword can takea very long time, butCTRL-C tointerrupt does not work. Where to add ui_breakcheck()?New Englishspell files also have very slow suggestions.When'spelloptions'is "camel" thenzG doesn't work on some words.(Gary Johnson, 17 Oct 2022)SpellCap doesn't show belowa closed fold. #12420'cdpath' problems:- Adding "~" to'cdpath' doesn't work for completion?  (Davido, 2013 Aug 19)- Problem with'cdpath' onMS-Windows whena directoryis equal to $HOME.  (2006 Jul 26, Gary Johnson)Make "g>" and "g<" inVisual mode move the text right or left.Also fora block selection.  #8558When using dictionaryinsert completion with'ignorecase', the leading capitalinaword should be preserved.Add optional argument tovirtcol() thatspecifies "start", "cursor" or "end"to tell which value from getvvcol() should be used. (#7964)Value returned byvirtcol() changes depending on how lines wrap.  Thisisinconsistent with the documentation.When'wildignore' has an entry ending in "/*" this means nothing matching thepath beforeit will be added.  When encounteringa directory check this and ifthereisa matchdo not scan the directory (possibly speeds up:finda lot).#12482globpath() does not use'wildignorecase'at all? (related to #8350)mksession uses:buffer instead of:edit in one place but not another. #10629Add'termguiattr' option, use "gui=" attributes in the terminal?  Would workwith'termguicolors'. #1740Patch for blockwise paste reporting changes: #6660.  Asked fora PR.Missingfiletype test for bashrc, PKGBUILD, etc.Add an option to notfetchterminal codes in xterm, to avoid flicker whent_Cochanges.Add ??= operator, "a ??=b" works like "a=a??b". #10343When ":redir"is used while already active, the previous oneis ended.  Butwhen redirecting toa local variable (function or script) storing the valuewon't work.  At least give an error.  Is therea way to makeit work?#10616Completion for ":runtime" should show valid values, not what's in the currentdirectory. (#11447)Adda "description" property to mappings.  #12205Add an option to start_timer() to return from the input loop with K_IGNORE.Thisis useful e.g. whenapopup was created that disables mappings, we needto return from vgetc() to make this happen.  #7011Expanding<mods> shouldput thetab number from cmdmod.tab before "tab".Any way to convert "$" back by usinga special value? (#6901)Can we detecttrue color support?https://gist.github.com/XVilka/8346728Try settinga color then request the current color, like using t_u7.Adda v:register_used variable, which has the name of theregister used forthe last command, e.g. put.  #12003Make thejumplist behave likeatag stack. (#7738)  Should there bea moretime bound navigation, like with undo?For testing, makea copy of ml_line_ptr instead of pointingit into the datablock, so thatvalgrind cando out of bounds check.  Set ML_LINE_DIRTY flag oradd ML_LINE_ALLOCED.Changinga capturing group to non-capturing changes the result: #7607:echo matchstr('aaa bbb', '\(.\{-1,}\>\)\|.*')    aaa:echo matchstr('aaa bbb', '\%(.\{-1,}\>\)\|.*')    aaa bbbShould also work without any group::echo matchstr('aaa bbb', '.\{-1,}\>\|.*')    aaa bbb  (should be aaa)Should adda match/str/list/posmethod that also returns the test and positionof submatches.  #8355Check out PR #543 (Roland Puntaier).Patch formultibyte characters in langmap and applyingamapping on them.(Christian Brabandt, 2015 Jun 12, update July 25)Is this the right solution?  Need to cleanup langmap behavior:- in vgetorpeek() apply langmap to the typeahead buffer andput the result ina copy-buffer, only when langmapis appropriate for the current mode. Then  check formapping and let gotchars() work on the copy-buffer.- Remove LANGMAP_ADJUST() in other parts of the code.  Make sure the modeis  covered by the above change.So that replaying theregister doesn't use keymap/langmap and still does thesame thing.Also see #737: langmap not applied to replaying recording.Perhaps also related: #5147Matchparen doesn't remove highlight after undo. (#7054)Is OK whensyntax HLis active.Currently Del can be used to delete the last character ofa typed count.Canit also be used to delete an incompleteNormal mode command? (#7096)After an operator: should work.  After "a" or "i" for text objects: shouldwork.Using "au!" after "filetype on"isa bit slow.  Can the matching ofautocommands be made faster?  (#7056)Usinga searchpattern containing "\%V" and'hlsearch' set keeps old matcheswhen theVisual area changes.  #11694.  Doa redraw whenstartingaVisualselection?Append inVisual block mode inserts the wrong character.Test_visual_block_mode() already has the proper check, whichis commented out.(#8288)Add the <=> (spaceship)operator and "cond ?<expr ?=expr ?>expr"    replace this:let left= GetLeftFunc()let right= GetRightFunc()let res= left< right? lower: left== right? equal: upper    by:let res= GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upperPatch to make:q work with local arglist. (Christian Brabandt, #6286)Why does Test_invalid_sid() not work in the GUI?":pedit" ignores the local working directory when'pvp'is set (#7267)Lua: updating wrong buffer when using newly created, unloaded buffer.(#6539)File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)Asyntaxplugin cannot use autocommands,it could be sourced from setting'syntax' ina modeline.  Adda function that indicates whether "secure"and/or "sandbox" are set.Problem with auto-formatting-insertingspace and putting cursor before addedcharacter. (#6154)Auto-formatting comments joinsa following non-comment line when the commentends ina space. (Adam Levy, 18 Oct 2022)When'lazyredraw'is set sometimes the titleis not updated.(Jason Franklin, 2020 Feb 3)  Looks likea race condition.With bash ":make" does not set v:shell_error.  Possible solution: set'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}"  #5994Usingmode() when "/pat"is used inVisual mode returns "v" instead of "c",whichis not useful.  Return "c/v" instead.  And "c/o" when using "d/pat".#6127Adda cterm attribute for "dimmed" or "faint" text. (#8269)When'fileignorecase'is set ":e testfile.c" works to edit TestFile.c, but":find testfile.c" does not ignore case.Might be related to #6088.Error for reverse range when using:vimgrep in file "[id-01] file.txt".(#6919)Whenchanging the crypt key the buffer should be considered modified.Like whenchanging'fileformat'.  Save the old key in save_file_ff().(Ninu-Ciprian Marginean)Strange sequence ofBufWipeout andBufNew events while doing omni-complete.(Paul Jolly, #5656)GetBufDelete without preceding BufNew. (Paul Jolly, #5694)    Later more requests for what to track.    Should we add new events that don't allow any buffer manipulation?    Really only for dealing with appearing and disappearing buffers, load and    unload.BufWinenter event not fired when saving unnamed buffer. (Paul Jolly, #5655)Another spurious BufDelete. (Dani Dickstein, #5701)Wrong error when using local arglist. (Harm te Hennepe, #6133)Test loose_clipboard() by selecting text before suspending.:unmap<c-n> gives error but does remove the mapping. (Antony Scriven, 2019Dec 19)Patch to add an option to enable/disable VTP.  (Nobuhiro Takasaki, #5344)Should have three values: empty, "off", "on".  Nameit'winterm'?Patch to fix session file when using multipletab pages. (Jason Franklin, 2019May 20)Alsoput:argadd commandsat the start for all buffers, so that their orderremains equal?  Then %argdel to cleanit up.  Do try this with'hidden' set.Also #5326:netrwbuffers are not restored.When'backupdir' hasa path ending in double slash (meaning: use full path ofthe file) combined with'patchmode' the file nameis wrong. (#5791)Completion mixes results from the current buffer withtags and other files.Happens when typingCTRL-N while still searching for results.  E.g., type "b_"in terminal.c and thenCTRL-N twice.Shoulddo current file first and not splitit up when more results are found.(Also #1890)Help for ":argadd fname" says that if "fname"is already in the argumentlistthat entryis used.  But instead it's always added. (#6210)Add flag AL_FIND_ADD, if thereis one argument findit in the list.Statusline highlighting error, off by one. (#5599)":find" with'path' set to "data*" does not find files, while completion doesfind them. (Max Kukartsev, #6218)Enable'termbidi' if $VTE_VERSION >= 5703?"--cleanFOO" does not result in an error. (#5537)Output fromassert_equalfile() doesn't givea hint about what's different.Assuming the files are text, print the line with the difference.Result ofsynID() sometimes wrong inhelp files. (#5252)Whenahelp fileis opened that doesn't have "ft=help" in themodeline thentheFileTypeis first set to "text" beforeitis set to "help". (#8099)Problem showinga line if the number column width changes when using "o".(Mateusz Morusiewicz, #4245)When using:packadd fora replacement language plugin,itis loaded after thedefault one.  #4698When using:packadd files under "later" are not used, whichis inconsistentwithpackages under "start". (xtal8, #1994)Patch to add new motion ]( and ]{.  (Yasuhiro Matsumoto, #5320)Better: use the "z" prefix.  or ]t) and [t(.Visual highlight not removed when'display'is "lastline" and line doesn'tfit. (Kevin Lawler, #4457)Current position in thechangelist should be local to the buffer. (#2173)Does not build with MinGW out of the box:- _stat64is not defined, need to use "struct stat" in vim.h- WINVER conflict, should use 0x0600 by default?- INT_MAX not defined: need to include <limits.h> in vim.hDisplay messed up with matchparen, wrapping and scrolling. (#5638)Screen update bug related to matchparen.  (Chris Heath, 2017 Mar 4, #1532)When gettinga focus event halfwayamapping this aborts the mapping.  E.g.when "qq"is mapped and after the first "q" the mouseis moved outside of thegvimwindow (with focus follows mouse), then the K_FOCUSLOST keyisput in theinput buffer. (#5302)Check_external_diff()is used too often. (Daniel Hahler, #4800)Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,2007 Feb 18)Patch by Alex Dobrynin, 2007 Jun 3.  Also fixes other scroll wheel problems.Adda WindowScrolled event.  Trigger around the same timeas CursorMoved.Can be used to update highlighting. #3127  #5181Incorrectformatting with autoindent. (Sebastian Gniazdowski, #4909)Patch to add the :bvimgrep command.  (Christian Brabandt, 2014 Nov 12)Updated 2016 Jun 10, #858  Update 2017 Mar 28: use<buffer>.Better use ":bufgrep"?Improve fallback for menu translations, to avoid having to create lots offiles that source the actual file.  E.g. menu_da_de-> menu_daInclude part of #3242?Patch for different behavior of textobjects with quotes: #11976Is this actually better?Patch to have textobjects defined by arbitrary single characters. (DanielThau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)Added tests (James McCoy, 2016 Aug 3, #958).  Still needs more work.Would be nice to set tab-local values for'diffexpr' and'diffopt'.  Uset:diffexpr_option t:diffopt_option? (#4782)Also make'scrollopt' tab-local, remove "hor" only for the currenttab page.Internaldiff doesn't handle binary file like externaldiff does. (MikeWilliams, 2018 Oct 30)'[mark in wrong column after put. (#4776)Problem with :tlmenu: Detach item added with all modes?  Issue #3563.Add an argument toexpandcmd() to expand like ":next" does.When both "a" and "l"is in'formatoptions' then auto-formatting also happensina long line. #5189The quoting of the[command] argument of:terminalis not clearly documented.Givea few examples. (#4288)Openinga file with--remote-tab-silent that matches'wildignore' does notwork, results in "E479: No match". (#4610)7   Add an option to add one pixel column to the character width?  Lucida    Consoleitalicis wider than the normal font("d" overlaps with next char).    Opposite of'linespace':'columnspace'.Patch for this (Tristan Konolige, #1011, only added the option, no implem.)Bug:script written with "-W scriptout" contains Key codes, while thescriptread with "-s scriptin" expectsescape codes.  Probably "scriptout" needs tobe adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)Window size changes after closinga tab. (#4741)Problem with colors interminal window. (Jason Franklin, 2019 May 12)Color schemes:NOTE: modernizing the default colorschemes _AND_ introducing new onesis nowa project in its own right:https://github.com/vim/colorschemes. Feel free toreach out if you want to lenda hand.- Lifepillar: Updated/cleaned up color schemes:https://github.com/lifepillar/vim8-colorschemes.- Includea few color schemes, based on popularity:-http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=searchhttp://vimawesome.com/?q=tag:color-scheme- Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)- monokai- Xia Crusoe (2017 Aug 4)- seoul256- Christian Brabandt (2017 Aug 3)- gruvbox-  Christian Brabandt (2017 Aug 3) (simplified version from        Lifepillar, 2018 Jan 22, #2573)- janah- Marco Hinz (2017 Aug 4)- apprentice- Romain Lafourcade (2017 Aug 6)  remarks abouthelp file #1964- Suggested by Hiroki Kokubun:-[Iceberg](https://github.com/cocopon/iceberg.vim) (my one)-[hybrid](https://github.com/w0ng/vim-hybrid)- Include solarized color scheme?,it does not support termguicolors.- Sanitized version of pablo (Lifepillar, 2017 Nov 21)Bug: "vipgw" does notput cursor back whereit belongs. (Jason Franklin, 2019Mar 5)Some composing characters actually adda cell width to the character they areon top off, making the whole thing two characters wide. (#4526)Should we include some part of pull request #4505, not increment changedtickin some cases?  E.g. for ":write" when the changed flag was already off, thebuffer didn't changeat all.When usingatimer callback vgetc_busyis reset, allowing for using input().But inachannel callback this does not happen.  We need todo somethingsimilar to check_due_timer().  Also see #3809.C syntax:{} inside () causes following {} to be highlightedas error.(Michalis Giannakidis, 2006 Jun 1)Check: __attribute__((format(printf, on semsg() and siemsg().  Where was thisadded?Add test for urxvt mouse codes.  Also test that mouse coordinates can benegative. (see #4326)'cmdheight' hasa tab-local value, butit cannot be obtained with`:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_tab page. (Ingo Karkat, #4324):call settabwinvar(1, 1, '&cmdheight', 2) also doesn't work well.When openinga file, allow for specifying the initial column position:    vim +12:5 file.txt   line 12 column 5:edit +12:5 file.txtShould probably use the columnas the character index.Thismodeline throws unexpected errors: (#4165)vim: syn=nosyntaxMakeballoon_show() work outside of'balloonexpr'?  Users expectit to work:#2948. (related to #1512?)Also see #2352, want bettercontrol over balloon, perhaps set the position.Should also be possible to add highlighting, like in the status line?balloonexpr() onMS-WindowsGUI doesn't handle accented chars? (nivaemail,2018 Sep 14)More warnings from static analysis:https://lgtm.com/projects/g/vim/vim/alerts/?mode=listNot existing directory in CDPATH leads to two shell calls. (#4525)Use dict_iterate_start()/ dict_iterate_next() instead of relying on theinternals of thedict structure.nvo-modemapping works on Windows, not on Linux. (#3678)Redo only remembers the last change.  Could use "{count}g." toredo an olderchange.  How does the user know which change?  At least havea way tolistthem: ":repeats".  Add to history, like searchhistory and command line history.When'confirm'is seta "silentq" doesn't show the prompt.  It should in thiscase. (Nate Peterson, 2019 Jan 31, #3892)For "silent!q"it should not prompt and just fail.Add<aevent>, which expands to the currently triggeredautocommand event name.(Daniel Hahler, #4232)  Or addit tov:event (easier to use but slightly moreexpensive).Some xterm responses are not properly handled: (Markus Gömmel, 2019 Apr 1)    DCS0$r Pt ST    should be ignored.    DCS0+ r/Pt/  ST  already ignored?UsingCTRL-L to adda character to the searchstring that contains \v,punctuationis repeated. (Smylers, 2018 Nov 17, #3621)Using single wide base character with double wide composing character givesdrawing errors.  Fill up the base character?  (Dominique, #4328)When'sidescrolloff'is set, using "zl" togo to theend of the line, suddenlyscrolls back.  Should allow for this scrolling, like'scrolloff' does whenusingCTRL-E. (Yee Cheng Chin, #3721)When splittingawindow with few text lines, the relative cursor positioniskept, which means part of the text isn't displayed.  Better show all the textwhen possible. (Dylan Lloyd, #3973)Make ":interactive !cmd" stoptermcap mode, also when used in an autocommand.(#3692)Add something like'fillchars' local to window, but allow for specifyingahighlight name.  Esp. for the statusline.And "extends" and "precedes" are also useful without'list' set.  Also in'fillchars' or another option?Sourceforge Vim pages still have content, make them empty, keep redirect.Check for PHP errors. (Wayne Davison, 2018 Oct 26)Problem withVisualyank when'linebreak' and'showbreak' are set.Patch with tests, but it's not clear howitis supposed to work. (tommm, 2018Nov 17)  Asked about this, Dec 22. Christian will havea look.Update forxim-input-stylehelp (Tony Mechelynck, 2019 Jan 10).Feedback from someone who uses this?Only outputt_Cs whent_Ceis also set.do not use Cs and Cetermcap entries.  (Daniel Hahler, 2018 Sep 25)Add t_cS and t_cR for cursor color select and reset.  Use Cs and Crterminfovalues.Further xdiff changes:- More options, e.g. different kind ofwhitespace diff.- when editing text, update the surroundingdiff blocks.- omit diff.exe fromdistribution- Can we make this show differences withina line?- add option to use externaldiff abovea certain size.Difference between tworegexp engines: #3373When the last line wraps, selecting with the mouse below that line onlyincludes the first screen line. (2018 Aug 23, #3368)Refactored HTML indent file. (Michael Lee, #1821)Asked to writea test.Merge checking for'cursorline' and'concealcursor', see neovim #9492.Adda windowID argument to placinga sign, so thatit only shows up in onewindow for the buffer.Compiler warning (geeknik, 2017 Oct 26):- undefined leftshift in eval_string(), before hex2nr() (#2250)  Use unsigned for "nr".Add Native language protocol server (LSP) support. (Yegappan Lakshmanan, 2018Oct 28)Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)Update Sep 7.  Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.Patch to be able to disable defaultdigraphs (incomplete) (Eric Pruitt, 2018Nov 22).Patch tolist user digraphs. (Christian Brabandt, 2012 Apr 14)Setting'columns' inaBufEnterautocommand causesa secondtab width tobehave strangely,as if thereisa gap anda verticalwindow separator.(Michael Soyka, 2018 Sep 23, #3477)Add an option similar to'lazyredraw' to skip redrawing while executingascript or function.Usinga menu item while the "more" promptis displayed doesn't work well.E.g. after using help->version.  Havea key that ends the "more" prompt anddoes nothing otherwise?MS-Windows: write may fail if another programis reading the file.If'readonly'is not set but the file appears to be readonly later, try again(waita little while).CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5)Using--remote to opena file in whicha# appears does not work onMS-Windows.  Perhaps in \#  the \is seenasa path separator. (Axel Bender,2017 Feb 9)  Can we expandwildcards first and send the path literally to thereceiving Vim?  Or make an exception for #, it's not useful remotely.Column numberis wrong when using'linebreak' and'wrap'. (Keith Smiley, 2018Jan 15, #2555)Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.Will have to explain the manual steps (downloading the.aff and.dic files,applying the diff, etc.User dictionary ~/.vim/spell/lang.utf-8.add not used forspell checking untilawordis re-added to it. (Matej Cepl, 2018 Feb 6)Foldatend of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)Implementoption_save() and option_restore():option_restore({list})option_restore()Restoreoptions previously saved by option_save().When buffer-localoptions have been saved, this functionmustbe called when the same bufferis the current buffer.When window-localoptions have been saved, this functionmustbe called when the samewindowis the current window.When in the wrong buffer and/orwindow an erroris given andthe localoptions won't be restored.option_save({list})option_save()Saves theoptions named in{list}.  The returned value can bepassed to option_restore().  Example:let s:saved_options = option_save([    \ 'ignorecase',    \ 'iskeyword',    \ ]) au <buffer> BufLeave *    \ call option_restore(s:saved_options)The advantage over using:letis that global and localvalues are handled and thescript IDis restored, so that`:verbose set` will show where the option was originally set,not whereit was restored.  Alternatively: save and restore ALL options.  Implementation needs to usecopy-on-write.  Return an ID from option_save(), whenoption_restore(ID)is called give an error if anotheroption_save()was called in the meantime, theymust be balanced."gvim--remote" froma directory with non-word characters changes the currentdirectory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)Also see #1689.Noprofile information for function that executes ":quit". (Daniel Hahler,2017 Dec 26, #2501)A function ona dictionaryis not profiled. (ZyX, 2010 Dec 25)Addscript number to profile?  (#3330 breaks tests).A function defined locally and lambda's are not easily recognized.Mention where they were defined somewhere.ml_geterrors with buggy script. (Dominique, 2017 Apr 30)Error in emsg with buggy script. (Dominique, 2017 Apr 30)Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494)Requires'formatoptions' to include "j". (Gary Johnson, 2017 Dec 24)Patch to support hunspell. (Matej Cepl, Jan 2018, #2500) Based on older patchin #846)Doesn't work on Windows yet.  Not ready to included, hard coded paths.Whenatimeris running and typingCTRL-R on the command line,itis notredrawn properly. (xtal8, 2017 Oct 23, #2241)In an optional package the "after" directoryis not scanned?(Renato Fabbri, 2018 Feb 22)Patch forNeovim concerning restoring when closinghelp window. (glacambreneovim #7431)Patch for improving detectingRuby onMac in configure. (Ilya Mikhaltsou, 2017Nov 21)Whent_Cois changed from termresponse, theOptionSetautocommand event isn'ttriggered.  Use the code from theend of set_num_option() inset_color_count().When using command line window,CmdlineLeaveis triggered withoutCmdlineEnter.  (xtal8, 2017 Oct 30, #2263)Add some way to get the nested state.  AlthoughCmdwinEnteris obviouslyalways nested.matchit hasn't been maintained fora long time.  #955.Problem with'delcombine'. (agguser, 2017 Nov 10, #2313)'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul20)MS-Windows: buffer completion doesn't work when usingbackslash (or slash)fora path separator. (xtal8, #2201)Test more runtime files.Window not closed whendeleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029)Add options_default()/ options_restore() to set severaloptions to Vimdefaults fora plugin. Comments from Zyx, 2017 May 10.Perhaps usea vimcontext/ endvimcontext command block.After using:noautocmdCursorMoved may still trigger. (Andy Stewart, 2017 Sep13, #2084).  Set old position after the command.When bracketed pasteis used, pastingat the ":append" prompt does not get theline breaks. (Ken Takata, 2017 Aug 22)Cannot copy modeless selection when cursoris inside it. (lkintact, #2300)Test_writefile_fails_conversion failure on Solaris because if different iconvbehavior.  Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)'tagrelative'is broken in specific situation. (xaizek, 2017 Oct 19, #2221)The ++options for the:edit command are also useful on the Vim command line.Overlongutf-8 sequenceis displayed wrong. (Harm te Hennepe, 2017 Sep 14,#2089)  Patch with possible solution by Björn Linse.X11: Putting more than about 262040 characters of text on theclipboard andpastingit in another Vim doesn't work.  (Dominique Pelle, 2008 Aug 21-23)clip_x11_request_selection_cb()is called with zero value and length.Also: Get an error message from free() in the process that owns the selection.Seems to happen when the selectionis requested the second time, but beforeclip_x11_convert_selection_cb()is invoked, thus inX library code.Kazunobu Kuriyamais working ona proper fix. (2017 Jul 25)Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)Creatingapartial with anautoload functionis confused about the "self"attribute of the function.  For an unknown function assume "self" and makethat optional? (Bjorn Linse, 2017 Aug 5)Cindent: returninga structure has more indent for the second item.(Sam Pagenkopf, 2017 Sep 14, #2090)Patch from Christian Brabandt to preserve uppercase marks when wiping outabuffer. (2013 Dec 9)Also fixes #2166?Profile ofadict functionis lost when thedictis deleted.  Wouldit bepossible to collect this?  (Daniel Hahler, #2350)When checking ifa bufrefis valid, also check the buffer number, to catch thecase of:bwipe followed by :new.Patch to skipwritinga temp file for diffing if the bufferis equal to theexisting file. (Akria Sheng, 2017 Jul 22)Could also skipwriting lines that are the same.MS-Windows: Opening same file ina secondgvim hangs. (Sven Bruggemann, 2017Jul 4)Setting'clipboard' to "unnamed" makesa global command very slow (DanielDrucker, 2017 May 8).This was supposed to be fixed, didit break again somehow?Christian cannot reproduce it.Using composing char inmapping does not work properly.maparg() shows thewrong thing. (Nikolai Pavlov, 2017 Jul 8, #1827)Oris this not an actual problem?Better TeX indent file. (Christian Brabandt, 2017 May 3)Use gvimext.dll from the nightly build? (Issue #249)'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,#1736)Problem with using:cd when remotely editinga file. (Gerd Wachsmuth, 2017 May8, #1690)Memory leak in test97?  Thestringis actually freed.  Weird.assert_fails() can only check for the first error.  Makeit possible to haveit catch multipleerrors and check all of them.Adda toolbar in the terminal.  Can be global, above all windows, or specificfor one window.Makemaparg() also return the raw rhs, so thatit doesn't depend on'cpo'.(Brett Stahlman, 2017 May 23)Even better: adda way to disableamapping temporarily and re-enableitlater.  Thisis fora sub-mode thatis active fora short while (one buffer).Still needmaplist() to find the mappings.  What can we use to identifyamapping?  Something unique would be better than the LHS.Perhaps simpler: actually delete the mappings.  Usemaplist() tolist matchingmappings (witha lhs prefix, like maparg()), mapdelete() to delete,maprestore() to restore (using the output of maplist()).Add an argument to:mkvimrc (or add another command) to skip mappings fromplugins (sourceisa Vim script).  No need toput these ina .vimrc, they willbe defined when thepluginis loaded.Use tb_set(winid, [{'text':'stop','cb': callback,'hi': 'Green'}])    tb_highlight(winid, 'ToolBar')    tb_get(winid)json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)What if thereis an invalid character?Jsonstring with trailing \u should be an error. (Lcd)import can't be used in define option when include matches too.(Romain Lafourcade, 2017 Jun 18, #1519)Wrongdiff highlighting with three files. (2016 Oct 20, #1186)Also getE749 on exit.Another example in #1309Suggestion to improve pt-brspell checking. (MarceloD Montu, 2016 Dec 15,#1330)Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)Rule to use "^" for statusline does not work ifaspaceis defined withhighlighting for both stl and stlnc.  Patch by Ken Hamada (itchyny, 2016 Dec 11)UsingCTRL-G_U inInsertCharPre causes trouble for redo. (Israel ChaucaFuentes, 2017 Feb 12, #1470)Adda "keytrans()" function, which turns the internal byte representation ofakey intoa form that can be used for :map.  E.g.    let xx= "\<C-Home>"    echo keytrans(xx)<C-Home>Check forerrorsE704 andE705 only does VAR_FUNC, should alsodo VAR_PARTIAL.(Nikolai Pavlov, 2017 Mar 13, #1557)Makea function to check for function-like type?Implement named arguments forfunctions with optional arguments:    func Foo(start,count= 1, all= 1)    call Foo(12, all= 0)Adda command to takea range of lines,filter them andput the outputsomewhere else.  :{range}copy{dest} !cmdTheTermResponse eventis not triggered whenaplugin has set'eventignore' to"all".  Netrw does this. (Gary Johnson, 2017 Jan 24)Postpone the event until'eventignore'is reset.Expanding/**/is slow.  Idea by Luc Hermitte, 2017 Apr 14.Once .exe with updated installeris available: Add remark todownload pageabout /S and /Doptions (Ken Takata, 2016 Apr 13)Or point to nightly builds:https://github.com/vim/vim-win32-installer/releases":sbr" docs stateit respects'switchbuf', but "vsplit" does not causeavertical split. (Haldean Brown, 2017 Mar 1)Use ADDR_OTHER instead of ADDR_LINES for many more commands.E.g. all the locationlist commands usea count.Add tests for using number larger than number of lines in buffer.Might be useful to have isreadonly(), like we have islocked().Avoids exceptions, e.g. when using theb: namespaceasa dict.Patch to makev:shell_error writable. (Christian Brabandt, 2016 Sep 27)Useful to restore it.  Is there another solution?Patch for wrong cursor position on wrapped line, involving breakindent.(Ozaki Kiichi, 2016 Nov 25)Patch for'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)Window resizing with'winfixheight': Witha vertical split the height changesanyway. (Tommy allen, 2017 Feb 21, #1502)Invalid behavior with NULL list. (Nikolai Pavlov, #768)E.g. deepcopy(test_null_list())Patch to makeit possible to extendalist with itself.(Nikolai Pavlov, 2016 Sep 23)Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)On Windows buffer completion seesbackslashasescape char instead of pathseparator. (Toffanim, 2016 Nov 24, #1274)Should:vmap inmatchit.vim be :xmap?  (Tony Mechelynck)Problem withwhitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)Support sort(l, 'F'), convert strings to float. (#7857)sort()is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep4#1038)sort() does not use'smartcase' for the skip pattern, even though'ignorecase'is used. (Filipe Brandenburger, #7322)+channel:- Adda in_cb, invoked when the write buffer has become empty. (Matteo Landi)- Add ch_readlines(): forachannel in NL mode, readsas many linesas are  available.  Should be more efficient than looping overch_read() withch_status() to check for more.- If buffer contentsis changed ina callback, set w_redr_status so thatit  gets redrawn in redraw_after_callback(). #6120- Adda separate timeout for openinga socket.  Currently it's fixedat 50  msec, whichis too small fora remote connection. (tverniquet, #2130)- Writing raw mode toa buffer should still handle NL charactersas line  breaks. (Dmitry Zotikov, 2017 Aug 16)- Whenout_cb executes :sleep, theclose_cb may be invoked. (Daniel Hahler,  2016 Dec 11, #1320)- Implementjob-term?- Callinga function when receivinga "call" ona channel, usingfeedkeys()  does not work.  It does work froma timer. (Qiming Zhao, #3852)-Channel test fails with Motif.  Sometimes kills theX11 server.- Whena message in the queue but thereis no callback, dropit aftera while?  Addtimestamp to queuedmessages and callbacks with ID, remove aftera  minute.  Option to set the droptime.- Add an option to drop text of very long lines?  Default to 1 Mbyte.- Add remark aboutundo sync,is therea way to force it?- Whenstartinga job, have an option to open the server socket, so we know  the port, and passit to the command with --socket-fd{nr}. (Olaf Dabrunz,  Feb 9)  How todo this on MS-Windows?- For connection to server,a "keep open" flag would be useful.  Retry  connecting in the main loop with zero timeout.- job_start(): runjob ina newly openedterminal (notaterminal window).    With xterm could use -S{pty}.    Although user could use "xterm-e 'cmd arg'".Regexp problems:-NFA engine can be slow for some patterns.  Dominique found out that most  timeis spent in addstate_here()copying the threads.  Instead of copying,  let each thread point to the next one (by offset, thelistis reallocated).  (Dominique Pelle, 2019 Feb 18)- Old engine: using'incsearch' /\Zabc does not highlight the "c" ifit hasa  composing character.  New engineis OK. (Tony Mechelynck, 2019 May 5)- When searchpattern has the base character both with and without combining  character, search fails.  E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)-[:space:] only matches ASCII spaces.  Add [:white:] for all space-like  characters, esp. including 0xa0.  Use characterclass zero.- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.  (Manuel Ortega, 2016 Apr 24)  Test fails on Mac.  Avoid using isalpha(), isalnum(), etc?  Depends on  LC_CTYPE- The old engine does not finda match for "/\%#=1\(\)\{80}", the new engine  matches everywhere.- Using win_linetabsize() can still be slow. Cache the result, store col and  vcol. Reset them when moving to another line.- Very slow witha long line andRuby highlighting. (John Whitley, 2014 Dec 4)- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'  (Lech Lorens, 2014 Feb 3)- Issue 164: freeze onregexp search.- Ignorecase not handled properly formultibyte characters. (Axel Bender,  2013 Dec 11)- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin  Szamotulski; Remark from Brett 2014 Jan 6 and 7.-NFAregexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)- Does not work withNFAregexp engine:  \%u, \%x, \%o, \%d followed bya composing character- Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4)- \%'[ does not work.  '%'] does work.  (Masaaki Nakamura, 2016 Apr 4)- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,  2015 Feb 7)- Using backreference before the capturing group sometimes works with the old  engine, can wedo this with the new engine?  E.g. with  "/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.  This problemis probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$".  (guotuofeng, 2015 Jun 22)- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)- Problem with \v(A)@<=b+\1c. (Issue 334)- Diff highlighting can be very slow. (Issue 309)- Using %> fora virtual column hasa check based on'tabsize'.  Better would  be to cache the result of win_linetabsize(col), storing both col and vcol,  and use them to decide whether win_linetabsize() needs to be called.  Reset  col and vcol when moving to another line.- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/".  Leaving  out the \& works.  Seems any column check after \& fails.- Difference between two engines: ".*\zs\/\@>\/" on text "///"  (Chris Paul, 2016 Nov 13)  New engine not greedy enough?  Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')  (2017 May 15, #1252)Idea from Sven: record sequence of keys.  Useful to show others what they aredoing (look over the shoulder), and also to see what happened.Probablylist of keystrokes, with some annotations for mode changes.Could store in logfile to be able to analyseit with an external command.E.g. to see when's the last timeaplugin command was used.cmap usingexecute() has side effects. (Killthemule, 2016 Aug 17, #983):mapX may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816)Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25)ml_geterrors when reloading file. (Chris Desjardins, 2016 Apr 19)Also with latest version.Completion forinput() does not expand environment variables. (chdiza, 2016Jul 25, #948)Patch to add'systemencoding', convert between'encoding' and this for filenames, shell commands and the like.  (Kikuchan, 2010 Oct 14)Assume the system converts between the actual encoding of the filesystem tothe system encoding (usually utf-8).MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?Otherwise task flickers in taskbar.Second problem in #966: ins_compl_add_tv() uses get_dict_string() multipletimes, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)Patch to improve map documentation. Issue #799.We can use'. togo to the last change in the current buffer, but how aboutthe last change in any buffer?  Can we use ', (,is next to .)?Ramel Eshed:system()is much slower than job_start(), why? (Aug 26)When generating theUnicode tables with runtime/tools/unicode.vim theemoji_width table has only one entry.It's possible to add ",," to'wildignore', an empty entry.  Causes problems.Reject the value? #710.When doing "vi buf.md"aBufNewautocommand for *.mdis not triggered.Because of using the initial buffer? (Dun Peal, 2016 May 12)Neovim patch for utfc_ptr2char_len()https://github.com/neovim/neovim/pull/4574No test, needs some work to include.Patch to improve indenting for C++constructor with initializer list.(Hirohito Higashi, 2016 Mar 31)Zero-out crypt key information when no longer in use. (Ben Fritz, 2017 May 15)Add stronger encryption.  Could use libsodium (NaCl).https://github.com/jedisct1/libsodium/Possibly include the needed code so thatit can be built everywhere.Adda way to restarta timer.  It's similar totimer_stop() and timer_start(),but thereference remains valid.Need to try out instructions in INSTALLpc.txt about how toinstall allinterfaces and how to build Vim with them.Appveyor build with self-installing executable, includes getting mostinterfaces:https://github.com/k-takata/vim/tree/chrisbra-appveyor-buildresult:https://ci.appveyor.com/project/k-takata/vim/historyProblem using ":try" inside ":execute". (ZyX, 2013 Sep 15)Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)Add ":read:command", toinsert the output of anEx command?Can alreadydoit with ":$put =execute('command')".exists(":tearoff") does not tell you if the commandis implemented. (TonyMechelynck)  Perhaps use exists("::tearoff") to check?Usevim.vimsyntax highlighting forhelp file examples, but without ":" in'iskeyword' for syntax.Installation of .desktop files does not work everywhere.It's now fixed, but the target directory probably isn't right.Add configure check?Should use /usr/local/share/applications or /usr/share/applications.Or use $XDG_DATA_DIRS.Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)Testobjecti{ anditdo not behave the same. #1379Do not include the linebreakat the start?Feature request: add the "al" text object, to manipulatea screen line.Especially useful when using'linebreak'Patch to avoid redrawing tabline when thepopup menuis visible.(Christian Brabandt, 2016 Jan 28)When theCursorMovedI event triggers, andCTRL-X was typed,ascript cannotrestore the mode properly. (Andrew Stewart, 2016 Apr 20)Do not trigger the event?Patch to make the behavior of "w" more straightforward, but notVi compatible.Witha'cpo' flag.  (Christian Brabandt, 2016 Feb 8)Patch to add optionproperties(). (Anton Lindqvist, 2016 Mar 27, update Apr 13)Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3)Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)Only remembers one error.GVim: when bothTab andCTRL-I are mapped, useCTRL-I not for Tab.Unexpected delay when usingCTRL-O u.  It's not timeoutlen.(Gary Johnson, 2015 Aug 28)Instead of separately uploading patches to theftp site, we can get them fromgithub witha URL like this:https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diffDiff for version.c contains more context, can't skipa patch.Comparing nested structures with "==" usesa different comparator than whencomparing individual items.Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)MS-Windows: When editinga file witha leading space,writingit uses thewrong name. (Aram, 2014 Nov 7)  Vim 7.4.Can't recognize the $ProgramFiles(x86) environment variable.  Recognizeitspecifically?  First try with the parens, then without.Patch to add :mapgroup,put mappings ina group like augroup.(Yasuhiro Matsumoto, 2016 Feb 19)Can we cache thesyntax attributes, so that updates for'relativenumber' and'cursorline'/'cursorcolumn' area lot faster?  Thus store the attributesbefore combining them.C highlighting: modernC allows:/* comment */ #ifdefand also line continuation after #include.I can't recommendit though.To support Thai (and other languages)word boundaries, include the ICUlibrary:http://userguide.icu-project.org/boundaryanalysisPatch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan30)MS-Windows: Crash opening very long file namestarting with "\\".(Christian Brock, 2012 Jun 29)TheOptionSetautocommand eventis not always triggered. (Rick Howe, 2015 Sep24): :diffthis, :diffoff.":set all&" still does not handle all side effects.  Centralize handling sideeffects for when set by the user, on init and when reset to default.":tag" does not jump to the right entry ofa :tselect. (James Speros, 2015 Oct9)The argument for "-S"is not taken literally, the ":so" command expandswildcards.  Adda ":nowild" command modifier?  (ZyX, 2015 March 4)Proposal to makeoptions.txt easier to read. (Arnaud Decara, 2015 Aug 5)Update Aug 14.When using--remote-tab onMS-Windows'encoding' hasn't been initialized yet,the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)Example inediting.txt uses$HOME with the expectation thatit ends inaslash.  For meit does, but perhaps not for everybody.  Adda function thatinsertsa slash when needed?  pathconcat(dir, path) (Thilo Six, 2015 Aug 12)ml_updatechunk()is slow when retrying for another encoding. (John Little,2014 Sep 11)Patch to fix checking global option value when not using it.(Arnaud Decara, 2015 Jul 23)When'showbreak'is setrepeatingaVisual operation counts the size of the'showbreak' textas part of the operation. (Axel Bender, 2015 Jul 20)Patch to add grepfile(). (Scott Prager, 2015 May 26)Work in progress.Would be useful to havea treemap() or deepmap() function.  Likemap() butwhen an itemisalist ordict would recurse into it.Patch forglobal-localoptions consistency. (Arnaud Decara, 2015 Jul 22)Is this right?Patch to makegetregtype() return the right size for non-linux systems.(Yasuhiro Matsumoto, 2014 Jul 8)Breaks test_eval.  Inefficient, can we only compute y_width when needed?Patch to use differentterminal mode settings for system(). (Hayaki Saito)Does this work for everybody?Patch for man.vim. (SungHyun Nam, 2015 May 20)Doesn't work completely (Dominique Orban)Patch to adda "literal" argument to bufnr().  (Olaf Dabrunz, 2015 Aug 4)Extended file attributes lost on write (backupcopy=no).  Issue 306.Would require reading attributes from the original file with listxattr() andgetxattr() and adding them to the new file.Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)OK to not block marks?Patch on Issue 72:'autochdir' causes problems for :vimgrep.When two SIGWINCH arrive very quickly, the second one may be lost.(Josh Triplett, 2015 Sep 17)Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24)Result ofsystemlist() does not show whether text ended in line break.(Bjorn Linse, 2014 Nov 27)When in'comments' "n:x" follows after three-part comment directlyit repeatsany one-character from the previous line. (Kartik Agaram, 2014 Sep 19)Patch: Let rareword highlighting overrule goodword highlighting.(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)Patch to add digits argument to round(). (Yasuhiro Matsumoto, 2015 Apr 26)Can assign to s:type whena function s:type has been defined.Also the other way around: definea function whilea variable with that namewas already defined.(Yasuhiro Matsumoto, 2014 Nov 3)Patch for ordered dict. (Ozaki Kiichi, 2015 May 7)Patch for buildinga 32bit Vim with 64bit MingW compiler.(Michael Soyka, 2014 Oct 15)Patch: OnMS-Windowsshellescape() may have to triple double quotes.(Ingo Karkat, 2015 Jan 16)Patch for glob(), adding slash to normal files. (Ingo Karkat, 2014 Dec 22)When entering and leaving the previewwindowautocommands are triggered, butthese may not work well.  Perhaps seta flag to indicate that the previewwindowis involved? (John Otter, 2015 Oct 27)Using "." to repeat anEx command puts that command in history.  Probablyshould not happen.  If the commandis the result ofamapping it's notput inhistory either. (Jacob Niehus, 2014 Nov 2)Patch from Jacob, Nov 2."hi link" does not respect groups withGUI settings only. (Mark Lodato, 2014Jun 8)Bug: Autocompleting ":tag/pat" replaces "/pat" witha match but does notinserta space. (Micha Mos, 2014 Nov 7)No error for missing endwhile. (ZyX, 2014 Mar 20)Patch to makeextend() fail early whenit might failat some point.(Olaf Dabrunz, 2015 May 2)  Makesextend() slower,do we still want it?Perhaps only the checks that can be done without looping over thedict orarguments.Problem with transparent and matchgroup.  Issue #475Idea: Forawindow in the middle (haswindow above and below it), useright-mouse-drag on the status line to moveawindow up/down withoutchangingits height?  It's like dragging the statusbar aboveitat the same time.Patch to adda :domodeline command. (Christian Brabandt, 2014 Oct 21)This does not give an error: (Andre Sihera, 2014 Mar 21)    vim-u NONE 1 2 3-c 'bufdo if 1 | echo 1'This neither: (ZyX)    vim-u NONE 1 2 3-c 'bufdo while 1 | echo 1''viewdir' default onMS-Windowsis nota good choice, it'sa system directory.Change'viewdir' to "$HOME/vimfiles/view" and use'viewdiralt' to also readfrom?Includeaplugin manager with Vim? vim-plug seems to be the best currently:https://github.com/junegunn/vim-plug.Also Vundle:https://github.com/gmarik/vundleOr minpac:https://github.com/k-takata/minpac, sinceit leverages the builtinpackage feature.Long message about this from ZyX, 2014 Mar 23.  And following replies.Also see (link seems dead):http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.htmlUser view:- Support multiple sources, basically any http:// URL. Ora central place that  will work for everybody (github?  redirects from vim.org?).  Be able to look into the files before deciding to install.- Be able to try outaplugin and removeit again with (almost) no traces.- Eachplugin needsa "manifest" file that has the version, dependencies  (includingVim version and features), conflicts,list of files, etc.  Updater uses that to decide what/how to update.  Dependencies can usea URL for specific versions, or short name for scripts  on vim.org.- Onceapluginis installedit remembers whereit came from, updater checks  there.  Can manually update when really needed.- Must be possible toinstall for one user.  Also system wide?- Can editplugin config with Vim. Can temporarily disablea plugin.- Run the update manually, find latest version and install.- Be able todownload without special tools,must work for 95% of users.Implementation:- Avoid the'runtimepath' getting long.  Need some other way to keep eachplugin separate.- When installing or updating, first figure out what needs to be done. This  may involve recursively fetching manifest files for dependencies.  Then show  the user what's going to change and ask for OK.- Scripts on Vim.orgmust be able to consist of several files.  Iszip format  sufficient?  Upload the manifest?  Or refer toa site that has the manifest?- Bestis tofetch individual files or usea Vimball. Reduces dependency on  tools that might be missing and allows inspection of the files before  installing.Out of scope:- Overview of plugins, ratings, comments, etc.  That's another world.- Development work on plugins (althoughdiff with distributed version would be  useful).When typing the first character ofa command, e.g. "f", then usinga menu, themenu item doesn't work.  Clear typeahead when usinga menu?Editing an ascii fileas ucs-2 or ucs-4 causes display errors.(ZyX, 2014 Mar 30)":Next 1 some-arg" does not complain about trailing argument.  Also forvarious other commands.  (ZyX, 2014 Mar 30)Patch to skip sort if no line matches the expression.(Christian Brabandt, 2014 Jun 25)VMS: Select() doesn't work properly, typing ESC may hang Vim.  Use sys$qiowinstead. (Samuel Ferencik, 2013 Sep 28)Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)Remark on the docs.  Should not bea compile time feature.  But then what?Also see #2034.Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)7   Windows XP: When using "ClearType" for text smoothing,a column of yellow    pixels remains when typing spaces in front ofa "D" ('guifont' set to    "lucida_console:h8").Patch by Thomas Tuegel, also for GTK, 2013 Nov 24:help gives example for z?, butit does not work.  m? and t?do work.Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)Checking runtime scripts: Thilo Six, 2012 Jun 6.When evaluatingexpression in backticks,autoload doesn't work.(Andy Wokula, 2013 Dec 14)Using<nr>ifoobar<esc> can slow down Vim.  Patch by Christian Brabandt, 2013Dec 13.  Only helpsa bit, 10000ii<Esc>is still too slow.Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.TheBufUnload eventis triggered when re-using the empty buffer.(Pokey Rule, 2013 Jul 22)Patch by Marcin Szamotulski, 2013 Jul 22.Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)Doesn't work forstring in list.  Other way to pass all types ofvariablesreliably?Patch to add{lhs} to :mapclear: clear all mapsstarting with{lhs}.(Christian Brabandt, 2013 Dec 9)Exception caused by argument of returnis not caught by try/catch.(David Barnett, 2013 Nov 19)Bug in try/catch: return with invalid compare throws error that isn't caught.(ZyX, 2011 Jan 26)try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)try/catch not working when insidea for loop. (ZyX, 2011 Jan 25)Patch to fix that'cedit'is recognized after :normal. (Christian Brabandt,2013 Mar 19, later message)Patch toview coverage of the tests. (Nazri Ramliy, 2013 Feb 15)Patch to add "Q" and "A" responses to interactive :substitute. They arecarried over when using :global. (Christian Brabandt, 2013 Jun 19)Bug with'cursorline' indiff mode.  Line being scrolled intoview getshighlightedas the cursor line.  (Alessandro Ivaldi, 2013 Jun 4)Two highlighting bugs. (ZyX, 2013 Aug 18)Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep28)  With tests: Oct 9.Dialogis too big on Linux too. (David Fishburn, 2013 Sep 2)-   Add regex for'paragraphs' and'sections':'parare' and'sectre'.  Combine    the two intoa regex for searching. (Ned Konz)Patch by Christian Brabandt, 2013 Apr 20, unfinished.Bug: findfile("any", "file:///tmp;") does not work.Patch to add getsid(). (Tyru, 2011 Oct 2)  Do we want this?  Update Oct 4.Or use expand('<sid>')?Patch to makeconfirm() display colors. (Christian Brabandt, 2012 Nov 9)Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)b:undo_ftplugin cannot callascript-local function. (Boris Danilov, 2013 Jan7)Patch for :tabcloseleft, after closingatabgo to left tab. (William Bowers,2012 Aug 4)Patch to improve equivalence classes inregexp patterns.(Christian Brabandt, 2013 Jan 16, update Jan 17)Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)But useGnome instead of GTK?Should be possible to enable/disablematchparen perwindow or buffer.Adda check for b:no_match_paren in Highlight_matching_Pair() (MarcinSzamotulski, 2012 Nov 8)'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)Patch to appendregexp totag commands to makeit possible to select one outof many matches. (Cody Cutler, 2013 Mar 28)The input map forCTRL-O inmswin.vim causes problems afterCTRL-XCTRL-O.Suggestion for another map. (Philip Mat, 2012 Jun 18)But use "gi" instead of "a".  Or useCTRL-\CTRL-O.When there are no command line arguments ":next" and ":argu" give E163, whichis confusing.  Should say "the argumentlistis empty".URXVT:- will get stuck if byte sequence does not contain the expected semicolon.- Use urxvt mouse support also in xterm.  Explanations:http://www.midnight-commander.org/ticket/2662Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns)New tests Jul 13.   Update Jul 17.  Discussion Jul 18.Patch for inputmethod status. (Hirohito Higashi, 2012 Apr 18)Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013Apr 18)Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)And one for gui_x11.txt.":cd" doesn't work when current directory path contains "**".finddir() has the same problem.  (Yukihiro Nakadaira, 2012 Jan 10)Requiresa rewrite of the file_file_in_path code.Should use has("browsefilter") in ftplugins.  Requires patch 7.3.593.Update for vim2html.pl. (Tyru, 2013 Feb 22)Patch to sortfunctionsstarting with '<' after others.  Omitdict functions,they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)Patch to passlist to or(),and() and xor(). (Yasuhiro Matsumoto, 2012 Feb 8)Patch to improve "it" and "at" textobject matching. (Christian Brabandt, 2011Nov 20)Patch to improveGUI find/replace dialog. (Christian Brabandt, 2012 May 26)Update Jun 2.`] moves to character after insert, instead of the last inserted character.(Yukihiro Nakadaira, 2011 Dec 9)Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)BufWinLeave triggers too late when quitting lastwindow inatab page. (LechLorens, 2012 Feb 21)Patch for'transparency' option. (Sergiu Dotenco, 2011 Sep 17)Only for MS-Windows.  No documentation.  Do we want this?Patch to support cursor shape in Cygwin console. (Ben bgold, 2011 Dec 27)OnMS-Windowsa temp dir witha& init causessystem() to fail. (Ben Fritz,2012 Jun 19)'cursorline'is displayed too short when there are concealed characters and'list'is set.  (Dennis Preiser)Patch 7.3.116 was the wrong solution.Christian Brabandt has another incomplete patch. (2011 Jul 13)Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)New feature, requires testing.  Made some remarks.Win32: Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011Sep 17)  Asked for feedback from others.Win32: Cannot cd intoa directory that starts witha space. (Andy Wokula, 2012Jan 19)Need toescape$HOME on Windows for fnameescape()?  (ZyX, 2011 Jul 21,discussion 2013 Jul 4) Can't simply usea backslash, \$HOME hasa differentmeaning already.  Would be possible to use $$HOME where$HOMEis to be used."2" in'formatoptions' not working in comments. (Christian Corneliussen, 2011Oct 26)Bug inrepeatingVisual "u". (Lawrence Kesteloot, 2010 Dec 20)Windows keys not set properly on Windows 7?  (cncyber, 2010 Aug 26)When usinga Vim server,a# in the path causes an error message.(Jeff Lanzarotta, 2011 Feb 17)When thereisa ">" ina line that "gq" wraps to the start of the next line,then the following line will pickit upasa leader.  Should get the leaderfrom the first line, nota wrapped line. (Matt Ackeret, 2012 Feb 27)Using ":break" or something else that stops executing commands insidea":finally" does notrethrowa previously uncaught exception. (ZyX, 2010 Oct15)Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)BTregexp engine: After tryinga \@> match and failing, submatches are notcleared.  See test64.On 64 bitMS-Windows "long"is only 32 bits, but we sometimes need to storea64 bits value.  Change all numberoptions to use nropt_T and defineit to theright type.string() can't parse back "inf" and "nan".  Fix documentation or fix code?(ZyX, 2010 Aug 23)When doing "redir => s:foo" inascript and then "redir END" somewhere else(e.g. ina function)it can't find s:foo.Whenascript contains "redir => s:foo" but doesn'tend redirection,afollowing "redir" command gives an error for not being able to access s:foo.(ZyX, 2011 Mar 27)Whensetqflist() usesa filename that triggersaBufReadCmdautocommand Vimdoesn't jump to the correct line with :cfirst. (ZyX,  2011 Sep 18)Behavior ofi" anda" textobjects isn't logical. (Ben Fritz, 2013 Nov 19)When settinga local option value from the global value, addascript ID thatindicates this, so that ":verbose set" can givea hint.  Check withoptions inthehelp file.After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18)Also for another example (ZyX, 2011 Jan 24)"0g@$" puts'] on last byte of multibyte. (ZyX, 2011 Jan 22)Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27)Loadingautoloadscript even when usageis inside "if0". (Christian Brabandt,2010 Dec 18)Witha filler line indiff mode,it isn't displayed in the column with linenumber, butitis in the sign column.  Doesn't look right. (ZyX 2011 Jun 5)Patch by Christian Brabandt, 2011 Jun 5.  Introduces new problems.Add jump() function. (Marcin Szamotulski, 2013 Aug 29)Is this needed?CTRL-O andCTRL-Ido the same, just more difficult to use.8   Adda command to jump to the next character highlighted with "Error".Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.Add event for when the text scrolls.A bit like CursorMoved.  Alsoa similarone forinsert mode.  Use the event inmatchparen to update the highlight ifthe match scrolls into view.7   Use "++--", "+++--" for different levels instead of "+---" "+----".Patch by Christian Brabandt, 2011 Jul 27.Update by Ben Fritz, with fix for TOhtml. (2011 Jul 30)9   Add %F to'errorformat': file name without spaces.  Useful onUnix to    avoid matching something up toa time 11:22:33.Patch by Christian Brabandt, 2011 Jul 27.Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)Also add named groups: \%{name}(re)  and \%{name}gIn thesandbox it's not allowed todo many things, but it's possible to changeor set variables.  Adda way to preventvariables from being changed in thesandbox?  E.g.: ":protect g:restore_settings".Win32: tear-off menu does not work when menu languageis German. (MarkusBossler, 2011 Mar 2)  Fixed by 7.3.095?Wish forNetBeans commands:- makeit possible to have 'defineAnnoType' also handleterminal colors.7.3.014 changed howbackslashatend of line works, but still geta NUL whenthereis one backslash. (Ray Frush, 2010 Nov 18)  What does the originalexdo?New esperantospell file can't be processed. (Dominique Pelle, 2011 Jan 30)- move compflags to separate growarray?- instead ofaregexp usea hashtable.  Expand '?','*', '+'.  What would be  the maximum repeat for * and +?"L'Italie" notedasaspell errorat start of the sentence. (Dominique Pelle,2011 Feb 27)Editinga file witha ^M with'ff' set to "mac", openingahelp file, then the^Mis displayedas ^J sometimes.  Getting'ff' value from wrong window/buffer?When Vimisput in the background (SIGTSTP) and then getsa SIGHUPit doesn'texit.  It existsas soonas back in the foreground. (Stephen Liang, 2011 Jan9)  Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.g` not working correctly when using :edit.  It works OK when editinga file onthe command line. (Ingo Karkat, 2011 Jan 25)Since patch 7.2.46 Yankringplugin has become very slow, eventually make Vimcrash? (Raiwil, 2010 Nov 17)Regexp engine performance:- Profiling:./vim-u NONE-s ~/vim/test/ruby.vim./vim-u NONE-s ~/vim/test/loop.vim./vim-u NONE-s ~/vim/test/alsa.vim./vim-s ~/vim/test/todo.vim./vim-s ~/vim/test/xml.vim    Dominique Pelle:  xmlSyncDTis particularly slow (Jun 7)- More test files from the src/pkg/regexp/testdata directory in the Go repo.- Performance tests:- Using asciidoc syntax. (Marek Schimara, 2013 Jun 6)- ~/vim/text/FeiqCfg.xml (file from Netjune)- ~/vim/text/edl.svg  (also XML)- glts has five tests. (May 25)- ~/vim/test/slowsearch- ~/vim/test/rgb.vim- search for  a.*e*exn  in the vim executable.  Go to last line to use'hlsearch'.- Slow combination offolding and PHPsyntax highlighting.  Script to    reproduce it.  Caused by "syntax sync fromstart" in combination with patch    7.2.274.  (Christian Brabandt, 2010 May 27) Generally,folding with'foldmethod' set to "syntax"is slow.  Doprofiling to find out why.Problem producingtags file when hebrew.frxis present.  It hasa BOM.Results in E670. (Tony Mechelynck, 2010 May 2)'beval' option should be global-local.Ruby: ":ruby print $buffer.number" returns zero.setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)With "tw=55 fo+=a" typingspace before) doesn't work well. (Scott Mcdermott,2010 Oct 24)Messages inmessage.txt are highlightedas examples.When using cp850 the NBSP (0xff)is not drawn correctly. (Brett Stahlman, 2010Oct 22)'isprint'is set to "@,161-255".":echo "\x85" =~# '[\u0085]'" returns 1 instead of 0. (ZyX, 2010 Oct 3)'cindent' not correct when'list'is set. (Zdravi Korusef, 2010 Apr 15)C-indenting:A matching{ ina commentis ignored, but intermediate{ are notchecked to be ina comment.  Implement FM_SKIPCOMM flag of findmatchlimit().Issue 46.Using CompilerSet doesn't record where an option was set from.  E.g., in thegcc compiler plugin. (Gary Johnson, 2010 Dec 13)":helpgrep" does notput the cursor in the correct column when preceded byaccented character. (Tony Mechelynck, 2010 Apr 15)Don't call check_restricted() for histadd(), setbufvar(), settabvar(),setwinvar().Patch for gVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)When'lines'is 25 and'scrolloff'is 12, "j" scrolls zero or two linesinstead of one. (Constantin Pan, 2010 Sep 10)Gui menu edit/paste in block modeinsert only inserts in one line (BjornWinckler, 2011 May 11)Requiresa map mode forInsert mode started from blockwiseVisual mode.Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)Additional info by Dominique Pelle. (also on 2010 Apr 10)CreateFile and CreateFileW are used without sharing,filewritable() fails whenthe file was already open (e.g.scriptis being sourced).  Add FILE_SHARE_READ|FILE_SHARE_WRITE in mch_access()? (Philippe Vaucher, 2010 Nov 2)Is ~/bin (literally) in $PATH supposed to work?  (Paul, 2010 March 29)Looks like only bash cando it. (Yakov Lerner)Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010Jun 29)  Caused by 7.2.433?Jumplist doesn't work properly inInsert mode? (Jean Johner, 2010 Mar 20)Problem with transparent cmdline.  Also: Terminal titleis wrong withnon-ASCII character. (Lily White, 2010 Mar 7)iconv() doesn't fail on an illegal character,as documented. (Yongwei Wu, 2009Nov 15, example Nov 26)  Add argument to specify whethericonv() should failor replace witha character and continue?Add local timeat start of--startuptime output.Requires configure check for localtime().Use format year-month-day hr:min:sec.Patch to make ":hi link" also take arguments. (Nate Soares, 2012 Dec 4)Shell not recognized properly ifit ends in "csh-f". (James Vega, 2009 Nov 3)Find tail?  Might havea/ in argument.  Find space?  Might havespace inpath.Test 51 fails when language set to German. (Marco, 2011 Jan 9)Dominique can't reproduce it.'ambiwidth' should be global-local.":function f(x) keepjumps" createsa function where every commandis executedlikeit has ":keepjumps" before it.Coverity: Check if there are new reported defects:https://scan.coverity.com/projects/241Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)Display error when'tabline' that includesa file name with double-widthcharacters. (2010 Aug 14, bootleq)Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)Using ']'as theend ofa range inapattern requires double escaping:     /[@-\\]]  (Andy Wokula, 2011 Jun 28)For runninggvim ona USB stick: avoid the OLE registration.  Usea commandline argument -noregister.When using anexpression in'statusline' leading whitespace sometimes goesmissing (but not always). (ZyX, 2010 Nov 1)Whenamapping exists both forinsert mode and lang-insert mode, the last onedoesn't work. (Tyru, 2010 May 6)  Oris this intended?Stilla problem with ":make" in the wrong directory.  Caused by ":bufdo".(Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15.Caused by "doautoall syntaxsetBufEnter *" in syntax/nosyntax.vim?There alsoisa BufLeave/BufEnter aucmd to save/restore view.Does the patch to save/restore globaldir work?":bufdo normalgg" while'hidden'is set leavesbuffers withoutsyntaxhighlighting.  Don't disableSyntaxautocommands then?  Or adda flag/modifierto avoidchanging'eventignore'?Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)Probably needsa bit of work.List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)Are they all OK?  Update Jul 22.Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)Win32: Expanding'path' runs intoa maximum size limit. (bgold12, 2009 Nov 15)Win32: Patch for using .png files for icons. (Charles Peacech, 2012 Feb 5)PuttingaVisual block while'visualedit'is "all" does not leave the cursoron the first character. (John Beckett, 2010 Aug 7)Setting'tags' to "tagsdir/*" does not find "tagsdir/tags". (Steven K. Wong,2009 Jul 18)Patch to add "focusonly" to'scrollopt', so that scrollbind also applies inwindow that doesn't have focus. (Jonathon Mah, 2009 Jan 12)Needs more work.Problem with<script> mappings (Andy Wokula, 2009 Mar 8)Whenstarting Vim with "gvim-f-u non_existent_file> foo.txt" there areafewcontrol characters in the output. (Dale Wiles, 2009 May 28)'cmdwinheight'is only used in lastwindow when'winheight'isa large value.(Tony Mechelynck, 2009 Apr 15)Status line containingwinnr() isn't updated when splitting thewindow (ClarkJ.  Wang, 2009 Mar 31)When$VIMRUNTIMEis set in .vimrc, need toreload lang files.  Already donefor GTK, how about others? (Ron Aaron, 2010 Apr 10)":tab split fname" doesn't set the alternate file in the original window,because win_valid() always returns FALSE.  Below win_new_tabpage() inex_docmd.c.Space before comma in function definition not allowed: "function x(a, b)"Givea more appropriate error message.  Adda remark to the docs.string_convert() should be able to convert betweenutf-8 and utf-16le.  UsedforGTK clipboard.  Avoid requirement for iconv.Now that colnr_Tis int instead of unsigned, more type casts can be removed.Don't load macmap.vim on startup, turnit intoa plugin. (Ron Aaron,2009 Apr 7)  Reminder Apr 14.Add "no_hlsearch" to winsaveview().Bug: When reloadinga buffer changed outside of Vim,BufReadautocommandsare applied to the wrong buffer/window. (Ben Fritz, 2009 Apr 2, May 11)Ignorewindowoptions when not in the right window?Perhaps we need to usea hiddenwindow for applyingautocommands toa bufferthat doesn't havea window.When using "ab foobar" andmapping<Tab> to<Esc>, pressing<Tab> after foodoesn't trigger the abbreviation like<Esc> would. (Ramana Kumar, 2009 Sep 6)getbufvar() to geta window-local option value fora buffer that's notdisplayed inawindow should return the value that's stored for that buffer.":he ctrl_u" can be auto-corrected to ":he ctrl-u".Win32: completion of file name ":e c:\!test" results in ":e c:\\!test", whichdoes not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)Using~ works OK on 'a' with composing char, but not on 0x0418  with composingchar 0x0301. (Tony Mechelynck, 2009 Mar 4)This does not work yet: "a\(%C\)" (get composing characters intoa submatch).Inconsistent:starting with $LANG set to es_ES.utf-8 gives Spanishmessages, even thoughlocaleis not supported.  But ":langmessageses_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,2009 Jan 26)When$HOME contains special characters, suchasa comma,escape them when usedin an option. (Michael Hordijk, 2009 May 5)Turn "esc" argument of expand_env_esc() intostring of chars to be escaped.Should make'ignorecase' global-local, so thatit makes sense settingit froma modeline.Addcscope target to Makefile. (Tony Mechelynck, 2009 Jun 18, replies bySergey Khorev)Completion for ":buf" doesn't work properly onWin32 when'shellslash'is off.(Henrik Ohman, 2009, Jan 29)shellescape() depends on'shellslash' for quoting.  That doesn't work when'shellslash'is set but using cmd.exe. (Ben Fritz)Usea different option or letit depend on whether'shell' looks likeaunix-like shell?Bug: inEx mode (after "Q")backslash before line break, when yanked intoaregister and executed, results in<Nul>: instead of line break.(Konrad Schwarz, 2010 Apr 16)Havea lookat patch forutf-8 line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23)Now at:http://vimgadgets.sourceforge.net/liblinebreak/Greek sigma character should be lower cased depending on the context.  Can wemake this work?  (Dominique Pelle, 2009 Sep 24)Whenchanging'encoding' convert all the swap file names, so that we canstill delete them.  Also convert all buffer file names?"gqip" inInsert mode has an off-by-one error, causingit to reflow text.(Raul Coronado, 2009 Nov 2)MS-Windows: editing the first, empty buffer,'ffs' set to "unix,dos", ":enew"doesn't set'ff' to "unix".  (Ben Fritz, 2008 Dec 5) Reusing the old bufferprobably causes this.'scrollbind'is not respected whendeleting lines or undo. (Milan Vancura,2009 Jan 16)Having "Syntax" in'eventignore' for:bufdo may cause problems, e.g. for":bufdoe" whenbuffers are open in windows.  ex_listdo(eap) could set theoption only for when jumping to another buffer, not when the command argumentis executed.":pedit%" withaBufReadPreautocommand causes the cursor to move to thefirst line. (Ingo Karkat, 2008 Jul 1)  Ian Kellingis working on this.Similar problem with ":e". (Marc Montu, 2014 Apr 22)Cursor line moves in otherwindow when usingCTRL-WJ that doesn't changeanything.  (Dasn, 2009 Apr 7)OnUnix "glob('does not exist~')" returns the string.  Without the "~"itdoesn't. (John Little, 2008 Nov 9)Shell expansion returns unexpanded string?Don't use shell when "~"is notat the start?When using ":e ++enc=foo file" and the fileis already loaded with'fileencoding' set to "bar", then do_ecmd() uses that buffer, even though thefileencoding differs.  Reload the buffer in this situation?  Need to check forthe buffer to be unmodified.Unfinished patch by Ian Kelling, 2008 Jul 11.  Followup Jul 14, need to haveanother lookat it.c.vim: XXX ina commentis colored yellow, but not when it's after "#if0".(Ilya Dogolazky, 2009 Aug 7)You can type ":w ++bad=x fname", but the++bad argumentis ignored.  Give anerror message?  Oris thiseasy to implement?  (Nathan Stratton Treadway, 2008Aug 20)  Thisis in ucs2bytes(), search for 0xBF.  Using the++bad argumentisat the other match for 0xBF.When adding "-complete=file" toa user command this also changes how theargumentis processed for<f-args>. (Ivan Tishchenko, 2008 Aug 19)Win32: associatinga type with Vim doesn't take care ofspace afterabackslash? (Robert Vibrant, 2008 Jun 5)When'rightleft'is set, cursorcolumn isn't highlighted after theend ofaline.  It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)":help s/~" jumps to *s/\~*, while ":helps/\~" doesn't find anything. (TimChase)  Fix by Ian Kelling, 2008 Jul 14.Whenmapping: to; and; to:, @; doesn't work like@: and@: doesn't workeither.  Matt Wozniski:  nv_at() calls do_execreg() which usesput_in_typebuf().  Char mapped twice?Despite adding save_subexpr() this still doesn't work properly:Regexp: matchlist('12a4aaa', '^\(.\{-}\)\(\%5c\@<=a\+\)\(.\+\)\?')Returns ['12a4','aaa', '4aaa'], should be ['12a4','aaa', '']Backreference not cleared when retrying after \@<= fails?(Brett Stahlman, 2008 March 8)Problem with remote_send(). (Charles Campbell, 2008 Aug 12)ftplugin forhelp file should set'isk' tohelp file value.Win32: remote editing fails when the current directory name contains "[".(Ivan Tishchenko, Liu Yubao)  Suggested patch by Chris Lubinski: Avoidescaping characters where thebackslashis not removed later.  Asked Chris foran alternate solution, also for src/ex_getln.c.This also fails when the file or directory name contains "%". (Thoml, 2008July 7)Using--remote-silent while the current directory hasa# in the name does notwork, the# needs to be escaped. (Tramblay Bruno, 2012 Sep 15)When using remote-silent the-R flagis not passed on. (Axel Bender, 2012 May31)Win32:A--remote command that hasa directory namestarting witha( doesn'twork, thebackslashis removed, assuming thatit escapes the (. (ValeryKondakoff, 2009 May 13)Win32: Using "gvim--remote-tab-silent elŝuti.txt" doesn't work, themultibyte character isn't passed and edits elsuti.txt.(Raúl Núñez de Arenas Coronado, 2015 Dec 18)Problem withCTRL-F. (Charles Campbell, 2008 March 21)Only happens with "gvim-geometry "160x26+4+27"-u NONE-U NONE prop.c".'lines'is 54. (2008 March 27)Problem with pointer wrapping around in getvcol(). (Wolfgang Kroworsch, 2008Oct 19)  Check for "col" being "MAXCOL" separately?Unexpectedlyinsertinga doublequote. (Anton Woellert, 2008 Mar 23)Works OK when'cmdheight'is 2.8   Usea mechanism similar to omni completion to figure out the kind oftab    forCTRL-] and jump to the appropriate matchingtag (if there are    several).The utfclass tableis missing some entries:0x2212, minus sign0x2217,star0x2500,bar0x26ab, circleVisual line mode doesn't highlight properly when'showbreak'is used and theline doesn't fit. (Dasn, 2008 May 1)GUI: InNormal mode can'tyank the modeless selection.  Make "gy"do this?Works likeCTRL-Y in Command line mode.C't: Onutf-8 system, editing file with umlaut throughGnome results in URLwith %nn%nn, whichis takenas two characters instead of one.Try to reproduceat work.Patch for default choice in file changed dialog. (Bjorn Winckler, 2008 Oct 19)Is therea way tolist all the files first?Fail to edit file after failedregister access.  Error flag remains set?(Lech Lorens, 2010 Aug 30)Problem with'ts' set to 9 and'showbreak' to ">>>". (Matthew Winn, 2007 Oct1)":tabhelp" always opensa new tab, while ":help" re-uses an existing window.Would be more consistent when an existingtabis re-used. (Tony Mechelynck)Using Aap to build Vim: add remarks about how to set personal preferences.Example onhttp://www.calmar.ws/tmp/aap.html (link seems dead)When'diffopt' has "context:0"a single deleted line causes twofolds tomergeand mess up syncing. (Austin Jennings, 2008 Jan 31)Gnome improvements: Edward Catmur, 2007 Jan 7    Also use Save/Discard for other GUIsNew PHPsyntax file, use it? (Peter Hodge)":echoe" in catch block stops processing, while this doesn't happen outside ofa catch block. (ZyX, 2011 Jun 2)Test 54 uses shell commands, that doesn't work on non-Unix systems.  Use someother way to test buffer-local autocommands.The documentation mentions the priority for ":2match" and ":3match", butitappears the last one wins. (John Beckett, 2008 Jul 22)  Caused by addingmatchadd()?  Suggested patch by John, 2008 Jul 24.When'encoding'isutf-8 the command lineis redrawnasa whole on everycharacter typed. (Tyler Spivey, 2008 Sep 3)  Only redraw cmdline for'arabicshape' when thereisa character on the command line for which(ARABIC_CHAR(u8c))is TRUE.Cheng Fang made javacomplete. (2007 Aug 11)Asked about latest version: 0.77.1is on www.vim.org.More AmigaOS4 patches. (Peter Bengtsson, Nov 9)Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)(link seems dead):http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diffProblem with compound words?  (Bert, 2008 May 6)No warning for when flags are defined after they are used in an affix.Screen redrawing when continuously updating the buffer and resizing theterminal. (Yakov Lerner, 2006 Sept 7)Add option settings tohelp ftplugin. (David Eggum, 2006 Dec 18)Autoconf problem: when checking for iconv library we may add -L/usr/local/lib,but when compiling further tests -liconvis added without the-L argument,that may fail (e.g., sizeof(int)). (Blaine, 2007 Aug 21)Problem with ".add" files when using two languages and restarting Vim. (RaulCoronado, 2008 Oct 30)Popup menu redraw: Instead of first redrawing the text and then drawing thepopup menu over it, first draw the newpopup menu, remember its position andsize and then redraw the text, skipping the characters under thepopup menu.This should avoid flicker.  Other solution by A.Politz, 2007 Aug 22.When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has theparenthesis escaped but not the space.  That's inconsistent.  Eitherescapeneither or both.  No escaping might be best, becauseit doesn't depend onparticularities of the shell. (Zvi Har'El, 2007 Nov 10) (Teemu Likonen, 2008Jun 3)However, for backwards compatibility escaping might be necessary.  Check ifthe userputquotes around the expanded item?A throw ina function causes missing an endif below the call. (SpirosBousbouras, 2011 May 16)ErrorE324 can be given whena cronscript has wiped out our temp directory.Givea clear error message about this (and tell them not to wipe out /tmp).Color for cUserLabel should differ fromcase label, so thata mistake inaswitchlistis noticed:    switch (i){case 1:    foobar:}Lookathttp://www.gtk-server.org/.  It hasa Vimscript implementation.Netbeans problem.  Use "nc-l 127.0.0.1 55555" for the server, then rungvimwith "gvim -nb:localhost:55555:foo".  From nc do: '1:editFile!0 "foo"'.  Thengo toInsert mode and adda few lines.  Then backspacing every other timemoves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)Windows installer could adda "open in newtab of existing Vim" menu entry.GvimExt: patch to add "Edit with single Vim &tabbed" menu entry.Just have two choices, always using one Vim and selecting between using anargumentlist or opening each file ina separate tab.(Erik Falor, 2008 May 21, 2008 Jun 26)Windows installer: licence text should not use indent, causes badword wrap.(Benjamin Fritz, 2010 Aug 16)Changes forWin32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,2007 Feb 8)Win32: Can't complete shell command names.  Whyis setting xp_context inset_one_cmd_context() inside #ifndef BACKSLASH_IN_FILENAME?Win32: Patch forcscope external command. (Mike Williams, 2007 Aug 7)Win32: XPM support only works with path without spaces.  Patch by MathiasMichaelis, 2006 Jun 9.  Another patch for more path names, 2006 May 31.New version (link seems dead):http://members.tcnet.ch/michaelis/vim/patches.zip(also for other patches by Mathias, see mail Feb 22)Win32: compiling with normal features and OLE fails.  Patch by MathiasMichaelis, 2006 Jun 4.Win32: usingCTRL-S inInsert mode doesn't remove the "+" from thetab pageslabel.  (Tsakiridis, 2007 Feb 18)  Patch from Ian Kelling, 2008 Aug 6.Win32: using "gvim--remote-tab-silent fname" sometimes gives an empty screenwith the more prompt.  Caused by setting the guitablabel?  (Thomas MichaelEngelke, 2007 Dec 20- 2008 Jan 17)Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)Win32: When'shell'is bashshellescape() doesn't alwaysdo the right thing.Depends on'shellslash','shellquote' and'shellxquote', butshellescape()only takes'shellslash' into account.Menu item that does "xxd-r" doesn't work when'fileencoding'is utf-16.Check for this and use iconv?  (Edward L. Fox, 2007 Sep 12)Does the conversion in the other direction work when'fileencodings'is setproperly?Cursor displayed in the wrong position when using'numberwidth'. (James Vega,2007 Jun 21)When $VAR containsabackslash expand('$VAR') removes it. (Teemu Likonen, 2008Jun 18)C++ indenting wrong with "=". (James Kanze, 2007 Jan 26)":lockvar" should use copyID to avoid endless loop.When using--remote-silent and the file name matches'wildignore' get anE479error.  without--remote-silentit works fine. (Ben Fritz, 2008 Jun 20)GVim:dialog for closing Vim should check if Vimis busywritinga file.  Thenusea different dialog: "busy saving, really quit? yes/ no".Check other interfaces forchanging curbuf ina wrong way.  Patch like forif_ruby.c.":helpgrep" should use the directory from'helpfile'.The need_fileinfo flagis messy.  Instead make the message right away andputit in keep_msg?Editinga file remotely that matches'wildignore' results ina "no match"error.  Should only happen when there are wildcards, not when giving the filename literally, and esp. if thereis only one name.Test 61 fails sometimes.  Thisisa timing problem: "sleep 2" sometimes takeslonger than 2 seconds.Using ":auCursorMoved * cmd" invokes mch_FullName(), which can be slow.Can this be avoided? (Thomas Waba, 2008 Aug 24)Also for ":w" withouta file name.The buffer has the full path in ffname, should pass this to the autocommand."vim-C" often has'nocompatible', because it's set in somestartup script.Set'compatible' afterstartupis done?  Patch by James Vega, 2008 Feb 7.VMS: while editinga file found in complex, Vim will save file into the firstdirectory of the path and not to the original location of the file.(Zoltan Arpadffy)VMS: VFC files are in some cases truncated during reading (Zoltan Arpadffy)input() completion should notinsertabackslash toescapeaspace ina filename?Ruby completionis insecure.  Can this be fixed?When'backupskip'is set from $TEMP special characters need to be escaped.(patch by Grembowietz, 2007 Feb 26, not quite right)Another problemis that file_pat_to_reg_pat() doesn't recognize "\\", so "\\("will be seenasa path separator plus "\(".gvim d:\path\path\(FILE).xml should not remove the \ before the (.This also fails with --remote.When doing ":quit" the Netbeans "killed" event isn't sent.  (Xavier de Gaye,2008 Nov 10)  call netbeans_file_closed()at theend of buf_freeall(), or inall places where buf_freeall()is called?aucmd_prepbuf() should also useawindow in anothertab page.When unloadinga buffer inaBufHiddenautocommand the hidden flagis reset?(Bob Hiestand, 2008 Aug 26, Aug 27)Substituting an area witha line break with almost the same area does changetheVisual area.  Can this be fixed? (James Vega, 2006 Sept 15)GUI: When combining fg en bg make sure they are not equal.Use different pt_br dictionary forspell checking. (Jackson A. Aquino, 2006Jun 5)Use different romanian dictionary forspell checking. (Andrei Popescu, Nov2008)  Usehttp://downloads.sourceforge.net/rospell/ro_RO.3.2.zipOr the hunspell-ro.3.2.tar.gz file,it also hasa iso-8859-2 list.InaC file withspell checking, in "% integer" "nteger"is seenas an error,but "]s" doesn't find it.  "nteger" by itselfis found. (Ralf Wildenhues, 2008Jul 22)There should be something aboutspell checking in the user manual.Add an option to specify the character to use whena double-width characterismoved to the next line.  Default '>', set toaspace to blankit out.  Checkthat charis single width when it's set (compare with'listchars').The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3)When showingadiff betweena non-existent file and an existing one, with thecursor in the empty buffer, the other buffer only shows the last line.  Changethe "insert" intoa change from one line to many? (Yakov Lerner, 2008 May 27)These twoabbreviations don't give the same result:let asdfasdf= "xyz\<Left>"cabbr XXX<C-R>=asdfasdf<CR>cabbr YYY xyz<Left>Michael Dietrich: maximizedgvim sometimes displays output of external commandpartly. (2006 Dec 7)InFileChangedShell command it's no longer allowed to switch to anotherbuffer.  But the changed buffer may differ from the current buffer, how toreloadit then?For Aap: includea config.arg.example file with hints how to use config.arg.Default for'background'is wrong when using xterm with 256 colors.Table with estimates from Matteo Cavalleri, 2014 Jan 10.Setting'background' resets theNormal background color:   highlightNormal ctermbg=DarkGray   set background=darkThisis undesired,'background'is supposed to tell Vim what the backgroundcolor is, not reset it.Completion menu: Fora wrapping line, completinga long file name, only thestart of the pathis shown in the menu.  Should move the menu to the right toshow more text of the completions.  Shorten the items that don't fit in themiddle?Accessing file#var ina function should not need theg: prepended.Whenexiting detectsa modified buffer, instead of opening the buffer in thecurrent tab, use an existing tab, if possible.  Like findingawindow wherethe bufferis displayed. (Antonios Tsakiridis)When ":cn" moves to an error in the same line the message isn't shortened.Only skip shortening for ":cc"?Problem with ":call" and dictionary function. Hari Krishna Dara, CharlesCampbell 2006 Jul 06.A custom completion function ina ":command" cannot bea Funcref. (AndyWokula, 2007 Aug 25)Problem with using:redir in user command completion function? (Hari KrishnaDara, 2006 June 21)Another resizing problem when setting'columns' and'lines' toa very largenumber. (Tony Mechelynck, 2007 Feb 6)Afterstarting Vim, using'0 to jump somewhere ina file, ":sp" doesn't centerthe cursor line.  It works OK after some other commands.Win32: Isit possible to have both postscript andWin32 printing?UsingUTF-8 character with ":command" does not work properly. (Matt Wozniski,2008 Sep 29)In the Netbeans interface adda "vimeval" function, so that the other side cancheck the result of has("patch13").Cursor lineat bottom ofwindow instead of halfway after savingview andrestoring.  Only with'nowrap'. (Robert Webb, 2008 Aug 25)Netrw has trouble executingautocommands only fora directory.  Add<isdir>and<notisdir> toautocommand patterns?  Also<isfile>?Add command modifier that skipswildcard expansion, so that you don't need toput backslashes before special chars, only for white space.In mswin.vim: Instead ofmapping<C-V> forInsert mode ina complicated way,canit be done like ":imap<C-V><MiddleMouse>" without negative side effects?When right after "vim file", "M" thenCTRL-Wv thewindows are scrolleddifferently and unexpectedly.  Caused by patch 7.2.398?The magicclipboard format "VimClipboard2" appears in several places.  Shouldbe only one.Win32, NTFS: When editinga specific infostream directly and'backupcopy'is"auto" should detect this situation and work like'backupcopy'is "yes".  Filenameis something like "c:\path\foo.txt:bar", includesa colon.  (AlexJakushev, 2008 Feb 1)Small problem displayingdiff filler line when openingwindows witha script.(David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872)Isit allowed that'backupext'is empty?  Problems whenbackupis in same diras original file?  If it's OK don't compare with'patchmode'. (Thierry Closen)Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update 2008 Apr23)":mkview" isn't called with the right buffer argument.  Happens when usingtabs and theautocommand "autocmdBufWinLeave * mkview".  (James Vega, 2007Jun 18)When completing from another file that usesa different encoding completiontext has the wrong encoding.  E.g., when'encoding'isutf-8 and fileislatin1.  Example from Gombault Damien, 2007 Mar 24.Ingvim thebackspace key producesabackspace character, but on Linux theVERASE keyis Delete.  Set VERASE to Backspace? (patch by Stephane Chazelas,2007 Oct 16)TermResponseautocommand isn't always triggered when using vimdiff. (AronGriffis, 2007 Sep 19)Createa gvimtutor.1 file and change Makefiles toinstall it.When'encoding'isutf-8 typing textat theend of the line causes previouslytyped characters to be redrawn.  Caused by patch 7.1.329. (Tyler Spivey, 2008Sep 3, 11)":vimgrep" does not recognizea recursive symlink.  Isit possible to detectthis,at least forUnix (using device/inode)?When switching betweenwindows the cursoris oftenput in the middle.Remember the relative position and restore that, just like lnum and col arerestored. (Luc St-Louis)Add an option fora minimal text length beforeinsertinga line break for'textwidth'.  Avoids very short lines whena very longword follows.(Kartik Agaram)Betterplugin support (notplugin manager, see elsewhere for that):- Avoid use of feedkeys, addevalfunctions where needed:- manipulating theVisual selection?- Add createmark(): addamark like mM, but returna unique ID.  Need some way  to clean them up again...  Usea name+ thescript ID.  Add createmark(, 'c') to track inserts/deletes before the column.- Plugins need to makea lot of effort, lots of mappings, to know what  happened before pressing the key that triggersaplugin action.  How about  keeping the lastN pressed keys, so that theydo not need to be mapped?- equivalent of netbeans_beval_cb().  With an autocommand?- Add something to enable debugging whena remote messageis received.More patches:-   Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)    Needsa few tests.-   Add'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)-   Extra argument tostrtrans() to translate special keys to their name (Eric    Arnold, 2006 May 22)-   Mac: indicate whethera buffer was modified. (Nicolas Weber, 2006 Jun 30)-   Allow negative'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16)-   ml_append_string(): efficiently append to an existing line. (Brad    Beveridge, 2006 Aug 26)  Use in some situations, e.g., when pastinga    characterata time?-   recognize hex numbers better. (Mark Manning, 2006 Sep 13)-   Add<AbbrExpand> key, to expand an abbreviation ina mapping. (Kana    Natsuno, 2008 Jul 17)-   Add'wspara' option, also accept blank lines like empty lines for "{" and    "}". (Mark Lundquist, 2008 Jul 18)-   Patch to addCTRL-T to delete part ofa path on cmdline. (Adek, 2008 Jul    21)-   Instead of creatinga copy of thetutor in all the shell scripts,doit in    vimtutor.vim. (Jan Minar, 2008 Jul 20)-   When fsync() fails thereis no hint about what went wrong.  Patch by Ben    Schmidt, 2008 Jul 22.-   testdir/Make_dos_sh.mak for running tests with MingW. (Bill McCarthy, 2008    Sep 13)-Replace ccomplete.vim by cppcomplete.vim from www.vim.org?script 1520 by    Vissale Neang.  (Martin Stubenschrott) Asked Vissale to make the scripts    more friendly for the Vim distribution.    New version received 2008 Jan 6.    No maintenance in two years...-   Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3)Awaiting updated patches:9Macunicode patch (Da Woon Jung, Eckehard Berns):    8   Add patch from Muraoka Taro (Mar 16) to support inputmethod on Mac?New patch 2004 Jun 16- selecting proportional font breaks display-UTF-8 text causes display problems.  Font replacement causes this.- Command-key mappingsdo not work. (Alan Schmitt)- With'nopaste' pastingis wrong, with'paste' Command-V doesn't work.      (Alan Schmitt)- remove'macatsui' option when this has been fixed.- when'macatsui'is off should we always convert to "macroman" and ignore'termencoding'?9   HTML indenting can be slow.  Caused by using searchpair().  Cansearch()    be used instead?  A.Politzis looking intoa solution.8   Win32: Add minidump generation. (George Reilly, 2006 Apr 24)7   Completion ofnetwork shares, patch by Yasuhiro Matsumoto.    Update 2004 Sep 6.    How does this work?  Missing comments.8   Adda few more command names to the menus.  Patch from Jiri Brezina    (28 feb 2002).  Will mess the translations...7ATTENTIONdialog choices are more logical when "Deleteit" appears    before "Quit".  Patch by Robert Webb, 2004 May 3.-   Include flipcase patch: ~/vim/patches/wall.flipcase2?  Makeit work    formultibyte characters.-   Win32: addoptions to print dialog.  Patch from Vipin Aravind.-   Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)    use the patch that keeps using HLF_8 if HLF_WS has not    been given values.    Addsection inhelp files for these highlight groups?7   Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin    Dalecki hasa patch forMotif and Carbon)-   Add possibility to highlight specific columns (for Fortran).  Orputa    line in between columns (e.g., for'textwidth').    Patch to add'hlcolumn' from Vit Stradal, 2004 May 20.confirm()add "flags" argument, with 'v' for vertical    layout and 'c' for console dialog. (Haegg)    Flemming Madsen hasa patch for the 'c' flag    (2003 May 13)    raisewin()raisegvimwindow (see HierAssist patch forTcl implementation ~/vim/HierAssist/)taglist()add argument to specify maximum number of matches.useful for interactive things or completion.    col('^')            column of first non-white character.Can use "len(substitute(getline('.'), '\S.*', '', ''))+ 1", but that's ugly.7   Add patch from Benoit Cerrina to integrate Vim andPerlfunctions    better.  Now also works forRuby (2001 Nov 10)7   When'rightleft'is set, the searchpattern should be displayed right    to leftas well?  See patch of Dec 26. (Nadim Shaikli)8   Option to lock all used memory so thatit doesn't get swapped to disk    (unencrypted).  Patch by Jason Holt, 2003 May 23.  Uses mlock.7   Add! register, for shell commands. (patch from Grenie)8   In thegzip plugin, also recognize *.gz.orig, *.gz.bak, etc.  Like it's    done forfiletype detection.  Patch from Walter Briscoe, 2003 Jul 1.7   Adda "-@ filelist" argument: read file names froma file. (David    Kotchan hasa patch for it)7   Add ":justify" command.  Patch from Vit Stradal 2002 Nov 25.-   findmatch() should be adjusted for Lisp.  See remarkat    get_lisp_indent().  Esp. \( and \) should be skipped. (Dorai Sitaram,    incomplete patch Mar 18)-   ForGUI Find/Replacedialog support usinga regexp.  Patch forMotif    andGTK by degreneir (nov 10 and nov 18).-   Patch for "paranoid mode" by Kevin Collins, March 7.  Needs much more work.-   Patch forredo register. (Ben Schmidt, 2007 Oct 19)    Await response to question to make theregister writable.Better'rightleft' or BIDI support:- MinimalVi with bidi support:https://github.com/aligrudi/neatvi  By Ali Gholami Rudi, also worked on arabic.cSpell checking:-List of common misspellings in English:https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines    German:https://de.wikipedia.org/wiki/Wikipedia:Liste_von_Tippfehlern/F%C3%BCr_Maschinen    There are other languages.-[s does not find missing capitalat start of the line.  #10838    Probably because the dotat theend of the previous line isn't seen.-   When'cursorline'is set and the firstword should have SpellCap    highlighting, redrawing the line removesit when moving the cursor away    from the line. (#7085)  Would need to inspect theend of the previous line    and update "capcol_lnum" and "cap_col".-   Mixup of highlighting when thereisa match and SpellBad. (ZyX, 2015 Jan 1)-   Spell files usea latin singlequote.Unicode also has another singlequote: 0x2019.  (Ron Aaron, 2014 Apr 4)    New OpenOfficespell files support this with ICONV.  But they are not    compatible with Vimspell files.  The old files can no longer be    downloaded.-   Adda feature to only consider two spaces aftera dot to starta new    sentence.  Don't give the capitalization error when thereis one space.-   Adda way to specify punctuation characters.  Add the superscript numbers    by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074- 0x2079.-   Inpopup menu: If the only problemis thecase of the first character,    don't offer "ignore" and "add towordlist".-   Spell menu: When using the Popup menu to selecta replacement word,    ":spellrepeat" doesn't work.  SpellReplace() uses setline().  Canit use    "z=" somehow?  Or usea new function.Quickfix/Location List:-   Window sizeis wrong when usingquickfix window. (Lifepillar, 2018 Aug 24,    #2999)-   When usingCTRL-W CR in thequickfix window, thejumplist in the openedwindowis cleared, to avoid going back to thelist oferrors buffer (would    have twowindows with it).  Can we just remove the jumplist entries for    thequickfix buffer?-   When an item in thequickfixlist hasa file name that does not exist,    behave like the item was nota match for :cnext.-   When adding an item toa newquickfixlist make ":cnext" jump to that    item.  Makea difference beingat the first item and not having used:cnextat all.  (Afanasiy Fet, 2017 Jan 3)-   When openingquickfix window, disablespell checking?-   Patch for supportingcount before CR inquickfix window. (AOYAMA Shotaro,    2007 Jan 1)-   Patch from Herculano de Lima Einloft Neto for betterformatting of thequickfixwindow (2004 dec 2)-   Amiga: When usingquickfix with the Manx compiler we only get the first 25    errors.  Howdo we get the rest?8   Thequickfix fileis read without conversion, thus in'encoding'.  Add an    option to specify the encoding of the errorfile and convert it.  Also for    ":grep" and ":helpgrep".    More generic solution: supportafilter (e.g., by callinga function).7   Adda command that goes back to the position from before jumping to the    firstquickfix location.Python Interface:-Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)-   Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)-   Build withPython onMac does not always use the right library.    (Kazunobu Kuriyama, 2015 Mar 28)-   Win32: ThePython interface only works with one version of Python,    selectedat compile time.  Can this be made to work with version 2.1 and    2.2 dynamically?-   Be able to defineaPython function that can be called directly from Vim    script.  Requires converting the arguments and return value, like with    vim.bindeval().Vi incompatibility:-   Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)    Version 1.5is in ~/src/posix/1.5. (Lynne Canal)8   With undo/redo only marks in the changed lines should be changed.  Other    marks should be kept.Vi keeps eachmarkat the same text, even whenitis deleted or restored. (Webb)    Also:Amarkis lost after: make change, undo,redo and undo.    Example: "{d''" then "u" then "d''": deletes an extra line, because the''    positionis one line down. (Veselinovic)8   When stdinis nota tty, and Vim reads commands from it, an error should    make Vim exit.7Unix Vim (not gvim): TypingCTRL-C inEx mode should finish the line    (currently you can continue typing, but it's truncated later anyway).    Requiresa way to makeCTRL-C interrupt select() when in cooked input.8   When loadinga file in the .exrc,Vi loads the argument anyway.  Vim skips    loading the argument if thereisa file already.  When no file argument    given,Vi starts with an empty buffer, Vim keeps the loaded file. (Bearded)6   InInsert mode, when using<BS> or<Del>, don't wipe out the text, but    only move back the cursor.Behaves like '$' in'cpoptions'.  Usea flag    in'cpoptions' to switch this on/off.8   When editinga file whichisa symbolic link, and then opening another    symbolic link on the same file, Vim uses the name of the first one.    Adjust the file name in the buffer to the last one used?  Use several file    names in one buffer???    Also: When first editing file "test", whichis symlink to "test2", and    then editing "test2", youend up editing buffer "test" again.  It's not    logical that the name that was first used sticks with the buffer.7   The ":undo" command works differently inEx mode.  Edita file, make some    changes, "Q", "undo" and _all_ changes are undone, like the ":visual"    command was one command.    On the other hand, an ":undo" command in anExscript only undoes the last    change (e.g., use two:append commands, then :undo).7   The ":map" command output overwrites the command.  Perhapsit should keep    the ":map" when it's used without arguments?7CTRL-Lis not theend ofa section?  Itis for Posix!  Makeit an option.7   Adda way to send an email fora crashed edit session.  Createa file when    making changes (containing name of the swap file), deleteit whenwriting    the file.  Supplya program that can check for crashed sessions (either    all, fora system startup, or for one user, for ina .login file).7Vi doesn'tdo autoindenting when inputis not froma tty (inEx mode).7   "z3<CR>" should still use the whole window, but only redisplay 3 lines.7   ":tag xx" should move the cursor to the first non-blank.  Or shoulditgo    to the match with the tag?Option?7   Implement'autoprint'/'ap' option.7   Add flag in'cpoptions' that makes<BS> afteracount work like<Del>    (Sayre).7   Add flag in'cpoptions' that makesoperator (yank, filter) not move the    cursor,at least when cancelled. (defaultVi compatible).7   This Vi-trick doesn't work: "Q" togo toEx mode, then "g/pattern/visual".    InVi you can edit in visual mode, and when doing "Q" you jump to the next    match.Nvi candoit too.7   Support '\' for line continuation inEx mode for these commands: (Luebking)g/./a\    g/pattern1/ s/pattern2/rep1\\line 1\    line 2\\line 2\    line 3\\.    line4/6   ":e /tmp/$tty" doesn't work.  ":e $uid" does.  Is $tty not set because of    the way the shellis started?6Vi compatibility (optional): make "ia<CR><ESC>10."do the same strange    thing.  (only repeatinsert for the first line).GTK+ GUI:9   Crash withX command server over ssh. (Ciaran McCreesh, 2006 Feb 6)8GTK 2: CombiningUTF-8 characters not displayed properly inmenus (Mikolaj    Machowski)  They are displayedas separate characters.  Problem in    creatinga label?8GTK 2: CombiningUTF-8 characters are sometimes not drawn properly.    Depends on the font size, "monospace 13" has the problem.  Vim seems todo    everything right,must beaGTK bug.  Is therea way to work around it?9   Can't pasteaVisual selection from GTK-gvim to vim in xterm orMotifgvim    whenitis longer than 4000 characters.  Works OK fromgvim togvim and    vim to vim.  Pasting through xterm (using theshift key) also works.    It starts working afterGTKgvim loses the selection and gainsit again.-   Gnome2: When moving the toolbar out of the dock, so thatit becomes    floating,it can no longer be moved.  Therefore makingit float has been    blocked for now.-   Mapping withpartial match not executed properly in GTK. (Ingo Karkat,    #7082)-   Add moretesting of theGTK GUI.- gtk_test_widget_click() can be used to simulatea click ina widget.-   Tests failing for "make testgui" with GTK:- Test_setbufvar_options()- Test_exit_callback_interval()-   When addingatimer from'balloonexpr'it won't fire, because    g_main_context_iteration() doesn't return.  Need to trigger an event when    thetimer expires.-   problem with 'L' in'guioptions'changing thewindow width.  (Aaron    Cornelius, 2012 Feb 6)-   Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013    May 5)-   drawinga double-width combining character over single-width characters    doesn't look right. (Dominique Pelle, 2010 Aug 8)-   tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)-   Patch forGTK buttonsX1Mouse and X2Mouse. (Christian J. Robinson, 2010    Aug 9)-   When setting'columns' inastartupscript and doing ":vertical diffsplit"    thewindow isn't redrawn properly, see two vertical bars.-   when theTab pagesbar appears or disappears while thewindowis maximized    thewindowis no longer maximized.  Patch that has some idea but doesn't    work from Geoffrey Antos, 2008 May 5.  Also: thewindow may no longer fit    on the screen, thus the command lineis not visible.-   Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn    Winckler, 2010 Jun 30)Win32GUI known bugs:-   Win32: tearoff menuwindow should havea scrollbar when it's taller than    the screen.8   The-P argument doesn't work very well with manyMDI applications.    The last argument of CreateWindowEx() should be used, see MSDN docs.    Tutorial (link seems dead):http://win32assembly.online.fr/tut32.html6Win32 GUI: With "-u NONE-U NONE" and doing "CTRL-Wv" "CTRL-Wo", the ":"    of ":only"is highlighted like the cursor.  (Lipelis)8   When'encoding'is "utf-8", should use'guifont' for both normal and wide    characters to make Asian languages work.Win32 fonts contain both    type of characters.7   When font smoothingis enabled, redrawing can become very slow.  The reason    appears to be drawing witha transparent background.  Wouldit be possible    to use an opaque background in most places?7   The cursor color indicatingIME mode doesn't work properly. (Shizhu Pan,    2004 May 9)8   Win32: When clicking on thegvim title bar, which givesit focus, producesa file-changed dialog, after clicking ona button in thatdialog thegvimwindow follows the mouse.  The button-up eventis lost.  Only withMS-Windows 98?    Try this: ":set sw ts", get enter-prompt, then change the file ina    console,go back to Vim and click "reload" in thedialog for the changed    file: Window moves with the cursor!    Put focus event in input buffer and let generic Vim code handle it?8   When Vimis minimized and when maximizingita file-changeddialog pops    up, Vim isn't maximized.  It should be done before the dialog, so thatit    appears in the right position. (Webb)9   When selectingat themore-prompt or hit-enter-prompt, the right mouse    button doesn't givepopup menu.    At thehit-enter promptCTRL-Y doesn't work to copy the modeless    selection.    On the command line, don't getapopup menu for the right mouse button.    Let the middle button paste selected text (not theclipboard but the    non-Visual selection)?  OtherwiseCTRL-Y has to be used to copy the text.8   When'grepprg' doesn't execute, the error only flashes by, the    user can hardly see whatis wrong. (Moore)    Could use vimrun with an "-nowait" argument to only wait when an error    occurs, but "command.com" doesn't return an error code.8   When the'shell' cannot be executed, should give an appropriate error msg.    Esp. forafilter command, currentlyit only complains the file could not    be read.7   At thehit-enter promptscrolling now no longer works.  Need to use the    keyboard to get around this.  Pretend<CR> was hit when the user tries to    scroll?7   Scrollbar width doesn't change when selecting otherwindows appearance.    Also background color of Toolbar and rectangle below vert. scrollbar.6   Drawing text transparently doesn't seem to work (when drawing part cursor).8   CTRL key doesn't always work in combination with ALT key.  It does work    for function keys, not for alphabetic characters.  Perhaps thisis becauseCTRL-ALTis used by Windowsas AltGr?8CTRL-- doesn't work for AZERTY, because it'sCTRL-[ for QWERTY.  Howdo we    know which keyboardis being used?7   When scrolling, anda background coloris dithered, the ditherpattern    doesn't always join correctly between the scrolled area and the new drawn    area (Koloseike).8   When gui_init_font()is called with "*", p_guifontis freed whileit might    still be used somewhere.  Thisis too tricky,do the font selection first,    then set the new font by name (requires putting all logfont parameters in    the font name).-   When runninga fast timer, the cursor no longer blinks.  Was reported:    cursor blinks interminal on widows witha timer. (xtal8, #2142)-   Last message fromstartup doesn't show up when thereis an echoerr    command. (Cyril Slobin, 2009 Mar 13)Motif:6   NewMotif toolbar button from Marcin Dalecki:- When the mouse pointeris over an Agide button the red becomes black.      Something with the way colors are specified in the .xpm file.- The pixmapis two pixels smaller thanit should be.  The gapis filled      with grey instead of the current toolbar background color.9   Can configure be changed to disablenetbeans if the Xpm libraryis    required and it's missing?8   When using the resource "Vim*borderwidth 2" the widgets are positioned    wrong.9XIMis disabled by default for SGI/IRIX.  FixXIM so that'imdisable' can    be off by default.9XIM doesn't work properly for Motif. (Yasuhiro Matsumoto)  For now,    keepXIM activeat all times when the inputmethod has the preediting    flag.8   X11:A menu that contains an umlautis truncatedat that character.    Happens when thelocaleis "C", which uses ASCII instead of IS0-8859-1.    Is therea way to use latin1 by default?  Gnome_init() seems todo this.8   Perhaps use fontsets for everything?6   Whenstarting in English and switching the language to Japanese, setting    thelocale with ":lang",'guifontset' and "hi menu font=",deleting allmenus and setting them again, themenus don't use the new font.  Most of    thetooltips work though...7   Motif: when usinga file selection dialog, the specified file nameis not    always used (when specifyingafilter or another directory).8   When'encoding'is different from the currentlocale (e.g., utf-8) the    menu strings don't work.  Requires conversion from'encoding' to the    current locale.  Workaround: set'langmenu'.Motif GUI:-   gui_mch_browsedir()is missing,browsedir() doesn't work nicely.7   Use XmStringCreateLocalized() instead of XmStringCreateSimple()?    David Harrison says it's OK (it exists inMotif 1.2).8   Lesstif: Whendeletinga menu that's torn off, the torn off menu becomes    very small instead of disappearing.  When closing it, Vim crashes.    (Phillipps)GUI:9   On Solaris, creating thepopup menu causes the right mouse button no    longer to work for extending the selection. (Halevy)9   When running an external program,it can't always be killed withCTRL-C.    e.g., on Solaris 5.5, when using "K" (Keech).  Other'guipty' problems on    Solaris 2.6. (Marley)9   On Solaris: Usinga "-geometry" argument, bigger than thewindow where Vimis started from, causes empty lines below the cmdline. (raf)8   When setting'langmenu',it should be effective immediately.  Store both    the English and the translated text in the menu structure.  Re-generate    the translation when'langmenu' has changed.8   Basic flaw in theGUI code: NextScreenis updated before calling    gui_write(), but theGUI code relies on NextScreen to represent the state    of whereitis processing the output.    Need better separation of Vim core andGUI code.8   Whenfontset supportis enabled, setting'guifont' toa single font    doesn't work.8   Menu priority for sub-menus for: Amiga.8   When translatingmenus ignore the part after the Tab, the shortcut.  So    that the same menu item witha different shortcut (e.g., for the Mac) are    still translated.8   Add menu separators for Amiga.8   Add way to specify the filefilter for the browse dialog.  At least for    browse().8   Adddialog for search/replace to other GUIs?  Tk has something for this,    use that code?  Or use console dialog.8   When selectinga font with the fontdialog and the fontis invalid, the    error message disappears too quick.7   More features in the find/replace dialog:-regexp on/off- search in selection/buffer/all buffers/directory       when all buffers/directoryis used:-filter for file name       when directoryis used:- subdirectory on/off- top directory browser8   gui_check_colors()is not calledat the right moment.  Doit much later,    to avoid problems.8   gui_update_cursor()is called fora cursor shape change, even when there    are mappings to be processed.  Onlydo something when going to wait for    input.  Or maybe every 100 ms?8   X11: When thewindow sizeis reduced to fit on screen, there are blank    lines below the text and bottom scrollbar.  "gvim-geometry 80x78+0+0".    When the "+0+0"is omittedit works.8   Whenstarting an external command, and'guipty' set, BS and DEL are mixed    up.  Set erase character somehow?8   The compose key doesn't work properly (Cepas).  Both forWin32 and X11.7   The cursor in an inactivewindow should be hollow.  Currently it's not    visible.7GUI on Solaris 2.5.1, using /usr/dt/..: Whengvim starts, cursoris    hollow, afterwindow lowered/raised it's OK. (Godfrey)7   WhenstartingGUI with ":gui", andwindowis made smaller becauseit    doesn't fit on the screen, thereis an extra redraw.8   When setting font with .Xdefaults, thereis an extra empty lineat the    bottom, which disappears when using ":set guifont=<Tab>". (Chadzelek)8   When font shape changes, but not the size, doing ":set font=" does not    redraw the screen with the new font.  Also for Win32.    When the size changes, on Solaris 2.5 there isn'ta redraw for the    remaining part of thewindow (Phillipps).-   Flashes really badly in certain cases when running remotely froma Sun.4   Re-write the code so that the highlighting isn't changed multiple times    when doinga ":hi clear".  The color changes happen three or more times    currently.  Thisis very obvious ona 66Mhz 486.Win32 console:8   Should $USERPROFILE be preferred above $HOMEDRIVE/$HOMEPATH?  No, but it'sa good fallback, thus use:$HOME    $HOMEDRIVE$HOMEPATH    SHGetSpecialFolderPath(NULL, lpzsPath, CSIDL_APPDATA, FALSE);    $USERPROFILE    SHGetSpecialFolderPath(NULL, lpzsPath, CSIDL_COMMON_APPDATA, FALSE);    $ALLUSERSPROFILE    $SYSTEMDRIVE\    C:\8Win32 console:<M-Up> and<M-Down> don't work. (Geddes)  We don't have    special keys for these.  Should use modifier+ key.8Win32 console: caps-lock makes non-alpha keys work like with shift.    Should work like in theGUI version.8   Environmentvariables inDOS are notcase sensitive.  Makea define for    STRCMP_ENV(), and useit when comparing environment var names.8   Setting'shellslash' has no immediate effect.  Change all file names whenitis set/reset?  Or only useit when actually executinga shell command?8   When editinga file ona Samba server,case might matter.  ":e file"    followed by ":e FILE" will edit "file" again, even though "FILE" might be    another one.  Set last used name in buflist_new()?  Fix do_ecmd(), etc.8   Whena bufferis editinga file like "ftp://mach/file", whichis not going    to be used likea normal file name, don't change the slashes to    backslashes. (Ronald Hoellwarth)Win32 console:9   When editinga file by its short file name,it should be expanded into its    long file name, to avoid problems like these: (Mccollister)     1) Createa file called ".bashrc" using some other editor.     2) Drag that file ontoa shortcut or the actual executable.     3)Note that the file nameis something like BASHRC~1     4) Go to File->Save As menu item and type ".bashrc"as the file name.     5) Press "Yes" to indicate thatI want to overwrite the file.     6)Note that the message "File exists (add! to override)"is displayedand the fileis not saved.    Use FindFirstFile() to expanda file name and directory in the path to its    long name.8   Also implement'conskey' option for theWin32 console version?  Lookat    how Xvi does console I/O under Windows NT.7   Re-install the use of $TERM and support the use of different terminals,    besides the console.8   Use of<altgr> modifier doesn't work?  5.3 was OK. (Garcia-Suarez/Guckes)9   Mapping<C-S-Tab> doesn't work correctly.  How to see the difference with<C-S-i>?9   tmpnam() uses file in root of file system: "\asdf".  That doesn't work ona Netwarenetwork drive.  Use same functionas forWin32 GUI?8   In os_win32.h, HAVE_STRICMP and HAVE_STRNICMP are defined only if __GNUC__is not defined.  Shouldn't that be the other way around?Amiga:8   In mch_inchar() should use convert_input_safe() to handle incomplete byte    sequences.9   In mch_expandpath()a "*"is to be expanded, but "\*" isn't.  Remove    backslashes in result.8   Executinga shell, only one option for'shell'is separated.  Shoulddo    all options, using whitespace separation.Macintosh:-   GUI: gui_mch_browsedir()is missing.7   Loading thePerl library only works on OS/X10.2 or 10.3, never on both.    Load thePerl library dynamically seePython sources file dynload_mac    (Jack)    dynamic linking:http://developer.apple.com/technotes/tn2002/tn2064.html8inputdialog() doesn't resize when giving more text lines. (David Fishburn,    2006 Sept 28)8   Define vim_mkdir() for Macintosh.8   Define mch_writable() for Macintosh.9   When DiskLockis running, usinga swap file causesa crash.  Appears to bea problem withwritinga file that starts witha dot. (Giacalone)9   In mac_expandpath() check that handling of backslashesis done properly.-   Build problem with small features onMac OSX 10.6. (Rainer, 2011 Jan 24)-   Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)-Mac with X11:clipboard doesn't work properly. (Raf, 2010 Aug 16)-   Move Carbontodo items to os_mac.txt.Note that this versionis frozen,    try the Cocoa version.-   Aftera ":vsplit" the left scrollbar doesn't appear until'columns'is    changed or thewindowis resized.-   Patch for configure: remove arch fromruby link args. (Knezevic, 2008 Mar    5)  Alternative: Kazuki Sakamoto, Mar 7.-   trouble compiling with Motif, requires --disable-darwin. (Raf, 2008 Aug 1)    Reply by Ben Schmidt.-   Using gvim:netrwwindow disappears. (Nick Lo, 2006 Jun 21)"Small" problems:-   When using e_secure in do_one_cmd() mention the command being executed,    otherwise it's not clear whereit comes from.9   For Turkish vim_tolower() and vim_toupper() also need to use utf_functions for characters below 0x80. (Sertacyildiz)9   When the last edited fileisahelp file, using'0 ina new Vim doesn't    edit the fileasahelp file.'filetype'is OK, but'iskeyword' isn't,    file isn't readonly, etc.8   When an ":edit"is insidea try command and theATTENTION promptis used,    the:catch commands are always executed, also when the fileis edited    normally.  Should reset did_emsg andundo side effects.  Also make sure    theATTENTION message shows up.  Servatius Brandt works on this.7   Vimtutor leavesescape sequence in terminal. Thisis the xterm response to    requesting the version number.  (Yasuhiro Matsumoto)8   When redirecting and using ":silent" the current column for displaying and    redirection can be different.  Usea separate variable to hold the column    for redirection.7   Themessages for "vim--help" and "vim--version" don't use'termencoding'.-   Could thehit-enter prompt be avoided whena message only overlaps the'showcmd' area?  Clear that area when the next cmdis typed.8   When'scrollbind'is set,awindow won't scroll horizontally if the cursor    lineis too short.  Addaword in'scrollopt' to allow moving the cursor    to longer line thatis visible.A similar thingis done for theGUI when    using the horizontal scrollbar.8   When givinga ":bwipeout" commanda file-changeddialog maypopup for this    buffer, whichis pointless.  (Mike Williams)8   OnMS-Windows ":make" doesn't show output whileitis working.  Use the    tee.exe fromhttp://unxutils.sourceforge.net/?  About 16 Kbyte in the    UnxUtils.zip archive.    Isit better than what we have in src/tee?8   When doingInsert mode completionamapping cannot recursively call    edit(), because the completion informationis global.  Put everything in    an allocated structure?7   mb_off2cells() doesn't work correctly on the tail byte ofa double-byte    character. (Yasuhiro Matsumoto)  It should return 1 when used ona tail    byte, like for utf-8.  Store second byte of double-byte in ScreenLines2[]    (like for DBCS_JPNU) andputa zero in the second byte (like for UTF-8).7   Insidea function with "perl <<EOF"a line with "$i++"is recognizedas an    ":insert" command, causing the following "endfunction" not to be found.    Add skipping thisperl construction inside function definitions.7   When'ttimeoutlen'is 10 and'timeoutlen'is 1000, thereisa keycode    "<Esc>a" andamapping<Esc>x", when typing "<Esc>a" with halfa second    delay should not be interpretedasa keycode. (Hans Ginzel)7   ":botright 1 new" twice causes allwindow heights to be changed.  Make the    bottomwindow only biggeras muchas needed.7   The Cygwin and MingW makefiles define "PC", but it's not used anywhere.    Remove? (Dan Sharp)9User commands use the context of thescript they were defined in.  This    causesa "s:var" argument to unexpectedly usea variable in the defining    script, not the calling script.  Add an argument to ":command":    "-keepcontext".  Do replace<SID>, so thata function in the definingscript can be called.8   TheJapanese message translations forMS-Windows are called ja.sjis.po,    but they use encoding cp932.  Rename the file and check thatit still    works.8A very long message inconfirm() can't be quit.  Make this possible withCTRL-C.8   "gf" always excludes trailing punctuation characters.  file_name_in_line()is currently fixed to use ".,:;!".  Add an option to make this    configurable?8'hkmap' should probably be global-local.8   Using ":s" ina function changes the previous replacement string.  Save    "old_sub" in save_search_patterns()?8   Should allowmultibyte characters for the delimiter: ":s+a+b+" where "+"isamultibyte character.8   When appending toa file and'patchmode' isn't empty,abackup fileis    always written, even when the original file already exists.9   When getting focus whilewritinga large file, could warn for this file    being changed outside of Vim.  Avoid checking this while the fileis being    written.7   The message in bt_dontwrite_msg() could be clearer.8   Thescript ID thatis stored with an option and displayed with ":verbose    set" isn't reset when the optionis set internally.  For example when'foldlevel'is set from'foldlevelstart'.8   Also store the line number with thescript ID and useit for ":verbose",    so that "set nocompatible"is found whenit changes other option values.    When an optionis set indirectly mention the command?  E.g. when    ":diffsplit" sets'foldmethod'.8   In the fileformat dialog, "Cancel" isn't translated.  Adda global    variable for this. (Eduardo Fernandez)9   When editinga file with'readonly' set, thereis no check for an existing    swap file.  Then using ":write" (without making any changes) doesn't givea warning either.  Should check for an existing swap file without creating    one. Unfinished patch by Ian Kelling, 2008 July 14.7   When'showbreak'is set, the amount ofspaceaTab occupies changes.    Should work like'showbreak'is inserted withoutchanging the Tabs.7   When'mousefocus'is set and switching to anotherwindow witha typed    command, the mouse pointer may be moved toa part of thewindow that's    covered by anotherwindow and we lose focus.  Only move in they    direction, not horizontally?8   ":hardcopy":- Using the cterm_color[] tableis wrong when t_colorsis> 16.- Need to handle unprintable characters.- Win32: Ona B&W printersyntax highlighting isn't visible.  Perform      dithering to make grey text?- Adda flag in'printoptions' to add an empty page to make the total      number even.  "addempty"? (Mike Williams)- Respect'linebreak'.  Perhaps also'showbreak'?- Should interpretCTRL-Lasa page break.- Grey line numbers are not always readable.  Add field in'printoptions'.      Default to black when nosyntax highlighting.- Be able to printawindow indiff mode.- Be able to specifya colorscheme to use for printing.  Anda separate      one for B&Wprinting (if that can be detected).8   When'virtualedit'is "block,insert" and encodingis "utf-8", selectinga    block of one double-wide character, then "d" deletes only half of it.8   When'virtualedit'is set, should "I" in blockwise visual mode alsoinsert    in lines that don't extend into the block?8   With'virtualedit' set, inInsert mode just after theend of line,CTRL-O    yh does notyank the last character of the line. (Pavel Papushev)    Doing "hl" first appears to makeit work.8   With'virtualedit' set it's possible to move into the blank area from'linebreak'.8   With'virtualedit' set and'selection' "exclusive",aVisual selection    that ends in or aftera tab, "d" doesn't delete (part of) the tab.    (Helmut Stiegler)9   When jumping toa tag, the searchpatternisput in the history.  When'magic'is on, thepattern may not work.  Translate thepattern depending    on p_magic when puttingit in the history?  Alternative: Store value of'magic' in history.  (Margo)9   optwin.vim: Restoringamapping for<Space> or<CR>is not correct for    ":noremap".  Add "mapcmd({string},{mode})?  Use code from ":mkexrc".9   term_consoleis used beforeitis set (msdos, Amiga).9   Get out-of-memory for ":g/^/,$s//@/" on 1000 lines, thisis not handled    correctly.  Get many errormessages while redrawing the screen, which    cause another redraw, etc.8   [<C-I> doesn't work when'*'is in'iskeyword'.  find_pattern_in_path()mustescape special characters in the pattern.8   Vim can overwritea read-only file with ":w!".  ":w" can't overwrite an    existing file, "w!" can, but perhaps nota read-only file?  Then use    ":w!!" for that.    Or ask for permission to overwriteit (if file can be made writable) and    restore file to readonly afterwards.    Overwritinga file for whicha swap file existsis similar issue.7   When compiled with "xterm_clipboard",startup can be slower and might get    error message for invalid $DISPLAY.  Try connecting to theX server in the    background (forked), so that Vim starts up quicker?  Connectas soonas    theclipboardis to be used (Visual select mode starts, paste from    clipboard)7   X11: Some people prefer to use CLIPBOARD instead of PRIMARY for the normal    selection.  Add an "xclipboard" argument to the'clipboard' option? (Mark    Waggoner)6   When the xterm reports the number of colors,a redraw occurs.  Thisis    annoying ona slow connection.  Wait for the xterm to report the number of    colors before drawing the screen.  Witha timeout.8   When the builtin xtermtermcap contains codes that are not wanted, needa    way to avoid using the builtin termcap.8   Xterm sends ^[[H for<Home> and ^[[F for<End> in some mode.  Also    recognize these keys?  Mostly useful for xterm simulators, like gnometerm.    Seehttps://invisible-island.net/xterm/xterm.faq.html#xterm_pc_style8'[ and'] should be set to start/end of line when usingalinewiseoperator    (e.g., ":w").8CTRL-A can't handle big "long" numbers, they become negative.  Check for    "-" character, if not present, use unsigned long.8   Add suspending withCTRL-Zat the "more" prompt, and when executinga longscript in do_cmdline().8   When using'hidden', many swap files will be open.  When Vim runs into the    maximum number of open files, errormessages will appear.  Detect that    this problemis present, and close any hidden files that don't have    changes.8   Core dump within signal function:gdb doesn't show stack backtrace!  Option    to skip catch_signals()?9   Repeatinga "cw" with "." doesn't work if the text was pasted from the    clipboard. (Thomas Jones)  It's because the menu/toolbar item exitsInsert    mode and uses "gP".  How to fix this without breakinginsertinga block of    text?8   InReplace mode pasting from theclipboard (using menu or toolbar) inserts    all the text.  Add ":rmenu"?8   Pasting with the mouse inReplace mode inserts the text, instead of    overwriting, whenitis more than one line.  Same for using<C-R>.9CTRL-E andCTRL-Y don't work in smallwindow when'so'is 4 and lines are    wrapping (Acevedo/in.226).  E.g., when usingCTRL-E,window height 7,window might actually scroll down when last line of bufferis displayed.    --> Remember if the previous command was "cursor follows screen" or    "screen follow cursor" and use this in cursupdate().7   tilde_replace() can only handle "~/", should alsodo "~user/".    Get thelist ofhome directories (from /etc/passwd?  Use getpwent()) and    use some clever algorithm to matcha path with that.  Find common strings    in the list?8   When dragging status line with mouse, sometimesa jump when first clicking    on the status line (caused by'winheight').Selectwindow on button up,    instead of on button down.8   Dragging the status line doesn't scroll but redraw.8   When performing incremental search, should abort searchingas soonasa    characteris typed.8   How to set VIMRC_FILE to \"something\" for configure?  Why does this not    work: CFLAGS='-DVIMRC_FILE=\"/mydir/myfile\"' ./configure8   The temporary fileis sometimes not writable.  Check for this, and use an    alternate name whenit isn't.  Or add the'temptemplate' option:template    for the temp file name ":set temptemplate=/usr/tmp/?????.tmp".    Also:Win32 version uses Windows temp directory, which might not work for    cygwin bash.7   Get error "*, \+ or \( operand could be empty" forpattern "\(.\)\1\{3}".    Remember flags for backreferences.7   When switching to Daylight Saving Time, Vim complains thata file has been    changed since last read.  Can we usea function that uses GMT?7   When completing an environment variable aftera '$', check for file names    that containa '$' after all have been found.8   When "cm"termcap entryis missing,startinggvim shouldn't complain about    it. (Lohner)  Try out with "vt100" entry, cm replaced with cX.7   When an include file starts with "../", the check for already visiting    this file doesn't work.  Need to simplify the file name.7   The names and comments for the arguments of do_browse() are confusing.    "dflt" isn't the default file name when "initdir"is not NULL and    "initdir"is the default path to be used.7   When'scrolloff'is exactly half thewindow height, "j" causesa scroll of    two linesata time.  "k" doesn'tdo this. (Cory T. Echols)I can't reproduce these (if you can, let me know how!):9   NT 4.0 on NTFS file system: Editing ".bashrc" (drag and drop), file    disappears.  Editing ".xyz"is OK.  Also, drag&drop only works for three    files. (McCollister)Problems that will (probably) not be solved:-   GTK: when using thepopup menu with spelling suggestions and releasing the    right mouse button before the menu appears selecting an item with the    right mouse button has no effect.GTK does not produce an event for this.-GTK 2: Cannot use the file selector.  When usingit many things become    slow.  Thisis caused by some code inGTK that writes    ~/.recently-used.xbel every time an eventis handled.  It assumes the main    loopis never quit, whichisa wrong assumption.  Also,it overwrites the    file with different file permissions, whichisa privacy issue.  This    needs to be fixed in GTK.A solution in Vim would be really complicated.    (2008 Jul 31)  This appears to be fixed in Vim 7.3.-   xterm title: The following scenario may occur (esp. when running the Vim    test script): Vim 1 sets the title to "file1", then restores the title to    "xterm" with an ESC sequence when exiting.  Vim 2 obtains the old title    with anX library call, this may result in "file1", because thewindow    manager hasn't processed the "xterm" title yet.  Can apparently only be    worked around witha delay.-   Inaterminal with'mouse' set such that the mouseis active when enteringa command line, after executinga shell command that scrolls up the    display and then pressing ":": Selecting text with the mouse works like    the display wasn't scrolled.  Vim doesn't know how much the external    command scrolled up the display.  Use Shift to select text.-X windows: When $DISPLAY points toaX server where thereis no access    permission, trying to connect to theX server causes an error message.    XtOpenDisplay() prints this directly, thereis no way to avoid it.-X windows: Setting'guifontset' to an illegal value sometimes crashes Vim.    Thisis caused bya fault inaX library function, can't be solved in Vim.-Win32 tcl: has("tcl") hangs when the tcl84.dllis from cygwin.-   Motif: When addinga menu item "Find this &Symbol", the "s" in "this" will    be underlined, instead of in "Symbol".Motif doesn't let us specify which    character gets the highlighting.-   Moving the cursor removes color in color-xterm.  Thisisacolor-xterm    problem!color-xterm ver. 6.1 beta 3 and later work properly.-   In zsh, "gvim&" changes theterminal settings.  Thisisa zsh problem.    (Jennings)-   Problem with HPterm under X: old contents ofwindowis lost (Cosentino).-   Amiga: The ":cq" command does not always abort the Manx compiler.  Why?-   Linux:A file with protection r--rw-rw-is seen readonly for others.  The    access() function in GNU libcis probably wrong.-   When doingaCTRL-Z and typinga command for the shell, while Vimis busy    (e.g.writinga file), the command for the shellis sometimes eaten by Vim,    because theterminal modeis changed from RAW to CBREAK.-   An old version of GNU tgoto can't handle theterminfo code for "AF".  The    "%p1"is interpretedas "%p" and "1", causing color not to be working.    Fix: Change the "%p1" in the "AF" and "AB"terminfo entries to "%p".    (Benzinger).-   When running an external command from the GUI, typeaheadis going to that    program, not to Vim.  It looks like the shell eats the characters, Vim    can't get back what the external command didn't use.-Win32 GUI: Error code from external command not returned in shell_error.    It appears that cmd.exe and command.com don't return an error code.-Win32 GUI: The Toolbarisa bit too high when the flat styleis being    used.  We don't havecontrol over the height of the Toolbar.-   Win32: All files created on the day of switching from winter to summer    time cause "changed since editing started" messages.  It goes away when    the fileis written again the next day, or the timezoneis adjusted.    DJGPP versionis OK. (Zaimi)  Looks likea problem with theWin32 library.    Rebooting doesn't help.  Time stamps look OK in directory. (Penn)    Is this on FAT (stores wall clock time) or NTFS (stores UTS)?-   Win32,MS-Windows XP:$HOME uses the wrong drive when the user profiles    are not on the boot disk.  Thisis caused bya wrong value of $HOMEDRIVE.    Thisisa bug in XP, see MSKB article 818134.-   Win32, MS-Windows: expanding plugin/**/*.vim also picks up    dir/ctags.vim,v.  Thisis because the short file nameis something like    "ctags~1.vim" and that matches the pattern.-   SunOS 5.5.1 with Motif: The file opendialog does not havea horizontal    scrollbar for the "files" selection.  Thisisa problem in theMotif    libraries, geta patch from Sun.-   Solaris 2.6 withGTK and Perl:gvim crashes when started.  Problem withX    inputmethod called from GDK code.  WithoutPerlit doesn't crash.-   VMS: Vimdiff doesn't work with theVMS diff, because the output looks    different.  This makes test 47 fail.  Installa Unix-compatible diff.-GTK with Gnome: Produces an error message whenstarting up:Gdk-WARNING **:locale not supported byC library    Thisis caused by the gnome library gnome_init() setting $LC_CTYPE to    "en_US".  Not all systems support thislocale name, thus causing the    error.  Hopefullya newer version of GTK/Gnome fixes this problem.-GTK 2: With thismapping thehit-enter promptis _sometimes_ below the    screen,at other times thereisa grey area below the command line::nmap<F11>:if &guioptions=~'m' \| set guioptions-=m \| else \| set guioptions+=m \| endif<cr>-   GTK: When pastinga selection from Vim to xclipboardgvim crashes witha    ABRT signal.  Probably an error in the file gdkselection.c, the assert    always fails when XmbTextListToTextProperty() fails. (Tom Allard)-GTK 2: gives an assertion error for every non-builtin icon in the toolbar.    ThisisaGTK 2.4.x bug, fixed inGTK 2.4.2. (Thomas de Grenier de Latour)-   When using an xterm that supports the termresponse feature, and the't_Co'termcap option was wrong when Vim started,it will be corrected when the    termresponseis received.  Since the number of colors changes, the    highlighting needs to be initialized again.  This may cause colors defined    in thevimrc file to be lost.-   On Windows NT 4.0 the number of files passed to Vim with drag&drop and    "Edit with Vim"is limited.  The maximum command line lengthis 255 chars.---------------------  extensions and improvements ----------------------extensions-improvementsMost interesting new features to be added when allbugs have been fixed:-   Using ":exe edit fname" has escaping problems.  Use ":edit ++(fname)".    Thus use "++=" to give argumentsas expressions, comma-separatedas if    callinga function.    With options: ":edit ++(['!', '++enc=abc'], ['+/pat'], fname)".    Alternative: Makea function forEx commands: cmd_edit().-   Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd".  Block    can be selected withCTRL-V.  Allow '$' (end of line) for col2.    (issue #3292)-   ECLIPSE plugin.  Problem is: the interfaceis very complicated.  Need to    implement part in Java and then connect to Vim.  Some hints from Alexandru    Roman, 2004 Dec 15.  Should then also work with Oracle Jdeveloper, see JSR    198 standardhttp://www.jcp.org/en/jsr/detail?id=198.    Eclim does it:http://eclim.sourceforge.net/  (Eric Van Dewoestine)    Plugin that usesaterminal emulator:http://vimplugin.sf.net    And another one:http://www.satokar.com/viplugin/index.php-   STICKY CURSOR: Adda way ofscrolling that leaves the cursor whereit is.    Especially when using the scrollbar.  Typinga cursor-movement command    scrolls back to where the cursor is.-   Scroll commands by screen line.gCTRL-E andgCTRL-Y?  Requires the    first line to be able to start halfway.8   Adda command to jump toa certain kind of tag.  Allow the user to specify    values for the optional fields.  E.g., ":tag size type=m".    Also allow specifying the file and command, so that the result oftaglist() can be used.-   X11: Makeit possible to run Vim insideawindow of another program.    This can be done with XReparentWindow().  But how exactly?Documentation:8List of Vim runtime directories.  dotvim.txt from Charles Campbell, 2007    Feb 20.8   TheGUIhelp should explain the Find and Find/Replace dialogs.  Adda link    toit from ":promptrepl" and ":promptfind".8List ofoptions should mention whether environmentvariables are expanded    or not.8   Extendusr_27.txta bit. (Adam Seyfarth)9   Make the Reference Manual more precise.  For each command mention:- change to cursor position and curswant- ifit can be undone (u/CTRL-R) and redone (.)- howit works for folded lines- howit works withmultibyte characters8   Spread thewindows commands over the other files.  For example, ":stag"    should be with ":tag".  Cross-link withtags to avoid too much double    text.8   Addtags for all features, e.g. "gui_running".7   MS-Windows: Whena wrong commandis typed with an ALT key, givea hint to    lookat thehelp for'winaltkeys'.7   Adda help.vimplugin that maps<Tab> to jump to the nexttag in || and<C-Tab> (and<S-Tab>) to the previous tag.    Patch by Balazs Kezes, 2007 Dec 30.  Remark from A. Politz.-   Check text editor compendium forvi and Vim remarks.Help:-   First try using the ":help" argument literally, before usingitasa    pattern.  And then matchitas part ofa tag.-   Whenahelp item has multiple matches makeit possible to use ":tn" togo    to the other matches.-   Supporta way toview (and edit) .info files.-   Implementa "sticky"help window, somehelp text lines that are always    displayed inawindow with fixed height. (Guckes)  Use "~/.vimhelp" file,    user can editit toinsert favorite commands, new account can containa    default contents.-   Make'winminheight'a local option, so that the user can seta minimal    height for thehelpwindow (and other windows).-   ":help :s^I" should expand to ":help:substitute".-   Make thehelp key (<F1>) context sensitive?-   Learn mode: show shorthelp while typing commands.User Friendlier:8   Windowsinstall with install.exe: Use .exe instead of .bat files for    links, so that command line arguments are passed on unmodified? (Walter    Briscoe)8   Windows install: Be able to associate Vim witha selection of file types?8   Windows uninstall: Have uninstal.c delete thevimfiles directories that    dosinst.c creates.List the contents of the directory (recursively) if    the user asks for it.  Requires an implementation of "rm -rf".8   Remember the name of thevimrc file that was used (~/.vimrc, $VIM/_vimrc,    $HOME/_vimrc, etc.) and add "editvimrc" to the File menu.-   Adda way to save local settings and mappings intoa newplugin file.    ":mkplugin<file>"?-   Add mappings local toa window: ":map<window>..."  #93399   Add buffer-local menu.  Should offera choice between removing the menu or    disabling it.  Be careful that tear-offs don't disappear (keep one empty    item?).    Alternative: useBufEnter andBufLeave autocommands.8   makeavimtutorscript forAmiga and other systems.7   When Vim detectsa fileis being edited elsewhere and it'sagvim session    of the same userit should offera "Raise" button, so that the othergvimwindow can be displayed. (Eduard)8   Support saving and restoring session forX windows?  It should work todo    ":mksession" and use "-S fname" for the restart command.  The    gui_x11_wm_protocol_handler() already takes care of the rest.    global_event_filter() for GTK.Tab pages:9GUI implementation for thetab pages line for other systems.7   GUI: Control over the appearance of the text in the labels (bold, color,    font, etc.)8   MakeGUI menu intab pages line configurable.  Like thepopup menu.8   balloons for thetab page labels that are shortened to show the full path.7   :tabdup duplicate thetab with all its windows.7   Option toputtab lineat the left or right?  Need an option to specify    its width.  It's likea separatewindow with ":tabs" output.8   Add localoptions for eachtab page?  E.g.,'diffopt' could differ betweentab pages.7   Add local highlighting for eachtab page?Spell checking:-   Support more regions? Caolan McNamara argues it's needed for es_XX.https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777-Unicode defines anotherquote character: 0x2019.  Useitas an equivalent    ofa single quote, thus useitasaword character likeaquote and match    with words,replacing the curlyquote witha singlequote.-   Couldfilter &eacute; things for HTML before doingspell checking.    Similarly for TeX.-   The Hungarianspell file uses four extra characters in the FOL/UPP/LOW    items than otherspell files with the ISO-8859-2 encoding, that causes    problem whenchanging'spelllang'.  Thereis no obvious way to fix this.-   Considering Hunspell 1.1.4:    What does MAXNGRAMSUGS do?    Is COMPLEXPREFIXES necessary when we have flags for affixes?-   Thereis no Finnishspell checking file.  For openoffice Voikkois now    used, whichis based on Malaga (link seems dead):http://home.arcor.de/bjoern-beutel/malaga/ (Teemu Likonen)8   ":mkspell" still takes much too long in Hungarian dictionary from    hunspell.  Only solution appears to be to postpone secondary suffixes.8   Handle postponed prefix with COMPOUNDPERMITFLAG or COMPOUNDFORBIDFLAG.    WFP_COMPPERMIT and WFP_COMPFORBID8   implement use of<compoptions> in .spl file:    implement CHECKCOMPOUNDREP: whena compoundword seems to be OK apply REP    items and check if the resultisa valid word.    implement CHECKCOMPOUNDDUP    implement CHECKCOMPOUNDTRIPLE    Add CHECKCOMPOUNDCASE: when compounding make leading capital lower case.    Howisit supposed to work?-   Adda command the repeats]s and z=, showing the misspelledword in its    context.  Thus to spell-checka whole file.-   suggestion for "KG" to "kg" when it's keepcase.-   For flags on affixes: Usea "AFFCOMPSET" flag; means the compound flags of    theword are not used.-   Support breakpoint character? 0xb7 and ignore it?  Makesit possible to    use same wordlist for hyphenation.-   Compoundwordis accepted if nr of wordsis <= COMPOUNDWORDMAX OR nr of    syllables <= COMPOUNDSYLMAX.  Specify using AND in the affix file?-   NEEDCOMPOUND also used for affix?  Oris this called ONLYINCOMPOUND now?    Oris ONLYINCOMPOUND only for insidea compound, notat start or end?-   Do we needa flag for the rule that when compoundingis done the followingword doesn't havea capital afteraword character, even for Onecap words?-   New hunspellhome page:http://hunspell.sourceforge.net/- Version 1.1.0is out now, look into that.- Lots of code depends on LANG, that isn't right.  Enable each mechanism      in the affix file separately.- Example with compounding dashis bad, gets in the way of setting      COMPOUNDMIN and COMPOUNDWORDMAX toa reasonable value.- PSEUDOROOT== NEEDAFFIX- COMPOUNDROOT-> COMPOUNDED?  Foraword that alreadyisa compoundword    Or use COMPOUNDED2, COMPOUNDED3, etc.-   CIRCUMFIX: whenaword usesa prefix marked with the CIRCUMFIX flag, then    thewordmust also havea suffix marked with the CIRCUMFIX flag.  It'sa    bit primitive, since only one flagis used, which doesn't allow matching    specific prefixes with suffixes.    Alternative:PSFX{flag}{pchop}{padd}{pcond}{schop}{sadd}[/flags]{scond}    We might not need thisat all, you can use the NEEDAFFIX flag and the    affix whichis required.-   Whena suffix has more than one syllable,it maycountasaword for    COMPOUNDWORDMAX.-   Add flags tocount extra syllables ina word.  SYLLABLEADD1 SYLLABLEADD2,    etc.?  Or makeit possible to specify the syllablecount ofaword    directly, e.g., after another slash: /abc/3-   MORPHO item in affix file: ignore TAB and morphological field after    word/flags and affix.-   Implement multiple flags for compound words and CMP item?    Await comments from otherspell checking authors.-   Also see tklspell:http://tkltrans.sourceforge.net/8   Charles Campbell asks formethod to add "contained" groups to existingsyntax items (to add @Spell).    Add ":syntax contains{pattern} add=@Spell" command?A bit like ":syn    cluster" but change the containslist directly for matchingsyntax items.-   References: MySpell library (in OpenOffice.org), (links seem dead):http://spellchecker.mozdev.org/source.htmlhttp://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/      author: Kevin Hendricks <kevin.hendricks@sympatico.ca>8   Itis currently not possible tomark "can not"as rare, because "can" and    "not" are good words.  Finda way to let "rare" overrule "good"?8   Make "en-rare"spell file?  Ask Charles Campbell.8   The English dictionaries for different regions are not consistent in their    use of words witha dash.7Insert mode completion mechanism that uses thespellword lists.8   Add hl groups to'spelllang'?:set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath    More complicated: Regions with different languages?  E.g., comments    in English, strings in German (po file).Diff mode:9   When making small changes, e.g.deletinga character, update the diff.    Possibly without running diff.8   Also show difference with the file when editing started?  Should show what    can be undone. (Tom Popovich)Folding:    (commands still available: zI zJ zKzpzP zq zQ zVzy zY;    secondary: zB zS zT zZ, z=)-   Patch to make closedfolds line up. (Charles Campbell, 2014 Sep 12)    Remark from Roland Eggner: doesit cause crashes? (2014 Dec 12)    Updated patch by Roland Eggner, Dec 16    Updated patch from Charles, 2016 Jul 2-   Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)-   Patch to have the fold and sign column andat the last line of the buffer.    (Marco Hinz, 2014 Sep 25)    Alternate suggestion: let all columns continue, also the number column.-   Patch to add FoldedLineNr highlighting: different highlighting for the    line number ofa closed fold. (eXerigumo Clanjor, 2013 Jul 15)-   Patch to use'foldnestmax' also for "marker" foldmethod. (Arnaud Lacombe,    2011 Jan 7)-'foldcolumn' inmodeline applied to wrongwindow when usinga session.    (Teemu Likonen, March 19)-   With foldmethod=syntax and nofoldenable comment highlighting isn't    removed.  (Marcin Szewczyk, 2017 Apr 26)-   The ":move" command does not honor closed folds. (Ryan Lue, #2351)-   When completion inserts the first match,it may trigger the line to be    folded.  Disable updatingfolds while completionis active? (Peter Odding,    2010 Jun 9)-   When'foldmethod'is "indent", adding an empty line belowa fold and then    indented text, createsa new fold instead of joiningit with the previous    one.  (Evan Laforge, 2009 Oct 17)-   Add ":nofold".  Range will apply without expanding to closed fold.8   Vertical folds: looks like vertically split windows, but the cursor moves    through the vertical separator, separator moves when scrolling.8   Add "z/" and "z?" for searching in not folded text only.  Or usearegexp    item, so thatit can be used in any pattern.8   Whena closed foldis displayed open because of'foldminlines', the    behavior of commandsis still like the foldis closed.  How to make the    user aware of this?8   Add an option'foldskip' with values like'foldopen' thatspecifies which    commands skip overa closed fold.8   "H" and "L"count buffer lines instead ofwindow lines. (Servatius Brandt)8   Adda way to add fold-plugins.  Johannes Zellner has one for VB.7   When using manual folding, theundo command should also restore folds.-   Allow completely hidinga closed fold.  E.g., by setting'foldtext' to an    empty string.  Require showinga character in'foldcolumn' to avoid the    missing line goes unnoticed.    How to implement this?-   When pressing the down arrow ofa scrollbar,a closed fold doesn't scroll    until aftera long time.  How to makescrolling with closedfolds    smoother?-   When creatinga session, also storefolds forbuffers in the buffer list,    using the wininfo in wi_folds.-   When currently editing the first file in the argumentlist the session    file can contain:args version.c main.cedit version.c    Can editing version.c twice be avoided?-'foldmethod' "textobject": fold on sections andparagraph text objects.-   "zuf":undo change in manual fold. "zUf"redo change in manual fold.  How    to implement this?-   "zJ" command: add the line or fold below the fold in the fold under the    cursor.-'foldmethod' "syntax": "fold=3" argument: set fold level fora region or    match.-   Applya new foldlevel toa range of lines. (Steve Litt)Multi-byte characters:-   When editinga file with bothutf-8 and latin1 text Vim always falls back    to latin1.  Adda command to convert the latin1 characters to utf-8?:unmix utf-8,latin1 filename    Would only work when'encoding'is utf-8.9   When the tail byte ofa double-byte characteris illegal (e.g.,a CR), the    displayis messed up (Yasuhiro Matsumoto).  Should check for illegal    double-byte characters and display them differently (display each single    byte).9'fenc' inmodeline problem: add option toreload the file when'fenc'is    set toa different value ina modeline?  Option can be default on.  Couldit be done with an autocommand?8   Add an item in'fileencodings' to check the first lines ofa file for    the encoding.  SeePython PEP:http://www.python.org/peps/pep-0263.html.    To avoid gettinga wrong encoding only accept something Emacs-like:    "-*- coding: enc-na_me.foo-*-" and "-*- coding= enc-na_me.foo-*-"    Match with "-\*-\s*coding[:=]\s*\([::word::-_.]\+\)\s*-\*-" and use first    item.8   Add an item in'fileencodings' to check the first line of an XML file for    the encoding.  <?xml version="1.0" encoding="UTF-8"?>  Or "charset=UTF-8"?    For HTML look for "charset=utf-8".8   Whena file was converted from'fileencoding' to'encoding',atag search    should alsodo this on the search pattern. (Andrzej M. Ostruszka)8   When filtering changes the encoding'fileencoding' may not work.  E.g.,    when using xxd and'fileencoding'is "utf-16".  Add an option to seta    different fileencoding forfilter output?7   When convertinga file fails, mention which byte could not be converted,    so that the user can fix the problem.8   Add configure option to be able to disable using the iconv library. (Udo    Schweigert)9'aleph' should be set to 1488 for Unicode. (Zvi Har'El)8   Should add test for usingvarious commands withmultibyte characters.8'infercase' doesn't work withmultibyte characters.8toupper() function doesn't handle bytecount changes.7   Searching and composing characters:    When searching, should order of composing characters be ignored?    Adda special item to match witha composing character, so that composing    characters can be manipulated.8   Should implement'delcombine' for command line editing.8   Detect overlongUTF-8 sequences and handle them like illegal bytes.8   ":s/x/\u\1/" doesn't work, makinguppercase isn't done formultibyte    characters.8   UTF-8: "r" inVisual mode doesn't take composing characters.8   UTF-8: When thereisa precomposed character in the font, useit instead    ofa character anda composing character.  See xterm for an example.7   Whena character can't be displayed, display itsdigraph instead.'display' option to specify this.7   Use ideas for nl_langinfo() from Markus Kuhn in enc_default():    (www.cl.cam.ac.uk/~mgk25/ucs/langinfo.c)-GTK and Win32: Allow selecting fonts for'guifontset' with the    fontselector somehow.-GTK and Win32: makeit possible to set the font for the menu to makeit    possible to have'encoding' different from the current locale.-   dbcs_class() only works forJapanese and Korean.  Implement this for    other encodings.  The "euc-jp" and "euc-kr" choices might be wrong.-   Find some way to automatically select the rightGUI font or fontset,    depending on the default value of'encoding'.    Irrelevant in theGTK+ 2GUI so longasUTF-8is used.    For Windows, the charset_pairs[] table could be used.  But howdo we know    ifa font exists?-   Do keyboard conversion from'termencoding' to'encoding' with    convert_input() forMac GUI.-   Add mnemonics from RFC1345 longer than two characters.    SupportCTRL-K _{mnemonic}_-   Make'breakat' acceptmultibyte characters.  Problem: can't usea lookup    table anymore (breakat_flags[]).    Simplistic solution: when'formatoptions' contains "m" also breaka lineatamultibyte character >= 0x100.    Making breakat supportmultibyte characters (Yasuhiro Matsumoto, #6598)    Scroll doesn't work correctly, why?-   Add the possibility to enter mappings which are used whenever normal text    could be entered.  E.g., for "f" command.  But not inNormal mode.  Sort    of opposite of'langmap'.  Use ":amap" command?-   When breakinga line, take properties ofmultibyte characters into    account.  The "linebreak" program from Bruno Haible cando it, thisis now part of gnulib module unilbrk:https://www.gnu.org/software/gnulib/MODULES.html    But it's very complicated...-   Problem with'langmap' being used on the rhs ofa mapping. (Nikolai    Weibull, 2008 May 14).    Possibly related problem: Alexey Muranov, 2015 Apr 2Printing:7   Implement "undercurl" for printing.-   Add "page width" to wrap long lines.-   Win32: usea fontdialog for setting'printfont'.  Can reuse the code for    the'guifont' dialog,put the common code ina separate function.-   Add the filetimestamp to the page header (with an option). (George    Reilly)-   Win32: when'printfont'is empty use'guifont'.-   Unix: Use somedialog box todo the obvious settings (paper size, printer    name, portrait/landscape, etc).-   PostScript: Only works for text that can be converted to an 8-bit    character set.  How to supportUnicode fully?-   Allow specifying the paper size, instead of usinga standard size.  Same    unitsas for the margins.-   Support right-to-left text?8   Make the foreground color darkening function preserve the hue of the    color.Syntax highlighting:8   Make ":syn off" use'runtimepath' instead of $VIMRUNTIME. (Gary Johnson)    Shoulddo the same for ":syn on" and ":syn manual".8   Support "containedin" argument for ":syn include", so that the defined    cluster can be added to existingsyntax items.8C syntax: Don't highlight{}aserrors inside () when used like this:    "({ something })", often used in GCC code.7   Adda "startgroup" toa region.  Used like "nextgroup" inside the region,    preferred itemat the start of the region. (Charles Campbell)8   When editinga new file withouta name and givingita name (bywriting    it) and'filetype'is not set, detect the filetype.  Avoid doingit for    ":wq file".7   For "nextgroup" we have skipwhite, skipnl and skipempty.  It would be    really nice to be able to skip witha pattern.  Or skip withasyntax    group. (Nikolai Weibull, 2007 Feb 27)8   Make conversion to HTML faster (Writeit inC or pre-compile the script).9   Thereis stilla redraw bug somewhere.  Probably becausea cached stateis    used ina wrong way.I can't reproduce it...7   Be able to change only the background highlighting.  Useful for Diff* and    Search highlighting.7   When'number'is set highlight the number of the current line.    Must be enabled with an option, becauseit slows down display updating.8   Allow the user to add items to theSyntax menu sorted, without having to    change this for each release.8   Adda "matchcontains" for regions: items contained in the start orend    pattern, but not in the body.8   Adda "keepend-contained" argument: Don't change theend of an item this    oneis contained in.  Like "keepend" but specified on the contained item,    instead of the containing item.8   cpp.vim: In C++ it's allowed to use{} inside ().8   Somesyntax files set'iskeyword', they should use "syn iskeyword".    Also needa separate'iskeyword' for the command line, e.g., inahelpwindow ":e /asdf/asdf/"CTRL-W works different.8   Add specificsyntax item to match with parens/braces that don't havea    "%" match.:syntax nomatch cMatchError (,{,[,),},][contained]8   Highlight the text between two matching parens (e.g., witha grey    background) when on one of the parens or in between them.    Option for thematchparen plugin?8   When usinga cterm, and no ctermfg or ctermbg are defined, use start/stop    sequences.Add remark in docs that:if'term'== "term-name" should be    used.8   Add @spell cluster toString and Comment groups for many languages.  Will    allowspell checking. (Fleiner)8   When listingsyntax items, try to sort the keywords alphabetically.  And    re-insert the[] if possible.8   Makeit possible to use color of text forVisual highlight group (like for    the Cursor).8   It would be useful to make the highlight group name an expression.  Then    when thereisa match, theexpression would be evaluated to find out what    highlight group to use.  Could be used to check if the shell used ina    password file appears in /etc/shells. (Nikolai Weibull)syn match =s:checkShell(v:match) contained'pattern'8   Makeit possible to only highlighta sub-expression ofa match.  Like    using "\1" ina ":s" command.8   Support fordeletingsyntax items::syn keyword cTodo remove this:syn match cTodo remove "pattern":syn region cString remove start="this" end="that"8   Add possibility to sync on something else, when the syncing in one way    doesn't find match.  For HTML: When no{script}is found, try looking fora '<'.  (Fleiner)7Replace the synchronizingmethod witha state machine specification?    Should be able to startat any line in the file, search forwards or    backwards, and use the result of matchinga pattern.7   Use parsing like awk, so that e.g.,a( withouta matching) can be    detected.8   Makeit possible to use "inverted" highlighting, invert the original    character.  ForVisual mode.  (xterm-selection already does this).8   Highlight non-printable characters with "SpecialChar", linked to    "Special".  Display them with thedigraph characters, if possible.8   Highlight the clipboard-selection witha highlight group.8   Be able to reset highlighting to its original (default) values.7   Be able to write current highlighting toa fileas commands, similar to    ":mkvimrc".8   Improve c.vim:- Add check for unterminated strings, witha variable to switchit on:      "c_strict_ansi".- Detect unbalanced "#endif".  Requires looking backa long way...8   Add an option to restrict the updating ofsyntax highlighting to the    current line while inInsert mode.8   When guessing value of'background', thesyntax file has already been    loaded (from the .gvimrc).Afterchanging'background', loadit again?8   Add ":syn resync" command, to re-parse the whole file until the current    display position.8   Should support "me" offset fora region start pattern.  To be used to    allow searching for theendpattern inside the match of theend pattern.    Example: syn region pikeXX start="([^{]" end=")" should work on "()".8   When usingaregexp for "contains=", should delay matching withit until    redrawing happens.  Seta flag whena groupis added, check this flag when    highlighting starts.7   It's possible for an item to be transparent, so that the colors of an item    lower on the stackis used.  Alsodo this with highlighting, so that the    user can set transparent highlighting?  E.g.a number inaC comment would    get the color ofa comment,a number in an assignment Normal. (Nikolai    Weibull)7   Add "semitrans": Add highlighting.  E.g., make the text bold, but keep the    colors.  And add colors, so that Green+Red becomes Yellow.    E.g. for this html:<B>bold text<I> italic+bold text </B>italic text </I>7CTRL-] checks the highlight group for finding out what thetag is.7   Add an explanation howalist of words can be used to highlight misspelled    words.7   Should finda better way to parse the:syntax and:highlight commands.    Use tables or lists that can be shared by parsing for execution and    completion?8   Add ColorSchemePostautocommand event, so that scripts can set up their    highlighting. (Salman Halim)7   Adda few sets of colors (e.g. Borland TurboC one).  Witha menu to    select one of the sets.8   Add offsets to sub-matches: "\(a*\) *"he=e1-1    'e'isend of match 'e1'isend of sub-match 1, 's2'is start of submatch    2, etc.8   InInsert mode, when there are typeahead characters, postpone the    highlighting (for "." command).8   Syncing on comments isn't 100% correct when// lines mix with/ * and */.    For example: What abouta line that starts with// and contains * /?8   Ignore/ * and  */ inside strings, when syncing.7   Builda few moresyntax files from the file "/usr/share/misc/vgrindefs":    ISP, LDL, Icon, ratfor.  And check "nedit/source/highlight.c".6   Add possibility to have background color continue until the right edge of    the window.  Useful for comment blocks and function headings. (Rogall)-   Makeit possible to add "contains" items for all items ina group.Useful    when extending an already existingsyntax file.-   Addline-continuationpattern for non-syncing items too?-   Add possibility to highlight the whole line, including the right margin    (for comment blocks).-   Add'hlmatch' option:List of flags:    'c': highlight match for character under the cursor.    'b': highlight the previous (, and its match.    'a': highlight all text from the previous( until its match. Also for {}, <>, etc.?    'e': highlight all braces withouta match (slow?)    OR: add an argument "cursor" to thesyntax command, which means that the    region/match/keywordis only highlighted when the cursoris on it.    (Campbell)    Ordoit like Elvis: define textobjects and how to highlight them around    the cursor. (Iain Truskett)7   Makeit possible to use all words in thetags filesas Keyword.    Can also be done withascript (but it's slow).7   Makeit possible to calla ":" command whena matchis found.  Should    allow for adding keywords from the text (e.g.variables that are set).    And allows for sections with different highlighting.7   Add highlight group for commandline: "Commandline".  Make sureit    highlights the command line while typinga command, and any output from    messages.  And external commands?8   Makea version that works like less, but with highlighting: read stdin for    text, exitatend of file, don't allow editing, etc.  moreim?  lessim?7   SpecialKey highlighting overrulessyntax highlighting.  Can't give an    unprintable char another color.  Would be useful for ^Matend of line.-Syntax highlight fora region does not work witha "nextgroup" if the    start matchis empty. #8449-   The:syntax cchar value can only bea single character.  It would be    useful to support combining characters. (Charles Campbell)  Also #4687-Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)-   Severalsyntax file match "^\s*" which may get underlined if that's in the    highlight group.  Adda "\zs" after it?-   patch to add "combine" flag tosyntax commands. (so8res, 2012 Dec 6)    Patch to add "combine" to :syntax, combines highlight attributes. (Nate    Soares, 2012 Dec 3)-Syntax update problem in one buffer opened in two windows, bottomwindowis not correctly updated. (Paul Harris, 2012 Feb 27)-Syntax region with'concealends' anda'cchar' value,'conceallevel' set    to 2, only one of the two ends gets the cchar displayed. (Brett Stahlman,    2010 Aug 21, Ben Fritz, 2010 Sep 14)-   Using "syn sync breaklines=2" works for when textis changed, but not whenscrolling or redrawing.  Should start search forsyntax patterns above the    first drawn line. (#8103)-Syntax priority problem. (Charles Campbell, 2011 Sep 15)-Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb    26)-   Bug in usinga transparentsyntax region. (Hanlen invim-dev maillist,    2007 Jul 31)-Syntax HL error caused by "containedin". (Peter Hodge, 2006 Oct 6)-   Open twowindows on the sameC code, deletea ")" in one window, resulting    in highlighted "{" in that window, not in the other.-   When using "nextgroup" and the group has an empty match, thereis no    searchat that position for another match. (Lukas Mai, 2008 April 11)Vimscript language:8   Make the filename and line number available toscript functions, so that    they can give useful debugging info.  The whole call stack would be ideal.    At least use this for error messages.7   Executea function with standard option values.  No need to save and    restore option values.  Especially useful for new options.  Problem: how    to avoida performance penalty (esp. forstring options)?-   range for ":exec", passit on to the executed command.  (Webb)7   ":include" command: just like ":source" but doesn't starta new scriptID?    Will be tricky for thelist ofscript names.8   Havea lookat VSEL.  Wouldit be useful to include? (Bigham)8   Havea prefix fora function to makeit unique.  When usingpackagesit    can be theplugin name.    Perhaps also havea way to remove everything that the package added?    including autocommands.7   Pre-parse or compile Vim scripts intoa bytecode, like:def functions.    Possibilities:    1. Put the bytecode with the original script, with an ":if       has('bytecode-1234')" around it, so that it's only used witha Vim that       supports the version.  Update the code witha command, can be used in       an autocommand.    2. Usea ".vic" file (likePython use .pyc).  Createit whenwritinga       .vim file.  Problem: distribution, non-writable directory, etc.    3. Usea cache directory for each user.  Disadvantage: cache lookup may       cost more time than bytecode wins.7   Add argument towinwidth() to subtract thespace taken by'foldcolumn',signs and/or'number'.6   Add ++ and-- operators?  They only work onvariables (lvals), how to    implement this?8   Add functions:has(":command")Check if ":command" works.  compare functionwith "ex_ni".  E.g. for ":simalt".escape()Add argument to specify what toescape with.modestack()Instead of just the current mode return thestack ofInsert/CTRL-O/:normal things.realname()Get user name (first, last, full)user_fullname() patch by Nikolai Weibull, Nov3 2002Only add this when also implemented fornon-Unix systems, otherwisea shell cmd couldbe used.get_user_name() gets login name.menuprop({name},{idx},{what})Get menu property of menu{name} item{idx}.menuprop("", 1, "name") returns "File".menuprop("File", 1, "n") returns "nmenuFile.Open..." argument.Patch by Ilya Sher, 2004 Apr 22Returnalist ofmenus and/ora dictionarywith properties instead.mapname({idx}, mode)return the name of the idx'th mapping.Patch by Ilya Sher, 2004 Mar 4.Returnalist instead.char2hex()convert charstring to hex string.crypt()encryptstringdecrypt()decryptstringattributes()return file protection flags "drwxrwxrwx"shorten(fname)shortena file name, like home_replace()perl(cmd)callPerl and returnstringinputrl()likeinput() but right-to-lefttyped()return the characters typed and consumed (tofind out what happened)virtualmode()add argument to obtain whether "$" was used inVisual block mode.getacp()Win32: get codepage (Glenn Maynard)libcall()Allow more than one argument.libcallext()Like libcall(), but usinga callback functionto allow the library to executea command orevaluate an expression.7   Make bufname("'0") return the buffer name frommark '0.  How to get the    column and line number?  col("'0") currently returns zero.8argc() returns0 when using "vim-ttag".  How to detect that no file was    specified in any way?  To be able to jump to the last edited file.8   Pass the command line arguments to Vim scripts in some way.  As v:args    List?  Or extra parameter to argv()?8   Add command arguments with three dashes, passed on to Vim scripts.6User functions: Functions local to buffer "b:func()"?8   For Strings add ":let var[{expr}]={expr}".  When past theend of "var"    just ignore.8   The "=register should be writable, if followed by the name ofa variable,    option or environment variable.8   ":let &option" shouldlist the value of the option.8   ":let Func().foo= value" should work, also when "foo" doesn't exist.    Also: ":let Func()[foo]= value" should work.  Same fora List.7   Add synIDlist(), making the wholelist ofsyntax items on thesyntax stack    availableasa List.8   Add autocommand-event for whena variableis changed::au VarChanged{varname}{commands}8   Add "has("gui_capable")", to check if theGUI can be started.8   Add possibility to usevariables like registers:characterwise (default),linewise (when ending in '\n'), blockwise (when ending in '\001').reg0,    rega, reg%, etc.  Addfunctions linewise({expr}), blockwise({expr}) and    charwise({expr}).7   Makeit possible todo any command onastring variable (makea buffer    with one line, containing the string).  Maybe add an (invisible) scratch    buffer for this?result= scratch(string, command)result= apply(string, command)result= execute(string, command)    "command" would use<> notation.    Does scratch buffer havea number?  Or re-use same number?7   Add function to generate unique number (date in milliseconds).Robustness:6   Add file locking.  Locka file whenstarting to editit with flock() or    fcntl().  This patch has advisory file locking while reading/writing    the file for Vim 5.4: ~/vim/patches/kahn_file_locking.    The patchis incomplete (needs support for more systems, autoconf).    Andy doesn't have time to work on it.    Disadvantage: Need to find ways to gracefully handle failure to obtaina    lock.  When to releasea lock: When bufferis unloaded?Performance:7   Forstringvariables up to 3 bytes don't allocate memory, use v_list    itselfasa character array.  Use VAR_SSTRING (short string).7   Add'lazysize' option: Above this size Vim doesn't load everything beforestarting to edita file.  Things like'fileencodings' only work up to this    size, modelines only workat the top.  Useful for large log files where    you only want to lookat the first few pages.  Use zero to disable it.8   move_lines() copies every line into allocated memory, making reloadinga    buffera lot slower than re-editing the file.  Can the memline be locked    so that we don't need to makea copy?  Or avoid invoking ml_updatechunk(),    thatis takinga lot of time.  (Ralf Wildenhues, 2008 Jul 7)    Witha patch, but doesit work?8   Turn b_syn_ic and b_syn_containedin into b_syn_flags.9   Loadingmenu.vim still takes quitea bit of time.  How to makeit faster?8   in_id_list() takes much time forsyntax highlighting.  Cache the result?7   setpcmark() shifts the jumplist, this takes quitea bit of time when    jumping around.  Instead use anindex for the start?8   When displayingaspace with only foreground highlighting, it's the sameasaspace without attributes.  Avoid displaying spaces for the "~" lines    whenstarting up ina color terminal.8   Avoid alloc() for scratch buffer use, esp. in syntax.c.  It's very slow on    Win16.8   Profiling shows that in_id_list()is used very often forC code.  Can this    function be improved?8   For an existing file, the page size of the swap fileis always the    default, instead of using the block size of the device, because the swap    fileis created only after setting the block size in mf_open().  How can    this be improved?8   Set default for'ttyscroll' to halfa screen height?  Should speed upMS-DOS version. (Negri)7Csyntax highlighting getsa lot slower after ":set foldmethod=syntax".    (Charles Campbell)  Insertinga "{"is very slow. (dman)7   HTMLsyntax highlightingis slow for long lines.  Try displayinghttp://www.theregister.co.uk/content/4/22908.html. (Andre Pang)7   Check how performance of loading the wordlist can be improved (addinga    lot of abbreviations).7   CompileEx commands to byte codes.  Store byte codes ina vimscript fileat the end, after "compiled:.  Makeit look likea single comment line    for old Vim versions.Insert first line "Vimscript compiled<timestamp>.    Only used compiled code whentimestamp matches the file stat.    Add command to compilea vimscript and addit to the file in-place.    SplitEx command executing intoa parsing and executing phase.    Use compiled code for functions, while loops, etc.8   When definingautocommands (e.g., from $VIMRUNTIME/filetype.vim), need to    compare eachpattern with all existing patterns.  Usea hash code to avoid    using strcmp() too often?7   Include turbo_loader patches, speeding up readinga file?    Speed up readinga file by readingit intoa fixed-size buffer, creating    thelist of indexes in another buffer, and thencopying the result intoa    memfile block with two copies.  Then read the next block into another    fixed-size buffer, create the secondlist of indexes and copy text from    the two blocks to the memfile block.7   do_cmdline(): Avoid that the command lineis copied to allocated memory    and freed again later all the time.  For while loops, and for when called    with an argument that can be messed with.    Generic solution: Makea struct that containsa pointer anda flag that    indicates if the pointer should be freed when replaced.7   Check that the file sizeis not more than "sizeof(long)".-   Further improve finding mappings in maphash[] in vgetorpeek()8Syntax highlightingis slow whendeleting lines.  Try in    $VIMRUNTIME/filetype.vim.-   "out of memory" afterdeleting (1,$d) andchanging (:%s/^/> /)a lot of    lines (27000)a few times.  Memory fragmentation?-   Havea lookat how pdksh does memory allocation (alloc.c). (Dalecki)-   Doprofiling on:- :g/pat/normal cmd-deleting 10Mbyte worth of lines (netscape binary)- "[i" and "[d" (Yegappan Lakshmanan)- ":g/^/m0" ona 450Kbyte file.  And the "u".- highlighting "~/vim/test/longline.tex", "~/vim/test/scwoop.tcl" and      "~/vim/test/lockup.pl".- loadingasyntax file to highlight all words not froma dictionary.- editinga Vimscript withsyntax highlighting on (loading vim.vim).7   Screen updating can be further improved by only redrawing lines that were    changed (and lines after them, whensyntax highlighting was used, andit    changed).- On each change, remember start andend of the change.- When inserting/deleting lines, remember begin, end, and line count.-   Use macros/duarte/capicua for profiling.Nvi 1.71is the fastest!-   When usinga file with one long line (1Mbyte), thendo "$hhhh",is still    very slow.  Avoid calling getvcol() for each "h"?-   Executinga register, e.g. "10000@@"is slow, because ins_typebuf has to    move the previous commands forward each time.  Passcount from    normal_cmd() down to do_execreg().-   Avoid calls to plines() for cursor line, use w_cline_height.-   After ":set nowrap" remove superfluous redraw with wrong hor. offset if    cursoris right of the screen.8   MakeCTRL-C onUnix generatea signal, avoid using select() to check foraCTRL-C (it's slow).Code size:8   GUI: When NO_CONSOLEis defined, more code can be excluded.-   Putgetline() and cookie ina struct, so only one argument has to be    passed to do_cmdline() and other functions.8   Makea GUI-only version for Unix?8   In buf_write _() isn't needed when setting errmsg,doit once when using    it.7   When compiling witha GUI-only version, the code for cterm colors can be    left out.8   When compiled witha GUI-only version, thetermcap entries for terminals    can be removed.Messages:8   When using ":q" ina changed file, the error says to "add!".  Add the    command so that beginners understand it: "use :q!".8   For'verbose' level 12 prints commands from source'ed files.  How to skip    lines that aren't executed?  Perhaps move the echoing to do_cmdline()?8   Use'report' for ":bdel"?  (Krishna)  To avoid thesemessages when usinga    script.-   Delete message after new command has been entered and have waited for key.    Perhaps after ten seconds?-   Make messagehistory available in "msg" variables: msg1, msg2, .. msg9.9   Check handling of overwriting ofmessages and delays:    Very wrong:errors while redrawing cause endless loop.    When switching to another file and screen scrolls because of the long    message and returnmust be typed, don't scroll the screen back before    redrawing.8   When address rangeis wrong you only get "Invalid range".  Bea bit more    specific: Negative, beyond last line, reverse range?  Include the text.8   Makeit possible to ignoreerrors fora moment ('errorignore'?).  Another    option to switch off giving errormessages ('errorquiet'?).  Also an option    not to give anymessages ('quiet')?  Or ":quiet on", ":quiet off".    Careful: Fora severe error (out of memory), and when the user starts    typing, errormessagesmust be switched back on.    Alsoa flag to ignore errormessages for shell commands (for mappings).-   Option to set time for emsg() sleep.  Interrupt sleep when keyis typed?    Sleep before second message?8   InEx silent mode or when reading commands froma file, what exactlyis    not printed and what is?  Check ":print", ":set all", ":args", ":vers",    etc.  At least there should be no prompt. (Smulders)  And don't clear the    screen when reading commands from stdin. (Kendall)    --> Makea difference between informative messages, prompts, etc. anderror messages,printing text, etc.8   Window should be redrawn when resizingat thehit-enter prompt.    Alsoat the ":tselect" prompt.  Finda generic solution for redrawing whena promptis present (witha callback function?).Screen updating:-   screen_line():- insert/delete character stuff.- improve delete rest of line (spacesatend of line).-   When moving or resizing window, try to avoida complete redraw (esp. when    dragging the status line with the mouse).-   When'lazyredraw' set, don't echo:ex commands?  Needa flag to redraw when    waiting fora character.8   Adda ":refresh[winnr]" command, to force updatinga window.  Useful from    an event handler where ":normal" can't be used.  Also useful when'lazyredraw'is set ina mapping.Scrolling:8   Add "zy" command: scroll horizontally toput the cursor in the middle.6   Add option to set the overlap forCTRL-F andCTRL-B. (Garhi)-   extend'scrollbind' option:'scrollopt' words "search", "relative", etc..    Also 'e'xecute some commands (search, vertical movements) in all bound    windows.7   Add'scrollbind' feature to make the offset of onewindow with the next    one equal to thewindow height.  When editing one file in bothwindowsit    looks like eachwindow displaysa page of the buffer.-   Allowscrolling by dragging with the mouse (graba character and moveit    up/down).  Like the "hand" in Acrobat reader.  Use Alt-LeftMouse for this?    (Goldfarb)-   Add command to execute some commands (search, vertical movements) in all    bound windows.-   Add'search' option to'scrollopt' to allow'scrollbind'windows to    be bound byregexp searches-   Add "z>" and "z<": scroll sideways one screenful. (Campbell)-   Add option to set the number of lines when not to scroll, instead of the    fixed number used now (for terminals that scroll slow witha large number    of lines but not witha single line).Autoconf:8   Should use acconfig.h to define prototypes that are used by autoheader.8   Some compilers don't give an error for "-OPT:Olimit" buta warning. (Webb)    Adda check for the warning, so that "Olimit" can be added automatically?-   Autoconf: Use @datadir@ for the system independent files.  Make sure the    system dependent and system independent files are separated. (Leitner).-   Add autoconf check for waitpid()/wait4().-   Remove fcntl() from autoconf, all systems have it?-   Set default for'dictionary', add search for dictionary to autoconf.Perl interface:8   Rename typemap file to something else?7   Makebuffers accessedasPerl arrays. (Clark)7   Makeit possible to compile with non-ANSI C?6   Tcl/Tk has the "load" command: loada shared library (.so or .dll).Shared libraries:8libcall() can keep the library around instead of always calling dlclose().    (Jason Felice, 2018 Mar 20)6   Add support for loading shared libraries, and callingfunctions in it.:libload internal-name libname:libunload internal-name:liblist:libcall internal-name function(arg1, arg2, ...):libcall function(arg1, arg2, ...)libcall() can have only one integer orString argumentat the moment.6   Havea look on howPerl handles loading dynamic libraries.Tags:9   With ":set tags=./tags,../tags" andatag appears in bothtags filesitis    added twice.  Requires figuring out the actual file name for each found    match.  Remove tag_fname from the match and combineit with the fname in    the match (without expanding or other things that take time).  When'tagrelative'is off tag_fname isn't neededat all.8   For'tags'wildcard in the file nameis not supported, only in the path.    Thisis due toit usingfile-searching. Suboptimal solution would be to    make the filename or the whole option usewildcards globing, better    would be tomerge the 2 kinds of globing. originally (Erik Falor, 2008    April 18), updated (Ian Kelling, 2008 July 4)7   CanCTRL-] (jump to tag) includea following "." and "->" to restrict the    number of possible matches? Checktags file for an item that has members.    (Flemming Madsen)8   Scope arguments for ":tag", e.g.: ":tag class:cPage open", like Elvis.8   When output of ":tselect"is long, getting the more-prompt, should be able    to type thetag number directly.7   Add the possibility to use the "-t{tag}" argument multiple times.  Openawindow for each tag.7   Make output of ":tselect"a bit nicer.  Use highlighting?7   Highlight the "tag 1 of >2" message.  New highlight group, or sameas "hit    bottom" search message.7   When using ":tag"at the top of thetag stack, should add another entry,    soCTRL-T can bring you back to where you are now AND to where you were    before the previous ":tag" command. (Webb)-   When doing "[^I" or "[^D" add position totag stack.-   Add command toput current position totag stack: ":tpush".-   Addfunctions to save and restore thetag stack?  Ora command to switch    to anothertag stack?  So that you cando something else and come back to    what you were working on.7   When usingCTRL-] on someClass::someMethod, separateclass frommethod and    use ":ta class:someClass someMethod".    Include C++tags changes (Bertin).Change "class::func"tag into "func"    with "class=class"?  Docs in oldmail/bertin/in.xxx.7   Add ":tagargs", to set values for fields::tagargs class:someclass file:version.c:tagargs clear    These are then the default values (changes the order of priority intag    matching).7   Support for "gtags" and "global"?  With ":rtag" command?    Thereis an example for how todo this in Nvi.    Ordoit like Elvis:'tagprg' and'tagprgonce' options. (Yamaguchi)    TheElvismethodis far more flexible,doit that way.7   Support "col:99" extra field, to position the cursor in that column.  Witha flag in'cpoptions' to switchit off again.7   Better support for jumping to wherea function or variableis used.  Use    the id-utils, witha connection to "gid" (Emacs candoit too).  Add    ":idselect", which uses an "ID" database (made by "mkid") like "tselect".Win32 GUI:8   Make debug mode work whilestarting up (vim -D).  Open consolewindow for    the message and input?8   When using "Edit with Vim" for one fileit changes directory, when several    files are selected and using "Edit with single Vim" the directory isn't    changed.  At least change directory when the pathis the same for all    files.  Perhaps just use the path of the first file or use the longest    common part of the path.8   Add font argument to set the lfCharSet. (Bobcik)8   Somehow automatically detect the system language and set $LANG, so that    gettext andmenus work.8   Could keep console open to run multiple commands, to avoid the need to hit    return in every console.    Also: Lookat how Emacs does run external commands:http://www.cs.washington.edu/homes/voelker/ntemacs.html.8   Needa separate PopUp menu for modeless selection.  Need two new commands:    Copy selection to clipboard, Paste selection (as typed text).8   Support copy/paste for other file formats.  At least HTML, perhaps RTF.    Add "copy special" and "paste special" commands?7   Use different default colors, to match the current Windows color scheme.    Sys_WindowText, Sys_Window, etc. (Lionel Schaffhauser)7   Use<C-Tab> to cycle through openwindows (e.g., the find dialog).7<Esc> should closea dialog.7   Keep the console for external commands open.  Don't wait fora key to be    hit.  Re-openit when the user has closedit anyway.  Or usea prepended    command: ":nowait{cmd}", or ":quiet", which executes{cmd} without any    prompts.7   Should be able to set an option so that when you double clicka file thatis associated with Vim, you can either geta new instance of Vim, or have    the file added into an already running Vim.7   The "-P" argument only works for the current codepage.  Use widefunctions to find thewindow title.GUI:7   Implement ":popup" for other systems than Windows.8   Implement ":tearoff" for other systems thanWin32 GUI.6   Implement ":untearoff": hidea torn-off menu.8   When using the scrollbar to scroll, don't move the cursor position.  When    moving the cursor: scroll to the cursor position.9   Make<S-Insert> paste from theclipboard by default. (Kunze)7   Menu local toa buffer, like mappings.  Or local toa filetype?8   In Buffers menu, adda choice whether selectinga buffer opensit in the    current window, splits thewindow or uses ":hide".8   Dragging the mouse pointer outside ofa Vim Window should make the text    scroll.  Returna value from gui_send_mouse_event() to the machine    specific code to indicate the time in which the event should be repeated.8   Makeit possible to ignorea mouse click when it's used to give Vim (gvim)window focus.  Also whena mouse clickis used to bringawindow to front.8   Make the split into system independent code and system specific code more    explicit.  There are too many #ifdefs in gui.c.    If possible, separate the Vim code completely from theGUI code, to allow    running them in separate processes.7   X11: Support cursorColor resource and "-cr" argument.8X11 (and others):CTRL-;is not different from ';'.  Set the modifier mask    to include CTRL for keys where CTRL produces the same ASCII code.7   Add some code to handle proportional fonts on more systems?  Need to draw    each character separately (like xterm).  Also for whena double-width fontis not exactly double-width. (Maeda)8   Should take font from xterm wheregvim was started (if no other default).8   Selecting font names inX11is difficult, makeascript or something to    select one.8Visual highlighting should keep the same font (bold, italic, etc.).8   Add flag to'guioptions' to notput anything in theclipboardat all?8   Should supporta way to use keys that we don't recognize yet.  Adda    command that adds entries to special_keys somehow.Howdo we make this    portable (X11, Win32, ..)?7   Adda flag to'guioptions' that tells not to remove inactive menu items.    For systems where greying-out or removing menu itemsis very slow.  The    menu items would remain visibly normally, but notdo anything.7   Add ":minimize" and ":maximize", whichiconize thewindow and back.    Useful when usinggvim to runascript (e.g. 2html.vim).7   X11: Isit possible to free allocated colors, so that other programs can    use them again?  Otherwise, allow disabling allocating the default colors.    Or allocate an own colormap (check UAE).  With an option to use it.  For    the commandline, "-install"is mostly used forX11 programs.7   Should support multi-column menus.-   Should add option for where toput the "Help" menu: likeMotifat the far    right, or with the othermenus (but stillat the right).-   Add menu item to "KeepInsert mode".8   ":mkgvimrc" command, that includes menus.6   Big change: MoveGUI to separate program "vimgui", to makestartup of vima    lot faster, but still be able todo "vim-g" or ":gui".7   More explicit mouse button binding instead of'mousemodel'?7   Add option to set the position of thewindow on the screen.'windowpos',    which hasa value of "123,456":<x>,<y>.    Or adda command, like ":winsize"?7   Add toolbar for more GUIs.8   Makeit possible to use "amenu icon=BuiltIn##", so that the toolbar item    name can be chosen free.7   Makeit possible toput the toolbar on top, left, right and/or bottom of    the window?  Allows for softkey-like use.6   Separate the part of Vim that does the editing from the part that runs the    GUI.  Communicate througha pseudo-tty.  Vim starts up, createsa    pty thatis connected to the terminal.  When theGUI starts, the ptyis    reconnected to theGUI process.  When theGUI stops,itis connected to    theterminal again.  Also use the pty for external processes,it looks    likea vt100terminal to them.  Vim uses extra commands to communicateGUI    things.7   Motif: Foraconfirm()dialog<Enter> should be ignored when no default    button selected,<Esc> should close the dialog.7   When usinga pseudo-tty Vim should behave like someterminal (vt52 looks    simple enough).  Terminal codes to/from shell should be translated.-   Wouldit be useful to be able to quit theGUI andgo back to theterminal    whereit was started from?7   Support "-visual<type>" command line argument.Autocommands:9   When triggeringWinNew provide thewindow ID somehow.  #106339   Rework the code from FEAT_OSFILETYPE forautocmd-osfiletypes to use'filetype'.  Only for when the current bufferis known.-   Putautocommand event names ina hashtable for faster lookup?8   When theSwapExists eventis triggered, provide information about the    swap file, e.g., whether the processis running, file was modified, etc.    Must be possible to check the situation that it's probably OK to delete    the swap file. (Marc Merlin)8   When all the patterns for an event are "*" thereis no need to expand    buffer names toa full path.  This can be slow for NFS.7   Forautocommand events that trigger multiple times per buffer (e.g.,    CursorHold),go through thelist once and cache the result fora specific    buffer.  Invalidate the cache when adding/deletingautocommands orchanging the buffer name.7   Add TagJump event:do something after jumping toa tag.8   Add "TagJumpFile" autocommand: When jumping to another file fora tag.    Can be used to open "main.c.gz" when "main.c" isn't found.8   Use another option than'updatetime' for theCursorHold event.  The two    things are unrelated for the user (but the implementationis more    difficult).7   Addautocommand event for whena buffer cannot be abandoned.  So that the    user can define the action taking (autowrite, dialog, fail) based on the    kind of file. (Yakov Lerner)  OrisBufLeave sufficient?8   Autocommand for when modified files have been found, when getting input    focus again (e.g., FileChangedFocus).    Check when: getting focus, jumping to another buffer,...8   Autocommands should not change registers.  And marks?  And the jumplist?    And anything else?  Adda command to save and restore these things.8   Add autocommands, userfunctions and user commands to ":mkvimrc".6   Add KeymapChanged event, so that the effects ofa different keymap can be    handled (e.g., other font) (Ron Aaron)7   When trying to opena directory, trigger an OpenDirectory event.7   Add file type in front of file pattern:<d> for directory,<l> for link,<x> for executable, etc.  With commas to separate alternatives.  Theautocommandis only executed when both the file type AND the filepattern    match. (Leonard)5   Add option thatspecifies extensions which are to be discarded from the    file name.  E.g.'ausuffix', with ".gz,.orig".  Such that file.c.gz will    trigger the "*.c" autocommands.  (Belabas)7   Add something to break theautocommands for the current event, and for    what follows.  Useful fora "BufWritePre" that wants to avoidwriting the    file.8   When editing "tt.gz", whichis inDOS format,'fileformat' staysat    "unix", thuswriting the file changes it.  Somehow detect that the read    command useddos fileformat.  Same for'fileencoding'.-   Add events to autocommands:    Error- When an error happens    VimLeaveCheck- Before Vim decides to exit, so thatit can be cancelled      whenexiting isn'ta good idea.    CursorHoldC-CursorHold while command-line editing    WinMoved- whenwindows have been moved around, e.g, ":wincmdJ"    SearchPost- After doinga search command (e.g. todo "M")    ShutDown- when the systemis about to shut down    InsertCharPost- user typeda character inInsert mode, afterinserting      the char.    BufModified- Whena buffer becomes modified, or unmodified (for      puttinga [+] in thewindow title or checking out the      file from CVS).    BufFirstChange- When makinga change, when'modified'is set.  Can be      used todoa:preserve for remote files.    BufChange- aftera change was made.  Set somevariables to indicate      the position and number of inserted/deleted lines, so      that marks can be updated.  HierAssist has patch to add      BufChangePre, BufChangePost and RevertBuf. (Shah)    ViewChanged- triggered when the text scrolls and when thewindow size      changes.    QuickfixList- when any entry in the currentlist changes or anotherlistis selected    QuickfixPosition- when selecting another entry in the currentquickfixlist-   Write the file now and then ('autosave'):'autosave''as''noautosave''noas''autosave''as' number  (default 0)    Automatically write the current buffer to fileN seconds after the    last change has been made and when'modified'is still set.    Default:0=do not autosave the buffer.    Alternative: have'autosave' use'updatetime' and'updatecount' but make    them save the file itself besides the swapfile.-   Bufferautocommands area bit inconsistent.  Adda separate set ofautocommands for the buffer lifecycle:        BufIsCreated  (after buffer ID exists)        BufIsLoaded   (after buffer ID has content)        BufIsUnloaded (after buffer ID no longer has)        BufIsWiped    (after buffer ID was wiped)        BufIsRenamed  (after buffer ID gets another name)    The bufferlist andwindows are locked, no changes possibleOmni completion:-   Ideas from the Vim 7 BOFat SANE:- For interpreted languages, use the interpreter to obtain information.  Should work for Java (Eclipse does this), Python, Tcl, etc.  Richard Emberson mentioned working on an interface to Java.- Check Readline for its completion interface.-   Ideas from others:http://www.wholetomato.com/http://www.vim.org/scripts/script.php?script_id=747http://sourceforge.net/projects/insenvimorhttp://insenvim.sourceforge.net    Java, XML, HTML, C++, JSP, SQL, C#MS-Windows only, lots of dependencies (e.g. Perl, Internetexplorer), uses .dll shared libraries.    For C++ uses $INCLUDE environment var.    UsesPerl for C++.    Usesctags to find the info:ctags-f $allTagsFile --fields=+aiKmnsSz --language-force=C++ --C++-kinds=+cefgmnpsut-dlux-u $fileswww.vim.orgscript 1213 (Java Development Environment) (Fuchuan Wang)IComplete:http://www.vim.org/scripts/script.php?script_id=1265http://cedet.sourceforge.net/intellisense.shtml (for Emacs)Ivan Villanueva has something for Java.Emacs (link seems dead):http://www.xref-tech.com/xrefactory/more_c_completion.htmlCompletion in .NET framework SharpDevelop:http://www.icsharpcode.net-   Pre-expand abbreviations, show which abbrevs would match?Insert mode completion/expansion:-   Isit possible to keep the complete menu open when calling complete()?    (Prabir Shrestha, 2017 May 19, #1713)-   Whencomplete() first argumentis before whereinsert started and'backspace'isVi compatible, the completion fails.    (Hirohito Higashi, 2015 Feb 19)-   When a:base in'completefunc' starts witha number it's passedasa    number, nota string. (Sean Ma)  Need to add flag to call_func_retlist()    to forceastring value.-   When editing the text and pressingCTRL-N again goes back to originally    completed text, edited textis gone. (Peng Yu, 2008 Jul 24)    Suggestion by Ben Schmidt, 2008 Aug 6.-GUI implementation of thepopup menu.7   When searching in other files the name flash by, too fast to read.  Only    displaya name every second or so, like with ":vimgrep".7   When expanding file names with an environment variable, add the match with    the unexpanded var.  So $HOME/tm expands to "/home/guy/tmp" and    "$HOME/tmp"9   ^X^L completion doesn't repeat correctly.  It uses the first match with    the last added line, instead of continuing where the last match ended.    (Webb)8   Add option'istagword': characters used forCTRL-]. like'isexpand'8   Adda command toundo the completion,go back to the original text.7   Completion of an abbreviation: Can leave letters out, like what Instant    text does: www.textware.com8   Use theclass information in thetags file todo context-sensitive    completion.  After "foo." complete all member functions/variables of    "foo".  Need to search backwards for theclass definition of foo.    Should work for C++ and Java.    Even more context would be nice: "import java.^N"-> "io", "lang", etc.7   When expanding $HOME/dir with ^X^F keep the$HOME (with an option?).7   AddCTRL-X command inInsert mode likeCTRL-XCTRL-N, that completes WORDS    instead of words.8   Add completion of previously inserted texts (like whatCTRL-A does).    Requires rememberinga number of insertions.8   Add 'f' flag to'complete': Expand file names.    Also apply'complete' to whole line completion.-   Adda flag to'complete' to only scan local header files, not system    header files. (Andri Moell)-   Makeit possible to search include files in several places.  Use the'path' option?  Can this be done with the dictionary completion (usewildcards in the file name)?-   MakeCTRL-XCTRL-Kdoa binary search in the dictionary (if it's sorted).-   Speed upCTRL-XCTRL-K dictionary searching (don't usea regexp?).-   Setamarkat the position where the match was found (file mark, could    be in another file).-   AddCTRL-A command inCTRL-X mode: show all matches.-   MakeCTRL-XCTRL-L use the'complete' option?-   Add command inCTRL-X mode to add following words to the completedstring    (e.g. to complete "Pointer->element" withCTRL-XCTRL-PCTRL-WCTRL-W)-CTRL-XCTRL-F: Use'path' to find completions.-CTRL-XCTRL-F: Option to use forward slashes on MS-Windows?-CTRL-XCTRL-F: Don't replace "$VIM" with the actual value. (Kelly)-   Allow listing all matches in some way (and picking one from the list).Command line editing:7   Add commands (keys) to delete from the cursor to theend of the command    line.8   Custom completion of user commands can't use the standard completion    functions.  Adda hook to invokea user function that returns the type of    completion to be done: "file", "tag", "custom", etc.-   Add flags to'whichwrap' for command line editing (cursor rightatend of    lines wraps to start of line).-   Make editing the command line work likeInsert mode ina single-lineview    ona buffer that contains the command line history.  But this has many    disadvantages, only implementit when these can be solved.Elvis has run    into these, see remarks from Steve (~/Mail/oldmail/kirkendall/in.00012).- Going back inhistory and editinga line there would change the history.      Would still need to keepa copy of thehistory elsewhere.  Like thecmdwin does now already.- UseCTRL-O to execute oneNormal mode command.  How to switch to normal      mode for more commands?<Esc> should cancel the command line.CTRL-T?- To allow "/" and "= need to recursively call getcmdline(), overwrite the      cmdline.  But then we are editinga command-line again.  How to avoid      that the user gets confused by the stack of command lines?- Use edit() for normal cmdline editing?  Would have to integrategetcmdline() into edit().  Need to solve conflicts betweenInsert mode      andCommand-line mode commands.  Makeit work like Korn shell and tcsh.      Problems:- Insert: completion with'wildchar'- Insert: use cmdlineabbreviations- Insert:CTRL-D deletes indent instead of listing matches- Normal: noCTRL-W commands- Normal: no ":" commands?- Normal: allowVisual mode only within one line.- where to show insert/normal mode message?  Change highlighting of      character in first column?- Implementation ideas:- Set "curwin" and "curbuf" to the command linewindow and buffer.- curwin->w_toplineis always equal to curwin->w_cursor.lnum.- never set'number', no folding, etc.  No status line.- syncundo after enteringa command line?- use NV_NOCL flag for commands that are not allowed inCommand-lineMode.Command line completion:-   Feature request: Complete members ofa dictionary.    (Luc Hermitte, 2017 Jan 4, #1350)-   Completion of ":e"is ":earlier", should be ":edit".  Complete to the    matching command instead of doing this alphabetically. (Mikel Jorgensen)8   Change expand_interactively intoa flag thatis passedas an argument.8   With command line completion after '%' and '#', expand current/alternate    file name, soit can be edited.  Also with modifiers, suchas "%:h".8   When completing command names, either sort them on the long name, orlist    them with the optional part inside [].8   Add an option to ignorecase when doing interactive completion.  So that    ":e file<Tab>" also lists "Filelist" (sorted after matchingcase matches).7   Completion of ":mapx ": fill in the current mapping, so thatit can be    edited. (Sven Guckes)-   For'wildmenu': Simplify "../bar" when possible.-   When using<Up> in wildmenu mode fora submenu, shouldgo back to the    current menu, not the first one.  E.g., ":emenu File.Save<Up>".8   When using backtick expansion, the external command may writea greeting    message.  Add an option or commands to remove lines that matcha regexp?7   When listing matches of files, display the common path separately from the    file names, if this makes the listing shorter. (Webb)-   Add command line completion for ":ilist" and friends, show matching    identifiers (Webb).8   Add command line completion for "old value" ofa command.  ":args<key>"    would result in the currentlist of arguments, which you can then edit.7   Add command line completion withCTRL-X, just likeInsert mode completion.    Useful for ":s/word/xx/".-   Add command togo back to the textasit was before completion started.    Also to be used for<Up> in the command line.-   Add'wildlongest' option: Key to use to find longest common match for    command line completion (defaultCTRL-L), like'wildchar'. (Cregut)    Also: when there are several matches, show them lineaCTRL-D.-   With'wildmode' set to "longest:full,full" and pressingTab once the first    entry in wildmenuis highlighted, that shouldn't happen. (Yuki Watanabe,    2011 Feb 12)-   After using<Tab> for command line completion after ":ta blah" and gettingE33 (notags file), further editing the command to e.g., ":echo'blah'",    the commandis not executed.  Fix by Ian Kelling?-   Command line completion: Scanning fortags doesn't check for typed key now    and then?  Hangs for about 5 seconds.  Appears to be caused by finding    include files with "foo/**" in'path'.  (Kalisiak, 2006 July 15)    Additional info: When using thewildcards ** globing, vim hangs    indefinitely on lots of directories. Thefile-searching globing, like in    ":set path=/**" does not hangas oftenas with globing withwildcards,    like in ":1find/**/file".  Thisis for files thatunix "find" can find    very quickly. Merging the 2 kinds of globing might make this an easier    fix. (Ian Kelling, 2008 July 4)-   Command line completion when'cmdheight'is maximum and'wildmenu'is set,    only one buffer line displayed, causes display errors.-   Completing with'wildmenu' and using<Up> and<Down> to move through    directory tree stops unexpectedly when using ":cd " and enteringa    directory that doesn't contain other directories.8   Command line completion:buffers "foo.txt" and "../b/foo.txt", completing    ":buf foo<Tab>" doesn't find the second one. (George V. Reilly)8   Add more command line completion for :syntax.8   Add more command line completion for :highlight.-   Wildmenu not deleted: "gvim-u NONE", ":set nocp wildmenu cmdheight=3    laststatus=2",CTRL-DCTRL-HCTRL-HCTRL-H. (A.Politz, 2008 April 1) Works    OK with Vim in an xterm.-   If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't    work.Command line history:-   Add "KeyWasTyped" flag: It's reset before each command and set whena    character from the keyboardis consumed. Valueis used to decide toputa    command line inhistory or not. Put line inhistory ifit didn't    completely result from one mapping.-   When using ":browse", alsoput the resulting edit command in the history,    so thatit can be repeated. (Demirel)Insert mode:9   When'autoindent'is set, hitting<CR> twice, while thereis text after    the cursor, doesn't delete the autoindent in the resulting blank line.    (Rich Wales) ThisisVi compatible, butit looks likea bug.8   When usingCTRL-O inInsert mode, then executing aninsert command    "a" or "i", should we return toInsert mode after<Esc>? (Eggink)    Perhapsit can be alloweda single time, to be able todo    "<C-O>10axyz<Esc>".  Nesting this furtheris confusing.    ":map<F2> 5aabc<Esc>" works only once fromInsert mode.8   When usingCTRL-GCTRL-Odo likeCTRL-\CTRL-O, but when returning with    the cursor in the same position and the text didn't change continue the    same change, so that "." repeats the whole insert.7   UseCTRL-G<count> to repeat what follows.  Useful forinsertinga    character multiple times orrepeatingCTRL-Y.-   Make'revins' work inReplace mode.7   Use'matchpairs' for'showmatch': Wheninsertinga character check ifit    appears in the rhs of'matchpairs'.-   InInsert mode (and command line editing?): Allowundo of the last typed    character.Thisis useful forCTRL-U,CTRL-W, delete and backspace, and    also for characters that wrap to the next line.    Also: be able toundoCTRL-R (insert register).    Possibly use'backspace'="whole" fora mode whereat leasta<CR> that    inserts autoindentis undone bya single<BS>.-   UseCTRL-G inInsert mode for an extra range of commands, like "g" inNormal mode.-   Make'paste' work without resetting other options, but override their    value.  Avoids problems whenchanging files and modelines orautocommands    are used.-   When typingCTRL-V anda digit higher than 2, only expect two digits.-Insert binary numbers withCTRL-V b.-   Makeit possible toundo<BS>,<C-W> and<C-U>.  Bash usesCTRL-Y.'cindent','smartindent':9   Wrappinga variableinitialization should have extra indent:char * veryLongName="very longstring"    Also check if "cino=+10"is used correctly.8   Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)8   Why are continuation lines outside ofa{} block not indented?  E.g.:long_type foo=value;8   Java: Inside an anonymous class, after an "else" or "try" the indentis    too small. (Vincent Bergbauer)    Problem of using{} inside (),'cindent' doesn't work then.8   In C++ it's possible to have{} inside (): (Kirshna)func(new String[]{    "asdf",    "asdf"}    );8   In C++a function isn't recognized insidea namespace:    (Chow Loong Jin)namespace{    int func(int arg){}}6   Add'cino' flag for this function argument layout: (Spencer Collyer)    func( arg1, arg2, arg3);7   Add separate "(0" option into inside/outsidea function (Zellner):func(   int x)// indent like "(4"{   if (a       && b)// indent like "(0"9   Using "{" ina comment: (Helmut Stiegler)    if (a){    if (b){//{}} <-- thisis indented incorrect    Problemis that find_start_brace() checks for the matching brace to be ina comment, but not braces in between.  Requires addinga comment check to    findmatchlimit().-   Make smartindenting configurable.  Add'sioptions', e.g. '#' setting the    indent to0 should be switched on/off.7   Support ANSI style function header, with each argument on its own line.-   "[p" and "]p" should use'cindent' code if it's on (only for the first    line).-   Add option to'cindent' to set indent for comments outside of {}?-   Makea command to line upa comment aftera code line witha previous    comment aftera code line.Can'cindent'do this automatically?-   When'cindent'inga '}', showmatchis done before fixing the indent.  It    looks better when the indentis fixed before the showmatch. (Webb)-   Add option to make indenting work in comments too (for commented-out    code), unless the line starts with "*".-   Don't use'cindent' when doingformatting with "gq"?-   Whenformattinga comment after some text,insert the'*' for the new line    (indentis correct if'cindent'is set, but'*' doesn't get inserted).8   When'comments' has both "s1:/*,mb:*,ex:*/" and "s1:(*,mb:*,ex:*)", the    'x' flag always uses the first match.  Need to continue looking for more    matches of "*" and remember all characters that couldend the comment.-   For smartindent: When typing'else' lineit up with matching'if'.-'smartindent': allow patterns in'cinwords', for e.g. TeX files, where    lines start with "\item".-   Support this style of comments (with an option): (Brown)/* hereisa comment thatis just autoindented, andnothing else */-   Add words to'cinwords' to reduce the indent, e.g., "end" or "fi".7   Use Tabs for the indent ofstarting lines, pad with spaces for    continuation lines.  Allowschanging'tabstop' without messing up the    indents.    Patch by Lech Lorens, 2010 Mar.  Update by James McCoy, 2014 Mar 15.Java:8   Can have{} constructs inside parens.  Include changes from Steve    Odendahl?8   Recognize "import java.util.Vector" and use $CLASSPATH to find files for    "[i" commands and friends.-   For files found with'include': handle "*" in included name, for Java.    (Jason)-   How to makea "package java.util" cause all classes in the package to be    searched?  Also for "import java.util.*". (Mark Brophy)'comments':8   WhenformattingC comments that are after code, the "*" isn't repeated    like it's done when thereis no code.  And thereis no automatic wrapping.    Recognize comments that come after code.  Shouldinsert the comment leader    when it's "#" or "//".    Other way around: whenaC command starts with "* 4" the "*"is repeated    whileit should not.  Usesyntax HL comment recognition?7   When using "comments=fg:--", Vim inserts three spaces fora new line.    When hittinga TAB, these spaces could be removed.7   The 'n'esting flag doesn'tdo the indenting of the last (rightmost) item.6   Make strings in'comments' optiona RE, to be able to match more    complicated things. (Phillipps)  Usea special flag to indicate thataregexpis used.8   Make the'comments' option with "/* * */" lines only repeat the "*" line    when thereisa "/*" before it?  Or include this in'cindent'?Virtual edit:8   Make the horizontal scrollbar work to move the text further left.7   Allow specifyingit separately for Tabs and beyond end-of-line?Text objects:8   Add textobject for fold, so thatit can be yanked when it's open.8   Add testscript for textobject commands "aw", "iW", etc.8   Add textobject for part ofa CamelHumpedWord and under_scored_word.    (Scott Graham)  "ac" and "au"?8   Adda textobject for any kind of quoting, also withmultibyte    characters.  Option to specify whatquotes are recognized (default: all)    use "aq" and "iq".  Use'quotepairs' to define pairs of quotes, like'matchpairs'?8   Add textobject for any kind of parens, alsomultibyte ones.8   Adda way to make an ":omap" fora user-defined text object.  Requireschanging thestarting position in oap->start.8   Add "gp" and "gP" commands:insert text and make sure thereisa singlespace before it, unlessat the start of the line, and after it, unlessat    theend of the line or beforea ".".7   Addobjects with backwards extension?  Use "I" and "A".  Thus "2dAs"    deletes the current and previous sentence. (Jens Paulus)7   Add "g{" and "g}" to move to the first/last character ofaparagraph    (instead of the line just before/afteraparagraphas with "{" and "}").6   Ignore comment leaders for objects.  Make "das" work in reply-email.5   Makeit possible to usesyntax group matchesasa text object.  For    example, definea "ccItem" group, thendo "da<ccItem>" to delete one.    Or, maybe just define "dai", delete-an-item, to delete thesyntax item the    cursoris on.Select mode:8   In blockwise mode, typed characters are inserted in front of the block,backspace deletesa column before the block. (Steve Hall)7   Alt-leftmouse starts block mode selection in MS Word.    Seehttp://vim.wikia.com/wiki/Use_Alt-Mouse_to_select_blockwise.7   Add Cmdline-select mode.  LikeSelect mode, but used on the command line.- Change gui_send_mouse_event() to pass on mouse events when'mouse'      contains 'C' or 'A'.- Catch mouse events in ex_getln.c.  Also shift-cursor, etc., like in      normal_cmd().- remember start andend of selection in cmdline_info.- Typing text replaces the selection.Visual mode:8   Support using "." inVisual mode. Use theoperator applied to theVisual    selection, if possible.-   When dragging theVisual selection with the mouse and'scrolloff'is zero,    behave like'scrolloff'is one, so that the text scrolls when the pointeris in the top line.-   Displaying size ofVisual area: use 24-33 column display.    When selecting multiple lines, up to abouta screenful, alsocount the    characters.8   When using "I" or "A" inVisual block mode, short linesdo not get the new    text.  Makeit possible to add the text to short lines too, with padding    where needed.7   WithaVisual block selected, "2x" deletesa block of double the width,    "3y" yanksa block of triple width, etc.7   When selecting linewise, using "itext" shouldinsert "text"at the start    of each selected line.8   Whatis "R" supposed todo inVisual mode?8   MakeVisual mode local to the buffer.  Allowchanging to another buffer.    Whenstartinga newVisual selection, remove theVisual selection in any    other buffer. (Ron Aaron)8   Support dragging theVisual area to dropit somewhere else. (Ron Aaron,    Ben Godfrey)7   Support dragging theVisual area to dropit in another program, and    receive dropped text from another program. (Ben Godfrey)7   With blockwiseVisual mode and "c", "C", "I", "A", etc., allow the use ofa<CR>.  The entered lines are repeated over theVisual area.7   Filteringa block should only apply to the block, not to the whole lines.    When the number of linesis increased, add lines. When decreased, pad with    spaces or delete? Use ":`<,`>" on the command line.8   After filtering theVisual area, make "gv" select the filtered text?    Currently "gv" only selectsa single line, not useful.7   Don't move the cursor when scrolling?  Needed when the selection should    stay the same.  Scroll to the cursorat anymovement command.  With an    option!7   InVisual block mode, need to be able to definea corner ona position    that doesn't have text?  Also: when using the mouse, be able to select    part ofa TAB.  Even more: Adda mode where the cursor can be ona screen    position where thereis no text.  When typing, add spaces to fill the gap.    Other solution: Always use curswant, so that you can move the cursor to    the right column, and then use up/down movements to select the line,    withoutchanging the column.6   ":left" and ":right" should work inVisual block mode.7CTRL-I andCTRL-O should work inVisual mode, but only jump to marks in the    current buffer.6   In non-Block mode, "I" shouldinsert the same text in front of each line,    before the first non-blank, "gI" in column 1.6   In non-Block mode, "A" should append the same text after each line.6   When in blockwise visual selection (CTRL-V), allow cursor to be placed    right of the line.  Could also allow cursor to be placed anywhere ona TAB    or other special character.6   Add commands to move selected text, without deselecting.More advancedrepeating commands:-   Add "." command for visual mode:redo last visual command (e.g. ":fmt").-   Add command to repeat last movement.  Including count.-   Add "." command after operator: repeat last command of same operator.  E.g.    "c." will repeat last change, also when "x" used since then (Webb).    "y." will repeat last yank.    "c2." will repeat the last but one change?    Also: keephistory ofNormal mode commands, add command tolist thehistory    and/or pick an older command.-   History stack for. command?  Use "g." command.Mappings and Abbreviations:8   When "0"is mapped (itisamovement command) thismapping should not be    used after typing another number, e.g. "20l". (Charles Campbell)    Is this possible without disabling themapping of the following command?8   Shouldmapping<C-A> and<C-S-A> both work?7   ":abbrb byte", append "b " to an existingword still expands to "byte".    ThisisVi compatible, but can we avoidit anyway?8   To makeamapping work witha prepended "x to selecta register, store the    last _typed_register name and accessit with "&.8   Add ":amap", like ":amenu".7   Addamapping that works always, for remapping the keyboard.8   Add ":cab!",abbreviations that only apply toCommand-line mode and not to    entering search strings.8   Adda flag to ":abbrev" to eat the character that triggers the    abbreviation.  Thus "abbab xxx" and typing "ab<Space>" inserts "xxx" and    not the<Space>.8   Givea warning when usingCTRL-C in the lhs ofa mapping.  It will never    (?) work.7   Add<0x8f> (hex),<0o33> (octal) and<123> (decimal) to<> notation?7   When someone tries to unmap witha trailing space, andit fails, try    unmapping without the trailing space.  Helps for ":unmap xx | unmapyy".6   Context-sensitive abbreviations: Specifysyntax group(s) in which theabbreviations are to be used.-   Add mappings that take arguments.  Could work like the ":s" command.  For    example, fora mouseescape sequence::mapexp<Esc>{\([0-9]*\),\([0-9]*\);H\1j\2l-   Add optional<Number> argument for mappings::map<Number>q     ^W^W<Number>G:map<Number>q<Number>t  ^W^W<Number1-1>G<Number2>l:map q<Char>    :s/<Char>/\u\0/g    Or implicit::mapq<Register>d<Number>$-   Add command to repeata wholemapping("." only repeats the last change ina mapping).  Also: Repeata wholeinsert command, including any mappings    thatit included.  Sort-of automatic recording?-   Include an option (or flag to'cpoptions') that makeserrors in mappings    not flush the rest of themapping (like nvi does).-   Use context sensitiveness of completion to switchabbreviations and    mappings off for :unab and :unmap.6   When using mappings inInsert mode,insert characters for incomplete    mappings first, then remove them again whenamapping matches.  Avoids    that characters that are the start of somemapping are not shown until you    hit another character.-   Add mappings for replace mode: ":rmap".  Howdo we then enter mappings for    non-replaceInsert mode?-   Add separate mappings for Visual-character/block/line mode?-   Add'mapstop' command, to stop recursive mappings.-List mappings that havea rawescape sequence both with the name of the key    for thatescape sequence (if thereis one) and the sequence itself.-List mappings: Once with special keys listedas <>, once withmeta charsas<M-a>, once with the byte values (octal?).  Sort of "spellmapping" command?-   When entering mappings: Add the possibility to entermeta keys like they    are displayed, within <>:<M-a>, <~@> or<|a>.-   Allow multiple arguments to :unmap.-   Command to show keys that are not used and available formapping    ":freekeys".-   Allow any character except whitespace inabbreviations lhs (Riehm).Incsearch:-   Wrongscrolling when using incsearch.  Patch by Christian Brabandt, 2014    Dec 4.  Is thisa good solution?-   Temporarily openfolds to show where the search ends up.  Restore thefolds when going to another line.    Patch to openfolds for'incsearch'. (Christian Brabandt, 2015 Jan 6)-   Bug with'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17)    Only with "vim-u NONE".-   When no matchis found and the user types more, the screenis redrawn    anyway.  Could skip that.  Esp. if the line wraps and the textis scrolled    up every time.-   When incsearch used and hitting return, no need to search again in many    cases, savesa lot of time in big files. (Slootman wants to work on this?)    When not using special characters, can continue search from the last match    (or notat all, when there was no match).  See oldmail/webb/in.872.9   incsearchis incorrect for "/that/<Return>/this/;//" (last searchpattern    isn't updated).Searching:9   Should have an option for:vimgrep to find lines withouta match.8   Add "g/" and "gb" to search forapattern in the Visually selected text?    "g?"is already used for rot13.    The vis.vimscript hasa ":S" command that does something like this.    Can use "g/" inNormal mode, uses the'< to'> area.    Use "&/" for searching the text in theVisual area?9   Add "v" offset: "/pat/v": search forpattern and startVisual mode on the    matching text.8   Adda modifier to interpretaspace like "\_s\+" to makeit much easier to    search fora phrase.8   Adda mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)".  \@g stands    for "go recursive here" and \@( \) marks the recursive part.Perl doesit this way:    $paren= qr/ \(( [^()] | (??{ $paren }))* \) /x;    Here $parenis evaluated when it's encountered.  Thisis likearegexp    insidea regexp.  In the above termsit would be:    \@((\([^()]\|\@g\)*)\)8   Show the progress every second.  Could use the code that checks forCTRL-C    to find out how much time has passed.  Or use SIGALRM.  Where to show the    number?7   Support for approximate-regexps to find similar words (agrephttp://www.tgries.de/agrep/ tre:http://laurikari.net/tre/index.html).8   Add an item fora big character range, so that one can search fora    chinese character: \z[234-1234]  or \z[XX-YY] or \z[0x23-0x234].7   Add an item stack to allow matching ().  One sideis "pushX on    the stack if previous atom matched".  Other sideis "match with top of    stack, popit whenit matches".  Use "\@pX" and "\@m"?Example: \((\@p).\{-}\@m\)*7   Adda flag to "/pat/" todiscard an error.  Useful to continueamapping    whena search fails.  Could be "/pat/E" (eis already used forend offset).7   Addpattern item to use properties ofUnicode characters.  InPerl it's    "\p{L}" fora letter.  See Regular Expression Pocket Reference.8   Wouldit be possible to allow ":23,45/pat/flags" to search for "pat" in    lines 23 to 45?  Or does this conflict withEx range syntax?8   Allow identical pairs in'matchpairs'.  Restrict the search to the current    line.7   Allow longer pairs in'matchpairs'.  Usematchit.vimas an    example.8   Makeit possible to define the character that "%" checks for in    #if/#endif.  For nmake it's !if/!endif.-   For "%" command: set hierarchy for which things include other things that    should be ignored (like "*/" or "#endif" inside/* */).    Also: use "%" to jump from start toend ofsyntax region and back.    Alternative: usematchit.vim8Apattern like "\([^a]\+\)\+" takes an awful long time.  Recognize that    the recursive "\+"is meaningless and optimize for it.    This oneis also very slow on "/* some comment */": "^\/\*\(.*[^/]\)*$".7   Recognize "[a-z]", "[0-9]", etc. and replace them with the faster "\l" and    "\d".7   Adda way to specify characters in<C-M> or<Key> form.  Could be    \%<C-M>.8   Add an argument after ":s/pat/str/" fora range of matches.  For example,    ":s/pat/str/#3-4" to replace only the third and fourth "pat" ina line.8   When'iskeyword'is changed the matches from'hlsearch' may change. (Benji    Fisher)  redraw if someoptions are set while'hlsearch'is set?8   Add an option not to use'hlsearch' highlighting for ":s" and ":g"    commands. (Kahn)  It would work like ":noh"is used after that command.    Also: An extra flag todo this once, anda flag to keep the existing    search pattern.-   Make'hlsearch'a local/global option, so thatit can be disabled in some    of the windows.-   Add \%h{group-name}; to search fora specific highlight group.    Add \%s{syntax-group}; to search fora specificsyntax group.-   SupportPerl regexp.  Use PCRE (Perl Compatible RE) package. (Shade)    Or translate thepattern toa Vim one.    Don't switch on with an option for typed commands/mappings/functions, it's    too confusing.  Use "\@@" in the pattern, to avoid incompatibilities.8   Adda way to access the last substitute text, whatis used for ":s//~/".    Can't use the~ register, it's already used for drag& drop.-   Remember flags for backreferenced items, so that "*" can be used after it.    Check with "\(\S\)\1\{3}". (Hemmerling)8   Flags that apply to the whole pattern.    This works for all places wherearegexpis used.    Add "\q" to not store thispatternas the last search pattern?-   Add flags to search command (also for ":s"?):iignorecaseIusecasepusePerlregexpsyntax (or POSIX?)vuseViregexpsyntaxfforget pattern, don't keepit for "n" commandF   remember pattern, keepit for "n" commandPerl uses these too:eevaluate the right sideas anexpression (Perl only)mmultiple lineexpression (we don't need it)ocompile only once (Perl only)ssingle lineexpression (we don't need it)xextendedregexp (we don't need it)    When used after ":g" command,backslash needed to avoid confusion with the    following command.    Add'searchflags' for default flags (replaces'gdefault').-   Add command to display the last used substitutepattern and last used    pattern. (Margo)  Maybe makeit accessible througharegister (like "/    for search string)?7   Use T-search algorithm, to speed up searching for strings without special    characters.  See C't article, August 1997.-   Add'fuzzycase' option, so thatcase doesn't matter, and '-' and '_' are    equivalent (forUnix filenames).-   Add 'v' flag to search command: enterVisual mode, with the matching textasVisual area. (variation on idea from Bertin)-   Searching: "/this//that/" should find "that" after "this".-   Add global search commands: Instead of wrappingat theend of the buffer,    they continue in another buffer.  Use flag after search pattern:afor the next file in the argumentlistffor file in the bufferlistwfor file edited ina window.    e.g. "/pat/f".  Then "n" and "N" work through files too.  "f" flag also for    ":s/pat/foo/f"???  Then when'autowrite' and'hidden' are both not set, ask    before saving files: "Save modified buffer "/path/file"? (Yes/Hide/No    Save-all/hide-All/Quit) ".-   ":s/pat/foo/3": find 3rd match of "pat", like sed. (Thomas Koehler)7   When searching with 'n' give message when getting back where the search    first started.  Remember start of search in '/ mark.7   Add option that scrolls screen toput cursor in middle of screen after    search always/when off-screen/never.  And aftera ":tag" command.  Maybe    specify how many lines below the screen causesa redraw with the cursor in    the middle (default would be halfa screen, zero means always).6   Support multiple search buffers, so macros can be made without side    effects.7   From xvim: Allowa newline in search patterns (also for :s, can delete    newline).  Add BOW, EOW, NEWL, NLORANY, NLBUTANY, magic 'n' and 'r', etc.    [not in xvim:] Add option to switch on matches crossing ONE line boundary.7   Add ":iselect",a combination of ":ilist" and ":tselect". (Aaron) (Zellner)    Also ":dselect".-   Searching for \%'> does not find anything when using lineVisual    selection.  Probably because it's using MAXCOL.  #8238-   Regexp to search for duplicate lines does not work correctly:    /\(^.*\n\)\1  (Chris Morgan, #6239)-   Problem with upwards search on Windows (works OK on Linux). (Brett    Stahlman, 2014 Jun 8)-   Searching mixed withVisual mode doesn't redraw properly. (James Vega,    2010 Nov 22)-   Searching for composing char works, but not when inside []. (ZyX, Benjamin    R. Haskell, 2010 Aug 24)-   When'smartcase'is set and usingCTRL-L to add to the searchpatternit    may result in no matches.  Convert chars to lower case? (Erik Wognsen,    2009 Apr 16)Undo:9   ":gundo" command: global undo.  Undoes changes spread over multiple files    in the order they were made.  Also ":gredo".  Both witha count.  Useful    when tests fail after making changes and you forgot in which files.9   After undo/redo, in the message show whether the bufferis modified or    not.8   Search forpattern inundo tree, showing whenit happened and the text    state, so that you can jump to it.8   Undo tree: visually show the tree somehow (Damian Conway)    Show only the leaves, indicating how many changed from the branch and the    timestamp?    Put branch with most recent change on the left, older changes get more    indent?-   Makeit possible toundo all the commands froma mapping, includinga    trailing unfinished command, e.g. for ":mapK iX^[r".-   When accidentally hitting "R" instead of Ctrl-R, further Ctrl-Ris not    possible, even when typing<Esc> immediately. (Grahn)  Also for "i", "a",    etc.  Postpone saving forundo until somethingis really inserted?8   When Insertinga lot of text,it can only be undoneasa whole.  Makeundo    sync pointsat every line or word.  Could recognize the start ofa newword (whitespace and then non-white space) and backspacing.    Can already useCTRL-G u, but that requires remappinga lot of things.8   Makeundo more memory-efficient: Compare text before and after change,    only remember the lines that really changed.7   Addundo fora range of lines.  Can change these back toa previous    version withoutchanging the rest of the file.  Stop doing this whena    change includes only some of these lines and changes the line count.  Need    to store theseundo actionsasa separate change that can be undone.-   For u_save() include the column number. This can be used to set'[ and '].    And in the future theundo can be made more efficient (Webb).-   In out-of-memory situations: Free allocatedspace in undo, and reduce the    number ofundo levels (with confirmation).-   Instead of [+], give the number of changes since the last write: [+123].    When undoing to before the last write, change this toa negative number:[-99].-   Withundo with simple line delete/insert: optimize screen updating.-   When executing macro's: Save each line forundo only once.-   When doinga global substitute, causing almost all lines to be changed,undo info becomes very big.  Putundo info in swap file??-   MS-Windows: whenwritingundo file the infostreams are copied in    mch_copy_file_attribute(), that seems unnecessary. (#7925) Adda flag to    only copy attributes?-undo result wrong: Masato Nishihata, #4798-   After recovering froma swap file the undofile should not be used,it    causes corruption.  (#6631)-   When the computer crashes whilewriting the undofile, the contents may be    lost.  Write toa temp file, fsync and rename. (#8879)-   Undo puts cursor in wrong line after "cG<Esc>" undo.-   Undohistory wrong when ":next file" re-usesa buffer. (#5426) ex_next()    should pass flag to do_argfile(), then to do_ecmd().  Is therea test for    this?-   Undo problem: "g-" doesn'tgo back, gets stuck. (Björn Linse, 2016 Jul 18)-   Undo messageis not always properly displayed.  Patch by Ken Takata, 2013    oct 3.  Doesn't work properly according to Yukihiro Nakadaira.    Also see #1635.-   When using ":diffput" througha mapping,undo in the target buffer isn't    synced.  (Ryan Carney, 2016 Sep 14)-   Theundo file name can get too long. (Issue #346)    For the path usea hash instead of dir%dir%dir%name  hash%name.    Check both for some time for backwards compatibility.    Alternatively: create the directory structure under'undodir'.-   Patch to add ":undorecover", getas much text out of theundo fileas    possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)-   Patch to support:undo absolute jump to file save number. (Christian    Brabandt, 2010 Nov 5)-   There should bea way after an abbreviation has expanded togo back to    what was typed.CTRL-Gh?  Would alsoundo lastword or line break    inserted perhaps.  AndundoCTRL-W.CTRL-Gl would redo.-   When using'cryptmethod' xchaha20 theundo fileis not encrypted.    Need to handle extra bytes.Buffer list:7   Command to executea command in another buffer: ":inbuf{bufname}{cmd}".    Also for other windows: ":inwin{winnr}{cmd}".  How to make sure that    this works properly for all commands, and still be able to return to the    current buffer/window?  E.g.: ":inbuf xxx only".8   Add File.{recent-files} menu entries: Recently edited files.    Ron Aaron hasaplugin for this: mru.vim.8   Unix: Check all uses of fnamecmp() and fnamencmp() if they should check    inode too.7   Add another number fora buffer, whichis visible for the user.  When    creatinga new buffer, use the lowest number not in use (or the highest    number in use plus one?).7   Offer some buffer selection from the command line?  Like using ":ls" and    asking fora buffer number. (Zachmann)-   Whenstarting to edita file thatis already in the buffer list, use the    file name argument for the new short file name. (Webb)-   Add an option to make ":bnext" and ":bprev" wrap around theend of the    buffer list.  Also for ":next" and ":prev"?7   Add argument to ":ls" whichisapattern forbuffers to list.    E.g. ":ls *.c". (Thompson)7   Add expansion of buffer names, so that "*.c"is expanded to all buffer    names.  Needed for ":bdel *.c", ":bunload *.c", etc.8   Support for<afile> wherea buffer nameis expected.7   Add an option to mostly use slashes in file names.  Separately for    internal use and for when executing an external program?8   Some file systems are case-sensitive, some are not.  Besides'wildignorecase' there might be more parts inside    CASE_INSENSITIVE_FILENAME that are useful on Unix.-   When using ":bwipe!" also get rid of references to be buffer, e.g. in thejumplist and alternate file.-   ":bnext" inahelp bufferis supposed togo to the nexthelp buffer, butit goes to any buffer, and then:bnext skipshelp buffers, since they are    unlisted. (#4478)-:buffer completion does notescape "+" properly and results inaregexp    error.  (#5467)-   Problem with twobuffers with the same name a/b, ifit didn't exist before    andis created outside of Vim. (dskloetg, 2018 Jul 16, #3219)-   Add an option with file patterns, to be used when unloadinga buffer: If    thereisa match, remove entries for the buffer from marks, jumplist, etc.    To be used for git temp files.Swap (.swp) files:8   Ifwriting to the swap file fails, should try to open one in another    directory from'dir'.  Useful incase the file systemis full and when    there are short file name problems.8   Also use the code to try usinga short file name for thebackup and swap    file for theWin32 and Dos 32 bit versions.8   Whena fileis edited by root, add $LOGNAME to know who did su.8   When the edited fileisa symlink, try toput the swap file in the same    diras the actual file.  Adjust FullName().  Avoids editing the same file    twice (e.g. when using quickfix).  Also try to make the name of thebackup    file the sameas the actual file?    Use the code for resolve()?7   When using 64 bit inode numbers, also store the top 32 bits.  Add another    field for this, using part of bo_fname[], to keepit compatible.7   When editinga file on removable media, shouldput swap file somewhere    else.  Use something like 'r' flag in'viminfo'.'diravoid'?    Also: Be able to specify minimum disk space, skip directory when not    enough room.7   Adda configure check for which directory should be used: /tmp, /var/tmp    or /var/preserve.-   Add an option to createa swap file only when making the first change to    the buffer.  (Liang)  Or only when the bufferis not read-only.-   Add option to set "umask" forbackup files and swap files (Antwerpen).'backupumask' and'swapumask'?  Or'umaskbackup' and'umaskswap'?-   When editinga readonly file, don't usea swap file but read parts from the    original file.  Alsodo this when the fileis huge (>'maxmem').  Wedo    need to load the file once tocount the number of lines?  Perhaps keepa    cachedlist of which lineis where.-   When editinga file with ":edit" the output of:swapnameis relative,    while editingit with "vim file"itis absolute. (#355) Which one shouldit be?-   When recoveringa file,put the swap file name in b:recovered_swapfile.    Thena command can delete it.-   In theATTENTION message about an existing swap file, mention the name of    the process thatis running.  It might actually be some other program,    e.g. aftera reboot.-   When running Vim in silentex mode, an existing swapfile causes Vim to    wait fora user action withouta prompt. (Maarten Billemont, 2012 Feb 3)    Do give the prompt? Quit with an error?-   After doing "su"$HOME can be the old user's home, thus ~root/fileis not    correct.  Don't useit in the swap file.-   In the swapfile dialog, adda H(elp) option that gives more info about    what each choice does.  Similar to  ":helpswap-exists-choices"Viminfo:7   Can probably remove the code that checks fora writableviminfo file,    because we nowdo the chown() for root, and others can't overwrite someone    else'sviminfo file.8   When thereis no .viminfo file and someone does "su", runs Vim,a    root-owned .viminfo fileis created.  Is therea good way to avoid this?    Perhaps check the owner of the directory.  Only when root?8   Add argument to keep thelist ofbuffers when Vimis started witha file    name. (Schild)8   Keep the last used directory of the file browser (File/Open menu).8   Remember the last usedregister for "@@".8   Remember theredo buffer, so that "." works after restarting.8   Rememberalist of last accessed files.  To be used in the    "File.Open Recent" menu.  Defaultis to remember 10 files or so.    Also remember which files have been read and written.  How to display    this?7   Also store the ".register (last inserted text).7   Makeit possible to store buffer names inviminfo file relative to some    directory, to make them portable overa network. (Aaron)6   Storea snapshot of the currently opened windows.  So that when quitting    Vim, and thenstarting again (withouta file name argument), you see the    same files in the windows.  Use ":mksession" code?-   Make marks present in .viminfo usableas file marks: Displayalist of    "last visited files" and select one to jump to.-   Add the debug command linehistory to viminfo.-   Using "wviminfo /tmp/viminfo" does not store file marks that Vim knows    about,it only works when merging with an existing file.  (Shougo, 2017    Jun 19, #1781)-   Writing nestedList andDict inviminfo gives error message and can't be    read back. (Yukihiro Nakadaira, 2010 Nov 13)-   Whenaregister contains illegal bytes,writingviminfo inutf-8 and    readingit back doesn't result in utf-8. (Devin Bayer)8   With'viminfo' set such that the ".viminfo" fileis written ona FAT    filesystem, an illegal file name may be created: ".vim".8   For each buffer thatis opened, theviminfo fileis opened and read to    check for file marks.  This can be slow.8   When write_viminfo()is used while there are many orphanedviminfo    tempfileswriting theviminfo file fails.  Givea clear error message so    that the user knows the files have to be deleted.Modelines:8   Before trying to executea modeline, check thatit looks like one (valid    option names).  If it's very wrong, silently ignore it.    Ignorea line that starts with "Subject: ".-   Add an option to whitelistoptions that are allowed ina modeline.  This    would allow careful users to use modelines, e.g., only allowing'shiftwidth'.-   Add an option to let modelines only set local options, not global ones    suchas'encoding'.-   When an option valueis coming froma modeline,do not carryit over to    another edited file?  Would need to remember the value from before themodeline setting.-   Allow settinga variable froma modeline?  Only allow using fixed strings,    no function calls, to avoida security problem.-   Allow ":doautoBufRead x.cpp" in modelines, to executeautocommands for    .cpp files.-   Support the "abbreviate" command in modelines (Kearns).  Careful for    characters after<Esc>, thatisa security leak.-   Add an option setting to ask the user if the modelines are to be executed    or not.  Same for.exrc in local dir.Sessions:-Session file contains absolute paths when "curdir"is removed form'sessionoptions', makingit impossible to havea session witha relative    path.  (#4450)-Session file only contains local option values forbuffers that are ina    window, not other buffers. (#7532)-   Script generated by:mksession does not work well if there arewindows    with modified buffers:      change "silent only" into "silent only!"      change "edit fname" of first buffer to "hide edit fname"      skip "badd fname" if "fname"is already in the bufferlist      remove remark about unloadingbuffers from documentation-   When session file has name in argumentlist but the buffer was deleted,    the bufferis not deleted when using the session file. (#1393) Should add    the buffer in hidden state.-   Whena session fileis created and there are "nofile" buffers, these are    not filled.  Need to triggerBufReadCmd autocommands.  Also handledeleting the initial empty buffer better. (ZyX, 2015 March 8)-   Setting thespell file ina session only reads the local additions, not    the normalspell file. (Enno Nagel, 2014 Mar 29)-   Directory wrong in session file, caused by ":lcd" inBufEnter autocommand.    (Felix Kater, 2009 Mar 3)-   Something wrong with session that has "cd" commands and "badd", in sucha    way that Vim doesn't find the edited file in the buffer list, causing theATTENTION message?  (Tony Mechelynck, 2008 Dec 1) Also: swap files are in    ~/tmp/  One has relative file name ".mozilla/...".-Session file creation:'autochdir' causes trouble.  Keepit off until    after loading all files.-Session file generates error upon loading, cause by --remote-silent-tab.    (7tommm (ytommm) 2010 Nov 24)8   DOS/Windows: ":mksession" generatesa "cd" command where "aa\#bb" means    directory "#bb" in "aa", but it's usedas "aa#bb". (Ronald Hoellwarth)7   When thereisa "help.txt"window ina session file, restoring that    session will not get the "LOCAL ADDITIONS" back.8   With ":mksession" always store the'sessionoptions' option, even when    "options" isn't in it. (St-Amant)8   When using ":mksession", also storea command to reset alloptions to    their default value, before setting theoptions that are notat their    default value.7   With ":mksession" also store thetag stack and jump history. (Michal    Malecki)Options:7   ":with option=value | command": temporarily set an option value and    restoreit after the command has executed.8   Make "old" numberoptions that really givea number of effects intostringoptions that area comma-separated list.  The old number values should    also be supported.8   Add commands to save and restore an option, which also preserves the flag    that marks if the option was set.  Useful to keep the effect of setting'compatible' after ":syntax on" has been used.7   Thereis'titleold', whyis there no'iconold'? (Chazelas)External commands:8   When filtering text, redirect stderr so thatit can't mess up the screen    and Vim doesn't need to redraw it.  Also for ":r !cmd".4   Set separate shell for ":sh", piping "range!filter", reading text "r !ls"    andwriting text "w !wc". (Deutsche)  Allow arguments for fast start (e.g.    -f).4   Allow direct execution, without usinga shell.4   Run an external command in the background.  But how about I/O in the GUI?    Careful: don't turn Vim intoa shell!4   Add feature to disable usinga shell or external commands.Multiple Windows:7   "vim -oO file..." use both horizontal and vertical splits.8   AddCTRL-W T:go to the topwindow in the column of the current window.    AndCTRL-W B:go to bottom window.7   UseCTRL-W<Tab>, like alt-tab, to switch between buffers.  Repeat<Tab>    to select another buffer (only loaded ones?),<BS> togo back,<Enter> to    select buffer,<Esc> togo back to original buffer.7   Makeit possible to edita new buffer in the preview window.Ascript can    then fillit with something.  ":popen"?7   Adda'tool' window: behaves likea previewwindow but there can be    several.  Don'tcountit in only_one_window(). (Alexei Alexandrov)6   Add an option to resize the shell when splitting and/or closinga window.    ":vsp" would make the shell wider byas many columnsas needed for the new    window.  Specifya maximum size (or use the screen size).  ":close" would    shrink the shell byas many columnsas come available. (Demirel)7   Whenstarting Vim several times, instantiatea Vim server, that allows    communication between the different Vims.  Feels like one Vim running with    multiple top-level windows.  Esp. useful when Vimis started from an IDE    too.  Requires some form of inter process communication.-   Supporta connection to an external viewer.  Could call the viewer    automatically after some seconds of non-activity, or witha command.    Allow some way of reportingscrolling and cursor positioning in the viewer    to Vim, so that the link between the viewed and edited text can be made.Marks:8   Add ten marks for last changed files: ':0, ':1, etc.  Onemark per file.8   When cursoris first moved because of scrolling, setamarkat this    position.  (Rimon Barr)  Use '-.8   Adda command to jump toamark and make the motion inclusive.  g'm and g`m?8   The'"markis set to the first line, even when doing ":next"a few times.    Only set the'"mark when the cursor was really moved ina file.8   Make`` and '', which would position the new cursor position in the middle    of the window, restore the old topline (or relative position) from when    themark was set.7   Makealist of file marks ina separate window.  For listing all buffers,    matching tags, errors, etc.Normal commands to move around.  Add commands    to jump to themark (in currentwindow or new window).  Startit with    ":browse marks"?6   Adda menu that lists the Marks like ":marks". (Amerige)7   For ":jumps", ":tags" and ":marks", for not loaded buffers, remember the    textat the mark.  Highlight the column with the mark.7   Highlight eachmark in some way (With "Mark" highlight group).    Or display marks ina separate column, like'number' does.7   Used"m to delete rectangular area from cursor tomarkm (like Vile's \m    command).7   Try to keep marks in the same position when:-replacing witha line break, like in ":s/pat/^M/", move marks after the      line break column to the next line. (Acevedo)- inserting/deleting characters ina line.5   Include marks for start/end of the currentword and section.  Useful in    mappings.6   Add "unnamedmark" feature: Like marks for the ":g" command, but place and    unplace them with commands before doing something with the lines.    Highlight the marked lines somehow.Digraphs:7   Make "ga" show the keymap fora character, ifit exists.    Also show the code of the character after conversion to'fileencoding'.-   Usedigraph table to tell Vim about the collating sequence of special    characters?8   Add command to remove one or more (all) digraphs. (Brown)7   Support different sets ofdigraphs (depending on the character set?).  At    least Latin1/Unicode, Latin-2,MS-DOS (esp. for Win32).Writing files:-   In vim_rename(), should lock "from" file whendeleting "to" file for    systems other than Amiga.  Avoids problems with unexpected longname to    shortname conversion.8   write mch_isdevice() for Amiga, Mac, VMS, etc.8   When appending toa file, Vim should also makeabackup anda'patchmode'    file.8'backupskip' doesn't writeabackup fileat all,a bit dangerous for some    applications.  Add'backupelsewhere' to writeabackup file in another    directory?  Or adda flag to'backupdir'?6   Add an option to writea new, numbered,backup file each time.  Like'patchmode', e.g.,'backupmode'.6   Makeit possible to write'patchmode' files toa different directory.    E.g., ":set patchmode=~/backups/*.orig". (Thomas)6   Add an option to prepend something to thebackup file name.  E.g., "#".    Or maybe allowa function to modify thebackup file name?8   Only makeabackup when overwritinga file for the first time.  Avoids    losing the original whenwriting twice. (Slootman)7   On non-Unix machines, also overwrite the original file in some situations    (file system full, it'sa link on an NFS partition).7   When editinga file, check thatit has been changed outside of Vim more    often, not only whenwriting over it.  E.g.,at the time the swap fileis    flushed.  Or every ten seconds or so (use the time of day, checkit before    waiting fora character to be typed).8   Whena file was changed since editing started, show this in the status    line of the window, like "[time]".    Makeit easier toreload all outdated files that don't have changes.    Automatic and/or witha command.Substitute:8   Substitute with hex/unicode number "\%xff" and "\%uabcd".  Just like    "\%uabcd" in search pattern.8   Makeit easier to replace in all files in the argument list.  E.g.:    ":argsub/oldword/newword/".  Works like ":argdo %s/oldword/newword/g|w".-   :s///p prints the line aftera substitution.-   With :s///c replace \&, ~, etc. when showing the replacement pattern.8   With :s///c allowscrolling horizontally when'nowrap'is effective.    Also allowacount before thescrolling keys.-   Add number option to ":s//2": replace second occurrence of string?  Or:    :s///N substitutesN times.-   Add answers to ":substitute" with 'c' flag, used ina ":global", e.g.:    ":g/pat1/s/pat2/pat3/cg": 'A'do all remaining replacements, 'Q' don'tdo    any replacements, 'u'undo last substitution.7   Substitute ina block of text.  Use{line}.{column}notation in anEx    range, e.g.: ":1.3,$.5s" means to substitute from line 1 column 3 to the    last line column 5.5   Add commands tobookmark lines, display bookmarks, remove bookmarks,    operate on lines with bookmarks, etc.  Like ":global" but with the    possibility to keep the bookmarks and use them with several commands.    (Stanislav Sitar)Mouse support:8   Add 'o' flag to'mouse'?7   Be able to seta'mouseshape' for thepopup menu.8   Add'mouse' flag, which setsa behavior likeVisual mode, but automatic    yankingat the button-up event.  Or likeSelect mode, but typing gets you    out ofSelect mode, instead ofreplacing the text. (Bhaskar)-   Implement mouse support for theAmiga console.-   Using right mouse button to extenda blockwise selection should attach to    the nearest corner of the rectangle (four possible corners).-   Precede mouse click bya number to simulate double clicks?!?-   When mouse click after 'r' command, get character that was pointed to.Argument list:6   Add command toput all filenames from thetag files in the argument list.    When given an argument, only use the files where that argument matches    (like `grep-l ident`) and jump to the first match.6   Add command to form an argslist from all the buffers?Registers:8   Don't display emptyregisters with ":display". (Etienne)8   Addput command that overwrites existing text.  Should also work for    blocks.  Useful to move text around ina table.  Works like using "R ^Rr"    for every line.-   When appending toa register, also report the total resulting number of    lines.  Or just say "99 more lines yanked", add the "more".-   Wheninsertingaregister inInsert mode withCTRL-R, don'tinsert comment    leader when line wraps?-   The ":@r" commands should takea range and execute theregister for each    line in the range.-   Add "P" command toinsert contents of unnamed register, move selected textto position of previous deleted (to swap foo andbar in "+ foo")8   Should be able toyank and delete into the "/ register.    How to take care of the flags (offset, magic)?-   InSelect mode the deleted text always goes into the unnamed register.    UseCTRL-R to specify theregister to use. (#9531)-   When "+registeris set then "" points to it.  If another Vim grabs the "+    register, then "" doesn't contain anything.  Makeit still follow "+.    (#6435)-   Pastingaregister inVisual mode cannot be repeated. (Mahmoud Al-Qudsi,    2018 Apr 26, #2849)-   Patch to add option that tells whether small deletesgo into the numbered    registers. (Aryeh Leib Taurog, 2013 Nov 18)-   With "unamedplus" in'clipboard' pasting inVisual mode causes error for    empty register. (Michael Seiwald, 2011 Jun 28)I can't reproduce it.-   Consider making YankRing or something else that keepsalist of yanked    text part of standard Vim.  The "1 to "9registers are not sufficient.6   When yanking into the unnamedregisters several times, somehow make the    previous contents also available (like it's done for deleting).  Whatregister names to use?g"1,g"2, etc.?    Alsodo this for the small deleteregister "-.Debug mode:8   Add breakpoints for setting an option8   Add breakpoints for assigning toa variable.7   Store thehistory from debug mode in viminfo.7   Make the debug modehistory available withhistget() et al.-   In debug mode, usingCTRL-R= to evaluatea function causes stepping    through the function. (Hari Krishna Dara, 2006 Jun 28)Various improvements:7   Add plugins for formatting?  Should be able to makea choice depending on    the language ofa file (English/Korean/Japanese/etc.).    Setting the'langformat' option to "chinese" would load the    "format/chinese.vim" plugin.    Theplugin would set'formatexpr' and define the function being called.    Edward L. Fox explains howit should be done for most Asian languages.    (2005 Nov 24)    Alternative: patch forutf-8 line breaking. (Yongwei Wu, 2008 Feb 23)7   [t to move to previous xml/htmltag (like "vatov"), ]t to move to next("vatv").7   [< to move to previous xml/html tag, e.g., previous<li>. ]< to move to    next<li>, ]< to next </li>, [< to previous </li>.8   Add ":rename" command: rename the file of the current buffer and rename    the buffer.  Buffer may be modified.7   Instead of filteringerrors witha shellscriptit should be possible todo this with Vim script.A function that filters the raw text that comes    from the'makeprg'?7   Allowawindow not to havea statusline.  Makesit possible to useawindowasa buffer-tab selection.8   Allow non-activewindows to havea different statusline. (Yakov Lerner)7   Add an invisible buffer which can be edited.  For use in scripts that want    to manipulate text withoutchanging thewindow layout.8   Adda command to revert to the saved version of file;undo orredo until    all changes are gone.6   "vim-q-" should read thelist oferrors from stdin. (Gautam Mudunuri)8   Add "--remote-fail": When contacting the server fails, exit Vim.    Add "--remote-self": When contacting the server fails,doit in this Vim.    Overrules the default of "--remote-send" to fail and "--remote" todoit    in this Vim.8   When Vim was started withouta server, makeit possible to start one,as    if the "--servername" argument was given.  ":startserver<name>"?8   No address range can be used before the command modifiers.  This makes    them difficult to use ina menu forVisual mode.  Accept the range and    haveit apply to the following command.8   Add the possibility to set'fileformats' to forcea format and strip other    CR characters.  For example, for "dos" files remove CR charactersat theend of the line, so thata file with mixed line endingsis cleaned up.    To just not display the CR characters: Adda flag to'display'?7   Some compilers give errormessages in which the file name does not havea    path.  Be able to specify that'path'is used for these files.7   Xterm sends<Esc>O3F for<M-End>.  Similarly for other<M-Home>,<M-Left>,    etc.  Combinations of Alt, Ctrl and Shift are also possible.  Recognize    these to avoidinserting the raw byte sequence, handle like the key    without modifier (unless mapped).6   Add "gG": like what "gj"is to "j":go to the N'thwindow line.8   Add command like ":normal" that accepts<Key>notation like ":map".9   Support ACLs on more systems.7   Add ModeMsgVisual, ModeMsgInsert, etc. so that each mode message can be    highlighted differently.7   Adda message area for the user.  Set some option to reservespace (above    the command line?).  Use an ":echouser" command to display the message    (truncated to fit in the space).7   Add %s to'keywordprg': replace withword under the cursor. (Zellner)8   Supportprinting on Unix.  Can use "lpansi.c"as an example. (Bookout)8   Addput command that replaces the text under it.  Esp. for blockwiseVisual mode.7   Enhance termresponse stuff: Add t_CV(?):pattern of term response, use    regexp: "\e\[[>?][0-9;]*c", but only check just after sending t_RV.7   Add "g|" command: move to N'th column from the left margin (after wrapping    and applying'leftcol').  Worksas "|" like what "g0"is to "0".7   Support setting'equalprg' toa user function name.7   Highlight the characters after the end-of-line differently.7   When'whichwrap' contains "l", "$dl" should join lines?8   Add an argument to configure to use $CFLAGS and not modify it? (Mooney)8   Enabling featuresisa mix of configure arguments and defines in    feature.h.  How to make this consistent?  Feature.his required for    non-unix systems.  Perhaps let configure define CONF_XXX, and use #ifdef    CONF_XXX in feature.h?  Then what should min-features and max-features do?8   Add "g^E" and "g^Y", to scrolla screen-full line up and down.8   Add ":confirm" handling in open_exfile(), for when file already exists.8   When quitting with changed files, make thedialoglist the changed file    and allow "write all", "discard all", "write some".  The last one would    then ask "write" or "discard" for each changed file.  Patch in HierAssist    does something like this. (Shah)7   Use growarray for replace stack.7   Havea lookat viH (Hellenic or Greek version of Vim).  Buta solution    outside of Vim might be satisfactory (Haritsis).3   Make "2d%" work like "d%d%" instead of "d2%"?7   "gCTRL-O" jumps back to last used buffer.SkipCTRL-O jumps in the same    buffer.  Makejumplist remember the last ten accessed buffers?7   Makeit possible to set the size of thejumplist (also toa smaller number    than the default). (Nikolai Weibull)-   Add code to disable the CAPS key when going fromInsert toNormal mode.-   Set date/protection/etc. of the patchfile the sameas the original file.-   Use growarray for termcodes[] in term.c-   Add<window-99>, like<cword> but use filename of 99'th window.7   Adda way to change anoperator to always work characterwise-inclusive    (like "v" makes theoperator characterwise-exclusive).  "x" could be used.-   Makea set of operations onlist of names: expand wildcards, replacehome    dir, appenda string, deletea string, etc.-   Remove using mktemp() and use tmpname() only?  Ctags does this.-   Whenreplacing environment variables, and thereis one thatis not set,    turnit into an empty string?  Only when expanding options? (Hiebert)-   Option to set command to be executed instead of producingabeep (e.g. to    call "play newbeep.au").-   Add option to show the current function name in the status line.  More orless what you find with "[[k", like how'cindent' recognizesa function.    (Bhatt).-   "[r" and "]r": like "p" and "P", but replace instead ofinsert (esp. for    blockwise registers).-   Add'timecheck' option, on by default.  Makesit possible to switch off thetimestamp warning and question. (Dodt).-   Add an option to set the time after which Vim should check thetimestamps    of the files.  Only check when an event occurs (e.g., character typed,    mouse moved).  Useful for non-GUI versions where keyboard focus isn't    noticeable.-   Make'smartcase' work even though'ic' isn't set (Webb).7   Whenformatting text, allow to break the lineata number of characters.    Use an option for this:'breakchars'?  Useful forformatting Fortran code.-   Add flag to'formatoptions' to be able to format book-style paragraphs    (first line ofparagraph has larger indent, no empty lines between    paragraphs).  Complements the '2' flag.  Use '>' flag when larger indent    startsa new paragraph, use '<' flag when smaller indent startsa new    paragraph.Both starta newparagraph on any indent change.8   The 'a' flag in'formatoptions'is too dangerous.  In some way onlydo    auto-formatting in specific regions, e.g. defined bysyntax highlighting.8   Allow usinga trailingspace to signalaparagraph that continues on the    next line (MIME text/plain; format=flowed, RFC 2646).  Can be used for    continuous formatting.  Could use'autoformat' option, whichspecifiesaregexp which triggers auto-formatting (for one line).    ":set autoformat=\\s$".-   Be able to redefine whereasentence stops.  Usearegexp pattern?-   Supportmultibyte characters for sentences.  Example from Ben Peterson.7   Add command "g)" togo to theend ofa sentence, "g(" togo back to theend ofa sentence. (Servatius Brandt)-   Be able to redefine whereaparagraph starts.  For "[[" where the '{'is    not in column 1.6   Add ":cdprev":go back to the previous directory.  Need to remembera    stack of previous directories.  We also need ":cdnext".7   Should ":cd" forMS-DOSgo to $HOME, when it's defined?-   Make "gq<CR>" work on the last line in the file.  Maybe for every operator?-   Add more redirecting ofEx commands::redir #>  bufname:redir #>> bufname   (append)-   Give error message whenstarting :redir: twice or using END when no    redirection was active.-   Setting of options, specifically fora buffer or window, with    ":set window.option" or ":set buffer.option=val".  Or use ":buffer.set".    Also: "buffer.map<F1> quit".6   Wouldit be possible to change the color of the cursor in theWin32    console?  (Klaus Hast)-   Add:delcr command::delcr     :[range]delcr[!]Check[range] lines (default: whole buffer) for linesending in<CR>.  If all linesend in<CR>, or [!]isused, remove the<CR>at theend of lines in[range].ACTRL-Zat theend of the fileis removed.  If[range]is omitted, oritis the whole file, and alllinesend in<CR>'textmode'is set.-   Should integrate addstar() and file_pat_to_reg_pat().-   When working overa serial line with 7 bit characters, removemeta    characters from'isprint'.-   Use fchdir() in init_homedir(), like in FullName().-   In win_update(), when theGUIis active, always use thescrolling area.    Avoid that the last status lineis deleted and needs to be redrawn.-   That "cTx" fails when the cursoris just after 'x'isVi compatible, but    may not be what you expect.  Adda flag in'cpoptions' for this?  More    general: Add an option to allow "c" to work withanull motion.-   Give better errormessages by using errno (strerror()).-   Give "Usage:" error message when command used with wrong arguments (like    Nvi).-   Make'restorescreen' option also work for xterm (and others), replaces the    SAVE_XTERM_SCREEN define.7   Support for ":winpos" In xterm: report the currentwindow position.-   Give warning message when using ":set t_xx=asdf" foratermcap code that    Vim doesn't know about.  Add flag in'shortmess'?6   Add ":che<file>",list all the include paths which lead to this file.-   Fora commandline that has several commands (:s, :d, etc.) summarize the    changes all together instead of for each command (e.g. for therot13    macro).-   Add command like "[I" that also shows the tree of included files.-   ":set sm^L" results in ":sets", because short names ofoptions are also    expanded.  Is therea better way todo this?-   Add ":@!" command, to ":@" like what ":source!"is to ":source".8   Add ":@:!": repeat last command with forceit set.-   Add 't_normal': Used whenever t_me, t_se,t_ue or t_Zris empty.-   ":cab map test ^V| je", ":cunab map" doesn't work.Thisisvi compatible!-CTRL-WCTRL-E andCTRL-WCTRL-Y should move the currentwindow up or down    ifitis not the first or last window.-   Include-file-search commands should look in the loaded buffer ofa file (if    thereis one) instead of the file itself.7   Change'nrformats' to include the leader for each format.  Example:nrformats=hex:$,binary:b,octal:0    Add setting of'nrformats' tosyntax files.-'path' can become very long, don't use NameBuff for expansion.-   When unhidinga hidden buffer,put the same lineat top of thewindowas    the one before hiding it.  Or: keep the same relative cursor position (so    many percent down the windows).-   Makeit possible for the'showbreak' to be displayedat theend of the    line.  Usea comma to separate the partat theend and the start of the    line?  #754  Highlight the linebreak characters, add flag in'highlight'.    Make'showbreak' local toa window.-   Somestringoptions should be expanded if they have wildcards, e.g.'dictionary' whenitis "*.h".-   Usea specific type for number andboolean options, makingit possible to    changeit for specific machines (e.g. whena longis 64 bit).-   Add option for<Insert> in replace mode going to normal mode. (Nugent)-   Adda next/previous possibility to "[^I" and friends.-   Add possibility to change the HOME directory.  Use the directory from the    passwd file? (Antwerpen)8   Add commands to push and pop all or individual options. ":setpush tw",    ":setpop tw", ":setpush all".  Maybe pushing/popping alloptionsis    sufficient.  ":setflush" resets the option stack?    How to handle an aborted mapping?  Remember position intag stack whenmapping starts, restoreit when an error aborts the mapping?-   Change ":fixdel" into option'fixdel', t_del will be adjusted each time    t_bsis set? (Webb)-   "gc": goto character, move absolute character positions forward, also    counting newlines.  "gC" goes backwards (Weigert).-   When doingCTRL-^, redraw buffer with the same topline. (Demirel)  Store    cursor row andwindow height to redraw cursorat same percentage ofwindow    (Webb).-   Besides remembering the last used line number ofa file, also remember the    column.  Useit withCTRL-^ et. al.-   Check for non-digits when settinga number option (careful when entering    hex codes like 0xff).-   Add option to make "."redo the "@r" command, instead of the last command    executed by it.  Also to make "."redo the whole mapping.  Basically:redo    the last TYPED command.-   Support URL links for ^X^F inInsert mode, like for "gf".-   Support %name% expansion for "gf" on Windows.-   Make "gf" work on "file://c:/path/name".  "file:/c:/" and "file:///c:/"    should also work?-   Add'urlpath', used like'path' for when "gf" used ona URL?8   When using "gf" on an absolute file name, while editinga remote file    (starts with scp:// or http://) should prepend themethod and machine    name.-   When findinga URL or file name, andit doesn't exist, try removinga    trailing '.'.-   Add ":path" command modifier.  Should work for every command that takesa    file name argument, to search for the file name in'path'.Use    find_file_in_path().-   Highlightcontrol characters on the screen: Shows the difference betweenCTRL-X and "^" followed by "X" (Colon).-   Integrate parsing of cmdline command and parsing for expansion.-   Createa program that can translatea .swp file from any machine intoa    form usable by Vim on the current machine.-   Add ":noro" command: Reset'ro' flag for all buffers, except ones that havea readonly file.  ":noro!" will reset all'ro' flags.-   Adda variant ofCTRL-V that stops interpretation of more than one    character.For entering mappings on the command line wherea key contains    several special characters, e.g.a trailing newline.-   Make '2' option in'formatoptions' also work inside comments.-   Add 's' flag to'formatoptions': Do not break when insidea string. (Dodt)-   Whenwindow size changed (with the mouse) and made too small, setit back    to the minimal size.-   Add "]>" and "[<",shift commentatend of line (command;/* comment */).-   Should not call cursorcmd() for each vgetc() in getcmdline().-   ":split file1 file2" adds two morewindows (Webb).-   Don't give message "Incomplete last line" when editing binary file.-   Add ":a", ":i" for preloading of named buffers.-   When entering text, keep otherwindows on same buffer updated (whena line    entered)?-   Check out how screen does output optimizing.  Apparently thisis possibleas an output filter.-   In dosub() regexecis called twice for the same line.  Try to avoid this.-   Window updating from memline.c: insert/delete/replace line.-   Optimize ml_append() for speed, esp. for readinga file.-   V..c should keep indent when'ai'is set, just like[count]cc.-   Updatescript() can be done faster withastring instead ofa char.-   Screen updatingis inefficient withCTRL-F andCTRL-B when there are long    lines.-   Uppercase characters inEx commands can be made lowercase?8   Add option to show characters in text notas "|A" butas decimal("^129"),    hex("\x81") oroctal("\201") ormeta (M-x).Nvi has the'octal' option    to switch from hex to octal.  Vile can show unprintable characters in hex    or in octal.7   Tighter integration with xxd to edit binary files.  Makeit more    easy/obvious to use.  Command line argument?-   How doesvi detect whetherafilter has messed up the screen?  Check source.    After ":w !command"a wait_return?-   Improve screen updating code for doput() (use s_ins()).-   With 'p' command on last line: scroll screen up (also for terminals withoutinsert line command).-   Use insert/delete char whenterminal supports it.-   Optimize screen redraw for slow terminals.-   Optimize "dw" for long row of spaces (say, 30000).-   Add "-dnull" for editing fromascript file without displaying.-   InInsert mode: Remember the characters that were removed withbackspace    and re-insert them oneata time with<key1>, all together with<key2>.-   Amiga: Add possibility to seta keymap.  The code in amiga.c does not work    yet.-   Implement'redraw' option.-   Add special code to'sections' option to define something else but '{' or    '}'as the start ofasection (e.g. one shiftwidth to the right).7   Allow using Vim ina pipe: "ls | vim-u xxx.vim- | yyy".  Only needs    implementing ":w" to stdout in the buffer that was read from stdin.    Perhapswriting to stdout will work, since stderris used for theterminal    I/O.8   Allow opening an unnamed buffer with ":e !cmd" and ":sp !cmd".  Vile cando it.-   Add commands like]] and[[ thatdo not include the line jumped to.-   When :unab without matching "from" part and several matching "to" parts,    delete the entry that was used last, instead of the first in the list.-   Add text justification option.-   Setbooleanoptions on/off with ":set paste=off", ":set paste=on".-   After "inv"ing an option show the value: ":set invpaste" gives "pasteis    off".-   Check handling ofCTRL-V and '\' for ":" commands thatdo not have TRLBAR.-   Whena file cannot be opened but does exist, give error message.-   Amiga: When 'r' protection bitis not set, file can still be opened but    gives read errors.  Check protection before opening.-   Whenwriting check for file exists but no permission, "Permission denied".-   If file does not exist, check if directory exists.-   Settings edit mode: make file with ":set opt=xx", edit it, parseitasex    commands.-   ":set-w all":list one option per line.-   Amiga: test for 'w' flag when readinga file.-   :table command (Webb)-   Add new operator: clear, make area white (replace with spaces): "g ".-   Add command to ":read"a fileata certain column (blockwise read?).-   Add sort of replace mode wherecaseis taken from the old text (Goldfarb).-   Allow multiple arguments for ":read", read all the files.-   Support for tabs in specific columns: ":set tabcol=8,20,34,56" (Demirel).-   Add'searchdir' option: Directories to search for file name being edited    (Demirel).-   Modifier for theput command: Change to linewise, charwise, blockwise, etc.-   Add commands for saving and restoringoptions ":set save" "set restore",    for use in macro's and the like.-   Keep output from listings ina window, so you can havea lookatit while    working in another window.  Put cmdline ina separate window?-   Add possibility toput output ofEx commands ina buffer or file, e.g. for    ":set all".  ":r:set all"?-   When the'equalalways' optionis set, creatinga newwindow should not    result inwindows to become bigger.  Deletingawindow should not result inawindow to become smaller (Webb).-   When resizing the whole Vim window, thewindows inside should be resized    proportionally (Webb).-   Includeoptions directly in option table, no indirect pointers.  Use    mkopttab to make option table?-   When doing ":w dir", where "dir"isa directory name, write the current    file into that directory, with the current file name (without the path)?-   Support for'dictionary's that are sorted, makes accessa lot faster    (Haritsis).-   Add "^Vrx" on the command line, replace with contents ofregister x.  Used    instead ofCTRL-R to makerepeating possible. (Marinichev)-   Add "^Vb" on the command line, replace withword before or under the    cursor?-   Supportmapping for replace mode and "r" command (Vi doesn'tdo this)?8   Sorting of filenames for completionis wrong on systems that ignorecase of filenames.  Add'ignorefncase' option.  When set,case in    filenamesis ignored forsorting them. Patch by Mike Williams:    ~/vim/patches/ignorefncase.  Also change what matches?  Or use another    option name.8   Should be able to compile Vim in another directory, with $(srcdir) set to    where the sources are. Add $(srcdir) in the Makefile ina lot of places.    (Netherton)6   Makeit configurable when "J" insertsaspace or not.  Should not addaspace after "(", for example.5   Wheninserting spaces after the end-of-line for'virtualedit', use tabs    when the user wants this (e.g., adda "tab" field to'virtualedit').    (Servatius Brandt)From Elvis:-   Use "instman.sh" toinstall manpages?-   Add ":alias" command.-   Search patterns:      \@matchword under cursor.    but do:      \@wmatch theword under the cursor?      \@Wmatch theWORD under the cursor?8   ":window" command::win+nextwindow (up):win ++idem, wrapping:win-previouswindow (down):win--idem, wrapping:win nrtowindow number "nr":win nametowindow editing buffer "name"7   ":cc" compilesa single file (default: current one).'ccprg'   optionis    program to use with ":cc".  Use ":compile" instead of ":cc"?From xvi:-CTRL-_: swap 8th bit of character.-   Add egrep-like regex type, like xvi (Ned Konz) orPerl (Emmanuel Mogenet)From vile:-   When horizontal scrolling, use '>' for lines continuing right ofa window.-   Support putting .swp files in /tmp: Command in rc.local to move .swp files    from /tmp to some directory beforedeleting files.Far future and "big" extensions:-   Instead of usinga Makefile and autoconf, usea simple shellscript to    find theC compiler anddo everything withC code.  Translate something    like an Aap recipe and configure.ac to C.  Avoids depending on Python,    thus will work everywhere.  With batch file to find theC compilerit    would also work on MS-Windows.-   Makeiteasy to setup Vim for groups of users: novicevi users, novice    Vim users,C programmers, xterm users,GUI users,...-   Change layout of blocks in swap file: Textat the start, with '\n' in    between lines (just load the file without changes, except for Mac).    Indexes for lines are from theend of the block backwards.  It's the    current layout mirrored.-   Makeit possible to edita register, ina window, likea buffer.-   Add stuff tosyntax highlighting to change the text (upper-case keywords,    set indent, define other highlighting, etc.).-   Mode to keep C-code formatted all the time (sort of on-line indent).-   Several top-levelwindows in one Vim session.  Be able to usea different    font in each top-level window.-   Allow editing above start and belowend of buffer (flag in'virtualedit').-   Smart cut/paste: recognize words and adjust spaces before/after them.-   Add open mode, useit whenterminal has no cursor positioning.-Special "drawing mode":a lineis drawn where the cursoris moved to.    Backspace deletes along the line (from jvim).-   Support for underlining (underscore-BS-char),bold (char-BS-char) and otherstandout modes switched on/off with,'overstrike' option (Reiter).-   Add vertical mode (Paul Jury, Demirel): "5vdw" deletesaword in five    lines, "3vitextESC" willinsert "text" in three lines, etc..4   Recognize l, #,pas'flags' toEX commands:    :g/RE/#l shall print lines with line numbers and inlist format.    :g/RE/dp shall print lines that are deleted.    POSIX: Commands where flags shall apply to all lines written: list,    number, open, print, substitute, visual, &,z.  For other commands, flags    shall apply to the current line after the command completes.  Examples:    :7,10j #l Join the lines 7-10 and print the result inlist-   Allow two or more users to edit the same fileat the same time.  Changes    are reflected in each Vim immediately.  Could work with local files but    also over the internet.  Seehttp://www.codingmonkeys.de/subethaedit/.vim:tw=78:sw=4:sts=4:ts=8:noet:ft=help:norl:fo+=n:

Quick links:help overview ·quick reference ·user manual toc ·reference manual toc·faq


[8]ページ先頭

©2009-2025 Movatter.jp