4 ms·
> You're calling vim commands "modes" to deliberately make it sound more complex than it is. * I am moving the cursor, but I want to enter text. To do so, I ne
by lutusp 13y ago
> You're calling vim commands "modes" to deliberately make it sound more complex than it is.
* I am moving the cursor, but I want to enter text. To do so, I need to enter colon, i, Enter, then my first text entry.
* I am entering text, but I want to move the cursor. To do so, I need to type Esc, Esc, then commence moving the cursor.
* If while entering text, I want to do something besides move the cursor, I need to type Esc, colon, then a command letter, then its arguments.
I don't need to "make it sound more complicated than it is." It is in fact more complicated -- more complicated than Apple Writer, now justly consigned to a museum, and more complicated than any modern editor.
> I type 'c3w' - you're saying that's modal - which it sort of vaugly is.
This is getting comical.
> I could have done 'v3w' to highlight the next 3 words (something you would do in any other editor).
No, in any other modern editor, I wold pass the mouse cursor across the desired characters, thus selecting them (any subset of characters or words or paragraphs, and very, very fast). There's a reason the mouse was invented, and it wasn't because it's a cute but insubstantial gimmick meant to pander to the tastes of ignorant, unsophisticated computer users.
In Android, I would swipe my finger across the desired text. No mouse needed.
> I stand by my assertions ...
Try moving beyond assertions -- try locating some evidence, as I have just done. Pretend to be a scientist.
> it's up to you to provide the counter examples to back up your claims.
As I have been doing since this thread started? Read my posts.
- aidos 13y agoVim has changed a lot since when you were using vi or your memories are off - either way your descriptions are inaccurate. They lead to the explanation of the miscommunication about modes though. You don't type ':i' to get to insert mode, you just hit 'i'. You don't hit Esc, Esc - it's just Esc (though lots of people remap it to 'jj'). Really these are the two modes I was referring to - you need to move between them, yes, but you'll always be in normal mode except for times you're inserting a bit of text. The way you describe using it is the mindset of everyone who first starts using vim and wants to stay in insert mode. I started that way - but it's not the way vim is used. It's the first thing beginners have to understand - normal mode is where you'll spend almost all of your time. I don't understand what's comical about 'c3w' - "Change 3 Words". You know what's comical? Reaching for the mouse to highlight 3 words to change. Though, you can make that choice - vim supports the mouse too these days. I used it when I first started on vim - it was a bad idea as it's so much slower than using the commands. Again, I stand by my assertions; Vim is faster and more powerful - other editors are easier to learn. You still haven't provided a shred of evidence to the contrary. I think your condescending tone is really unhelpful. I've given you the time and respect you deserved to address each of your comments. It would be honourable of you to treat me in the same way.
- lutusp 13y ago> Vim has changed a lot ... I just crafted the above example using the current vim. No memory required. Vim still imitates vi, and vi still imitates 1970. Extremely inefficient, steep learning curve in order not to press readily available control keys. > I don't understand what's comical about 'c3w' - "Change 3 Words". First, if you happen to be entering text beforehand, the number of characters required to select three words isn't three, it's five. Second, it's comical in modern times because there are much easier ways to select an arbitrary number of words, readily available ways, ways that don't cost any more than vim does, ways that are available on the machines owned by vim's advocates -- excuse me, living advocates. Machines that have keyboards with control keys. On a modern machine, if I want to select three words, or 2 1/2 words, or 3 1/2 paragraphs, I glide the mouse cursor across the desired text. And to do so, I don't have to enter a special mouse mode first. This conversation is funny for the same reasons that a conversation about a horseless carriage is funny. No, there's no miniature horse hidden in there -- they did away with the horse entirely. I know it sounds fantastic.
- klibertp 13y agoOne last reply from me for the time being: > * I am moving the cursor, but I want to enter text. To do so, I need to enter colon, i, Enter, then my first text entry. That's incorrect. You can just press 'i' to enter insert mode in place. Or upper case 'I' to have Vim enter insert mode at the end of a line. Or upper case O for insert mode at the beginning of freshly inserted line below the current. Or 'a', 'A', 'c', 'C' and many other's for other kinds of movement/change+enter insert mode combos. > * I am entering text, but I want to move the cursor. To do so, I need to type Esc, Esc, then commence moving the cursor. No, the arrows work (should work, may be a problem on some terminals/terminal emulators, but that's common for console editors) in insert mode. No need for <esc> (and it's single <esc>, not double, anyway) if you want to move by a few characters. Ctrl+<arrow> works in insert mode, too, so you can move by words. You lose prefixes and other kinds of movements though. > * If while entering text, I want to do something besides move the cursor, I need to type Esc, colon, then a command letter, then its arguments. That's only true if the command is not bound to a sequence of keystrokes. If it is, it's frequently as efficient to type as in modeless editors, for example going to a certain line in Vim is done with <esc><number>G, while in Emacs it's default binding is M-g g <number> <enter>. If the command is not bound, both <esc> : <command> <args> <enter> and M-x <command> <enter> <args> <enter> beat navigating through menus with mouse in terms of efficiency and that's what they are for, not for the commonly used commands which should be (nv)maped or global-bind-key'ed anyway. > I don't need to "make it sound more complicated than it is." Well, you do, as shown above. > I wold pass the mouse cursor across the desired characters, thus selecting them (any subset of characters or words or paragraphs, and very, very fast) Well... I would like to measure this somehow. You assert that using a mouse for this is quicker, but present no evidence. I have no evidence for the contrary, so we can't really argue about this. I personally feel that reaching for the mouse and using it is slower than selecting text with keyboard and that the latter requires less manual precision, which matters to me. You can feel differently and I respect and accept it. We - Vim users here - can probably show you shorter and more efficient counterpart to any example you'd come up with. That you don't know these more efficient ways is a valid criticism of Vim in itself - which is not a popular claim among Vim users, but I think so - but it's argument for Vim not being friendly to beginners, not for it being inefficient.
- 13y ago
- MetaCosm 13y agoThe truth is, Vim gives you lovely model editing and full use of the mouse, it isn't either or, you get both! ":set mouse=a" and you can use it like you probably expect, select stuff, move around the file, use your scroll-wheel, etc. Remember with no .vimrc vim defaults to vi emulation mode for historical reasons. ":set nocompatible" to fix that, compatible mode turns off a lot of the wonderful Vim features us Vimmers have come to love. > * I am moving the cursor, but I want to enter text. To do so, I need to enter colon, i, Enter, then my first text entry. ... you can enter insert mode a variety of ways, i, I, o, O, a, A, etc -- each has a specific meaning. > * I am entering text, but I want to move the cursor. To do so, I need to type Esc, Esc, then commence moving the cursor. ... you just hit escape to go back to normal mode, which generally pay dividends on that single keypress with an better group of movement keys (move by word, sentence, paragraph, tag, search, etc). Or just use the mouse (works perfectly well, doesn't even change the mode, set mouse=a)! If you are in insert mode, you remain in it, same for normal mode! > * If while entering text, I want to do something besides move the cursor, I need to type Esc, colon, then a command letter, then its arguments. ... actually, vims insert mode has many features for editing without leaving it for convenience, C-W, C-U, C-J, C-M, C-N, C-P, C-R and a bunch more for deleting words, lines, interacting with registers, etc. > No, in any other modern editor, I wold pass the mouse cursor across the desired characters Sure, and you can do that in vim (console or gui, works in both with mouse=a), but some of us (myself included) consider this an inferior way to select 3 words via sloppy indirect abstracted pixel pointing. Not to mention pulling your hands off the keyboard... to the mouse, then back again re-seating to continue typing. Mice are for FPS games, not selecting text! EDIT: Even if Vim someday dies (decades from now maybe), modes have spread, I use modes in Word, Outlook, Visual Studio, Xcode, Sublime, Eclipse, Firefox, Chrome even on my ZSH prompt. Once you get used to modes based editing, it is an amazing addition to any editor or GUI, and people keep creating plugins so Vim mode lives on! Editing text hasn't change radially, because text hasn't changed radically... the reason emacs and vim live on is because of fitness for the task at hand, editing text.
- lutusp 13y ago> The truth is, Vim gives you lovely model editing and full use of the mouse, it isn't either or, you get both! ":set mouse=a" and you can use it like you probably expect, select stuff, move around the file, use your scroll-wheel, etc. Thereby allowing vim to become almost as efficient as a modern editor, specifically by disabling those traits that make vim vim. > Once you get used to modes based editing, it is an amazing addition to any editor or GUI ... That would be why why modern editor designers make sure to include a modes mode, to appeal to time travelers visiting from earlier times. Yes, I'm kidding -- no one wants an interface that requires any more than the absolute minimum of either keystrokes or arcana unique to one editor. > ... the reason emacs and vim live on is because of fitness for the task at hand, editing text. As to the thread's topic, this is false. Vi and vim aren't as efficient as a modern editor, which is why most current computer programming activity uses tools designed with a modern computer -- and a modern computer user -- in mind. I could easily write an editor much more efficient than vi/vim -- I know this because I did, and it became very popular -- and its advantages would become obvious to all but True Believers. As soon as someone invented the control key and its purpose, and well before Douglas Engelbart invented the mouse, the retirement clock started ticking for vi and vim. It's still ticking, but it seems not everyone can hear it.