List of known bugs: + The number option doesn't display line numbers in ex append/insert mode. + The option sidescroll is completely wrong, and setting it does more harm than good. + When nvi edits files that don't have trailing newlines, it appends one, regardless. + Open mode is not yet implemented. + ^C isn't passed to the shell in the script windows as an interrupt character. + The options: hardtabs, lisp, optimize, redraw, slowopen are recognized, but not implemented. These options are unlikely to be implemented, so if you want them you might want to say something! I will implement lisp if anyone ever documents how it worked. + Screen repainting over slow lines, for some screen changes, isn't as good as the historic vi's. + The line movement commands ('k', 'j' are easy examples) don't find the most attractive cursor position correctly when wrapped lines are longer than 80 characters, and they're on the second or subsequent lines. + Colon commands longer than a single line cause the display to be incorrect. + The usages of S_{REDRAW,REFORMAT,REFRESH,RENUMBER,RESIZE} are inconsistent, and should be reviewed. In particular, S_REFRESH in any screen redraws all screens. + Historic vi permitted :g/xxx/vi, i.e. you could execute ex/vi as global commands. Need to review all of the old commands to verify which ones could/could not be used as global commands. + If you run out of space in the recovery directory, the recovery file is left in place.