On Thursday, March 7th, 2024 at 14:23, Jarno Mäkipää <jmaki...@gmail.com> wrote: [...] > Feel free to fix it up, some other features are simpler since you can > just read the man page and make it behave accordingly, but backspace > is maybe not very trivial one since its either you follow heirloom vi, > or make some educated assumption how average person would want to use > it. To me this patch is not necessarily fixing it, but making it > behave the way you want, maybe more vim way?
The way most people use vi-like text editors today is with vim (or one of it's many forks). The same way that people usually interact with unix-like operating systems with linux. Making toybox vi act more vim-like would it easier to use for 90% of vi users. > About join lines function I dont see any issues with original version, > its doing what it supposed to do, searching newline and taking it out, > (with some buffer management magic called piece table method, here is > some info if you interested on how it works > https://www.cs.unm.edu/~crowley/papers/sds.pdf) Vim does insert a space in the merged line, which is nice for formatting and would fix the "deletion of last character" problem. Dunno how to implement it yet without doing ugly stuff with run_vi_cmd() yet > My original idea was to make vi as simple as possible: move with > simple motions, delete, yank and push and insert few words with insert > mode. Kinda rescue editor, in 1000 lines of code and leave it to Rob > to clean up, (or yank out and rewrite.) Then people started using it, > at least as rescue editor, so some quality of life patches came in, > and now its near 2000 lines. A minimal development environment needs at least a basic text editor. I noticed while trying to do stuff with mkroot (Getting runtest.sh to run on it so we can test commands like passwd (or nommu support assuming qemu has options for it)) That vi didn't have any ex commands other then write and quit. Since batch processing with ex commands is convenient (I know sed exists, but having it built in is more useful) I tried (am trying) to implement some of them. And once you have ex commands, implementing ed (and ex) are really easy (a for loop with run_ex_cmd()). - Oliver Webb aquahobby...@proton.me _______________________________________________ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net