2 ms·
> With fundamental errors like this it's no wonder design improvements are rejected by the author: >> Furthermore, the effect of many motions and text objects
by gumby 3y ago
> With fundamental errors like this it's no wonder design improvements are rejected by the author:
>> Furthermore, the effect of many motions and text objects is obvious; visual confirmation is often completely unnecessary. Deleting the current word, sentence, or parentheses block does not involve uncertainty
> But it does, there is plenty of uncertainty: … so you can't easily tell where a sentence begins and where it ends.
I feel the author is correct, especially considering the words I highlighted. Editors like emacs and vi began as non-visual editors (TECO and ed) used with printing terminals, so you just needed a model in your head and weren’t going to wait for a print out of the updated buffer. In fact I often shut my eyes while using emacs because I’m concentrating on what’s in my head, not what’s on the screen. I’ll open them momentarily to glance at something and hop over to where I want to edit. It helps that the primary motion command in emacs is not cursor motion but search, which is incredibly light weight and doesn’t invoke a modal popup.
But the bigger aspect is that emacs (and to a lesser extent vi) is quite definite as to what constitutes a word, token, sentence, structure etc so you don’t even have to think about it. More “modern” editors are more ad hoc, no different from modern languages that had simply one implementation rather than a spec — what’s in the implementation is by definition what the language is, just as with the old kilogram. So no wonder you find the confusion you describe: your tools are less powerful!
- taeric 3y agoLargely agreed with you regarding the mental model. This is similar to a push I give a lot of programmers on why autocomplete and such is not necessarily a must have feature. Definitely nice, but doesn't help with my mental model of what I'm doing at all. Only disagreement is that emacs, oddly, is almost certainly more flexible with regards to what a word is than many other editors. With things like global-subword-mode making it so that I can transpose words in a camel case name.
- square_usual 3y ago> More “modern” editors are more ad hoc, no different from modern languages that had simply one implementation rather than a spec — what’s in the implementation is by definition what the language is, just as with the old kilogram. I don't understand what you mean by this. In what way is, e.g. VS Code, "more ad hoc" than vim when it comes to the definition of what a word or a line is?
- zogrodea 3y agoI can't speak about what the person you replied to intended, but there are a few things that come to mind. One is Unicode grapheme clusters (UAX29/the segmentation rules specifically) which browsers are expected to follow. Those rules specify things like how ctrl-right should work and, since the Unicode specifications have multiple versions and will likely have more in the future, I can understand someone who wants the program they use for text-editing to have a more stable definition of a "word" which is probably simpler to work with as it doesn't need to deal with cursor behaviour of different languages/emojis. The second thing I thought of is to do with differences on different operating systems. Windows and macOS have slightly different text-editing behaviours which I can imagine might be annoying. For example, if you have the text "asdf fdsa qwerty" and press ctrl-left/ctrl-right a few times, you'll see that macOS will move your text caret to start/end of the word while Windows will jump over spaces to skip to the next word. I don't think the second point defines other editors as being "more ad hoc" and the first point is just there because VS Code uses Electron and probably inherits the browser's Unicode-compliant behaviour (I have no idea what Intellij and other IDEs do) but I would likely have an easier time remembering the simpler and more platform-consistent definition that Vim has and appreciating that about it for such a specialised tool.
- eviks 3y agoThe frequency doesn't negate conceptual flaw in reasoning. It also most likely stems from serious underuse of multiple cursors (another vim's flaw), which reduces the frequency of cases where it's not necessary > quite definite as to what constitutes ... sentence, ... so you don’t even have to think about it. My very first example doesn't depend on the strictness of definition, it's your eyes that aren't definite enough and need help with selection to show what operation will affect. Also strictness is less powerful, not more