4 ms·
You got downvoted because you criticize something which you obviously have no clue of. The reason why vim, in its various incarnations, is still being used is b
by terhechte 13y ago
You got downvoted because you criticize something which you obviously have no clue of. The reason why vim, in its various incarnations, is still being used is because vim is not an editor, vim is a highly powerful text manipulation language. The main implementation of said language being Vim, with implementations for lots of other editors (Sublime, Xcode, Eclipse, even Emacs).
If I'd find a better text manipulation language than vim, I'd switch in a heartbeat. I've yet to find one.
- mmorett 13y agoPlease. vim is an editor. Whether vim is a language, which has an implementation known as vim which is an editor, is irrelevant. I referred to the implementation. And it was clear I was referring to the editor. You might wanna correct Wikipedia and tons of other sources that all refer to vim the editor. Cuz they are all wrong, per your definition.
- terhechte 13y agoYes, and no. I was referring to your criticism that people still use it. See, people do not use it because it is vim, the editor, but because it is vim, the text manipulation language. Really. There's nothing great about the editor itself, it is rather clunky, lacks solid UI abstractions, blocks the UI while it is busy doing something, has an awful scripting language (vim script), and more. If you take away the text manipulation language, nobody would use it. Another point validating that is that people write vim-layers for all kinds of editors and IDEs. They don't port the editor (i.e. the weird UI blocking, or the text mode, or the other things or even vim script), they port the text manipulation language. Coming back to what I originally said: You seem to not get vim, and how it allows to easily modify text with a manipulation language (not a programming language!). Say I'm at the beginning of a line: #[exampleObject: obj displayTitle: @"this is the title"]; [delegateDoSomethingWith: @"this is the title"]; Say I want to take the 'this is the title', and change the contents to 'new title. In the vim-language, that's the following code (cursor pos is the #): /@"<CR>2lci"new title<ESC>n2l. or Vj:s/this is the title/new title/<CR> This is a simple example, but for moving around text and manipulating it (i.e. everything after you wrote the initial code / function class / whatever) it is beyond fantastic. What's not so good, as outlined above, is vim the editor, simply because it is old and doesn't have a more modern UI, etc. There're many projects that tried to address this, but everyone, so far, failed to implement the text manipulation language as deeply as in the reference implementation vim. What comes close is evil for emacs.
- mmorett 13y agoWith facts in hand, no, vim is not a text manipulation language. vim script is: http://en.wikipedia.org/wiki/Vim_script http://en.wikipedia.org/wiki/Vim_script I never referred to vim script. I referred to vim. To quote you, "you obviously have no clue" that vim is an editor, which contains vim script.
- qu4z-2 13y agoDude. He's right. Vim is clunky, I'll admit it, but it is a text-manipulation language separate from vim script. Vim-the-language looks like this: ci)char* arg<ESC>/func<CR>V}:s/param/arg/g<CR>
- mmorett 13y agoThat's kinda looks like what I have to type in to go to the end of a single line in Vim. ;-)