Hacker News new | past | comments | ask | show | jobs | submit login

> I would actually love to hear some specific and insightful criticisms of Vim ...

Sure, no problem:

* It's still a command-line editor. Just like vi.

* To perform multiple operations, like moving the cursor around, entering text, deleting text, searching the document, saving and loading files, requires you to switch modes. Just like vi.

* It cannot take advantage of the modern computing environment -- mouse navigation, different fonts, text styling, page layout, or anything else. Just like vi.

* No clipboard support -- all copying and pasting operations, apart from being another example of bizarre vi incantations requiring the recall of a raft of magic characters, is within vi/vim and disregards the system clipboard.

I can say this in vi/vim's favor: it's a step up from ed, its predecessor.

> In today's terms, the above "without wasting too much paper during editing" argument translates into "with as few keystrokes as possible".

No, actually, in the vi days, to save paper one had to enter more keystrokes, not fewer. When I wrote Apple Writer, former users of vi were astonished by how few keystrokes were required to accomplish things.

> do you have any specific issues with Vim?

Just one. It doesn't belong in modern times, it belongs in a museum.




> * To perform multiple operations, like moving the cursor around, entering text, deleting text, searching the document, saving and loading files, requires you to switch modes. Just like vi.

All these operations, except entering text, are available from "normal" mode which is the default mode. This is factually incorrect that you need to switch mode to delete something, or save a file.


To me, it sounds like he's made the classic "vim newbie" mistake of thinking of insert mode as the default, and then switching to normal mode to do anything other than edit text. It's easy to see how that would cause a painful experience.


> To me, it sounds like he's made the classic "vim newbie" ...

Based on simple probability, the chance is better than 50% that I was using vi before you were born.


Nice ad hominem. Using vi before any of us was born does not mean you avoided the classic "vim newbie" mistake.


> Nice ad hominem.

How is calling you young, saying you have your entire life in front of you, an ad hominem? Except possibly to suggest that you have a quota of mistakes you need to go through before you become more efficient at avoiding them?


>saying you have your entire life in front of you

That's not what you said... you said he was too young to know vi/vim better than you. If you haven't used it in 30 years how would you know vim any better than a younger person? Why would age have anything to do with recognizing the benefits and drawbacks of various text editors? My grandparents barely knew how to turn on a computer... they wouldn't try to teach me that notepad is a better text editor than vim. I'm not discounting your experience (you definitely have more than most people here) but your arguments here could be better.


> ... you said he was too young to know vi/vim better than you.

At this point you have two choices. You can locate where I said that and quote my words directly, or you cam post your apology for making a false claim in this public forum.

To cut to the chase, I never said what you claim, your claim is false.

Ah -- I just figured out why you can't quote my words directly, to discover that I never said what you claim. You're using vim to compose your reply, and vim is so damned inefficient that the task of accurate reporting is consequently entirely beyond your energy or patience.

> If you haven't used it in 30 years how would you know vim any better than a younger person?

False premise, false conclusion. Locate where I said I had never used vi/vim for 30 years.

> Why would age have anything to do with recognizing the benefits and drawbacks of various text editors?

I never made that claim, so I don't have to defend it. Since you have obviously lost track of the thread, the OP used words to the effect that I might be suffering from a neophyte syndrome (not his words). I replied by pointing out that I am hardly a beginner, that in fact I was probably using these editors before he was born. Perfectly apt reply, one having only to do with experience, not age.

> ... your arguments here could be better.

A non sequitur. Ellen Page could also be better looking, even though that's a bit hard to imagine:

http://www.hdwallpapers.in/walls/ellen_page-wide.jpg

Summary. You need to post real quotes of real words, things people really said. Obviously if you're handicapped by using vi/vim to compose your replies, such trivial actions as copy and paste are -- well, by no means trivial -- so the content of your posts becomes more understandable.


> At this point you have two choices. You can locate where I said that and quote my words directly, or you cam post your apology for making a false claim in this public forum.

You first. You said:

> How is calling you young, saying you have your entire life in front of you, an ad hominem

Your exact words:

> Based on simple probability, the chance is better than 50% that I was using vi before you were born.

Don't be so obtuse.


I don't believe he's suggesting that he avoided newbie mistakes, simply that he's already gotten past that stage.


> This is factually incorrect ...

If you, like most people, spend most of your time entering text, then it is factually correct that you must exit the text-entry mode to do anything else.

And do you know why this arrangement exists? Because there were teletype terminals and early glass terminals that didn't have control keys. No control keys, no way to exploit their existence. SO there had to be a magic character to switch from text entry to control mode. And the magic character was an ordinary character, sometimes used for text entry, sometimes interpreted as a command prefix.

Keyboards have changed, but vi hasn't. Computers have mice and touch-sensitive displays, but vi can't exploit them. Operating systems have clipboards, but vi can't take advantage of that convention. You know -- don't get me started.


I'll point out that any modern version of vim uses mice just fine. It also uses the system clipboard just fine.

The reason most vim users stick with the keyboard is because using a short key combination to select and manipulate text is measurably faster than moving your hand off the keyboard, manipulating a mouse or touchscreen, and then moving it back to continue typing.


> I'll point out that any modern version of vim uses mice just fine. It also uses the system clipboard just fine.

What you see as vim appearing to exploit a mouse and system clipboard is actually Bash and (sometimes) a command-line app (example Konsole) doing so, or equivalent utilities outside vim in a non-GUI level. Those features work with any editor in exactly the same way.

As to using the system clipboard just fine, you can copy text from vim or any other displayed source of text, but you cannot paste it, because it's not vim that's acting, or is in any way aware that text has been copied.

> ... because using a short key combination to select and manipulate text is measurably faster than moving your hand off the keyboard, manipulating a mouse or touchscreen, and then moving it back to continue typing.

Right -- the mouse was foisted on a gullible public willing to suffer a reduction in efficiency in order to have an electronic pet, all against their better interests. And the industry's usually diligent efficiency experts were all bribed to overlook the reduction in efficiency you've just brought to our attention.


... Vim (and plugins) can respond to mouse actions (for example, to open a file tree in NERDTree or Tagbar), so your mouse stuff is pure misinformation. This includes console vim or gui vim.

As for integrating with the system clipboard, that clipboard lives somewhere (X11, OS-X, Windows System), it isn't magic, and vim can integrate with it in various ways dependent on the OS. On windows for example "set clipboard=unnamed" basically makes vim use the system clipboard, period.

So... not sure if you are lying or misinformed.


> Right -- the mouse was foisted on a gullible public willing to suffer a reduction in efficiency in order to have an electronic pet, all against their better interests. And the industry's usually diligent efficiency experts were all bribed to overlook the reduction in efficiency you've just brought to our attention.

I'm not sure if you're just joking or you're just misinformed.

For text editing, mouse is more inefficient than keystrokes


> For text editing, mouse is more inefficient than keystrokes

Your evidence for that is provided by the fact that the world eagerly adopted the mouse and abandoned vi/vim and similar programs, based solely on the advantages of modern methods.

Your evidence for that is provided by the fact that I wrote an incremental improvement over vi, one that exploited the existence of control keys but didn't exploit a nonexistent mouse, and, even though it represented no great improvement, I retired on the proceeds at the age of 35. (My program was appropriately eclipsed by better, more advanced programs, that among other things did exploit the mouse.)

> I'm not sure if you're just joking or you're just misinformed.

Wake up and smell the Cappuccino. You are not living in reality.


There is indeed a massive advantage of a mouse over a keyboard-based interface - it's far, far more discoverable for novice or occasional users. In fact, I'd venture to say the mouse (and the corresponding advent of discoverable graphical interfaces) was the primary driver of making computers accessible to non-techies and hence largely responsible for the computing revolution.

But, a keyboard-based interface is still more efficient for someone who can put in the time to learning how to use it efficiently (and customizing it to their specific work), and uses it regularly enough to maintain that knowledge. For a lot of people who write code for a living, a text editor definitely falls in that area.


> But, a keyboard-based interface is still more efficient ...

This has been proven false any number of times. It's false when comparing mouse use against a modern keyboard with control and function keys, and it is certainly false for the limited keyboards for which vi/vim was designed, those keyboards that result in vi/vim not being able to exploit control characters.

Source: http://www.asktog.com/TOI/toi06KeyboardVMouse1.html

Quote: "We’ve done a cool $50 million of R & D on the Apple Human Interface. We discovered, among other things, two pertinent facts:

* Test subjects consistently report that keyboarding is faster than mousing.

* The stopwatch consistently proves mousing is faster than keyboarding.

This contradiction between user-experience and reality apparently forms the basis for many user/developers’ belief that the keyboard is faster."

The above quote comes from a study performed a while ago and repeated ad infinitum since then.


> those keyboards that result in vi/vim not being able to exploit control characters.

Modern vim uses control characters just fine. Have you used it any time in the last decade?

Because you seem to dance around that question a lot, saying "Well when did I say I haven't used vim recently" whenever someone brings it up, and then saying something else completely wrong that indicates you have no idea how a modern version of vim is actually used.


I feel the need to point out that everyone else is talking about vim, but you're talking about vi. Could that explain some of the differences in how you remember things based on how they are?


The answer is simple: vim = vi with decorations. If vim had done away with modes that date back forty years, I would acknowledge that.


Vim/GVim actually do support the mouse since a while. You can select, copy/paste, resize your split windows, etc, using the mouse. GVim even has typical menus, not so different than wordpad. However, I agree with you that for other features, like using different fonts at once, Vim is limited or feels constrained.


> All these operations, except entering text, are available from "normal" mode which is the default mode.

Assertion: vim has modes.

> This is factually incorrect that you need to switch mode to delete something, or save a file.

Assertion: vim doesn't have modes.

Only one of the above claims can be true. Choose which one you want to defend, and delete the other. But don't try to delete it with vim, or we'll be here all day.

In point of fact, if I am entering text, I cannot move the cursor, search for text, save a file, load a file, or a dozen other things, without first switching modes.

I feel like I'm discussing whether there was a literal garden of Eden with a religious True Believer. True Believers famously make claims they haven't bothered to compare to reality before speaking.


> Only one of the above claims can be true.

Really?

> Assertion: vim doesn't have modes.

No,it is not an assertion that vim doesn't have modes, it is an assertion that you don't have to change mode to do some things

>I feel like I'm discussing whether there was a literal garden of Eden with a religious True Believer. True Believers famously make claims they haven't bothered to compare to reality before speaking.

Guess who is this True Believer


These don't seem like the most sound criticisms honestly.

It's still a command-line editor. Just like vi.

Not sure what the issue is there?

It cannot take advantage of the modern computing environment

gvim/macvim exists. They also give you regular clipboard support. Though I honestly don't get much out of all that, and am happy enough with vim in a terminal, but I understand the motivation.

To perform multiple operations ... requires you to switch modes

Vim is modal, yes, but what is the specific disadvantage of that? That it has a learning curve? Mode switches are generally single key presses, so it's not exactly onerous once you know what keys to press. Equivalents in "modern" text editors require use of the mouse, which while being much easier to figure out, is also much less efficient. Using the mouse, though just taking a bit longer each time, is enough for my brain do a switch and focus on that action instead of the code - unlike the vim mode switches I do all the time without thinking.

No, actually, in the vi days, to save paper one had to enter more keystrokes, not fewer

That sounds plausible, but not all that relevant to how one uses vim now.

former users of vi were astonished by how few keystrokes were required to accomplish things

Also irrelevant. Vim's text objects, which basically offers you a vocabulary for text manipulation, has no match and will generally allow vim to win in practically any keystroke comparison. It's not clear how well you know how to use vim, if it all, though you've clearly used and hated vi in a past life :).


> These don't seem like the most sound criticisms honestly.

So Steve Jobs was wrong to visit Xerox Parc, be impressed by what he saw, and create the modern computer?

> Vim is modal, yes, but what is the specific disadvantage of that?

It is less efficient. But you are now obviously trolling, posing arguments that no rational person could possibly accept. "So, a few more keystrokes for each command, repeated for each such command. So what? Are you in a hurry to get somewhere? Do you want to live forever?"


It is less efficient. But you are now obviously trolling, posing arguments that no rational person could possibly accept. "So, a few more keystrokes for each command, repeated for each such command. So what? Are you in a hurry to get somewhere? Do you want to live forever?"

I said no such thing. I said a keypress is more efficient than alternatives, and thus more efficient and faster.

Please reconsider who an external observer would mark as a troll in this conversation. But in fact, I don't think you're trolling, you just hate vim, and that's fine. And I like vim, and that doesn't make me a troll I hope.


Thanks for the reply. I guess we have a difference of opinion on the concept of modal editing, which is fine.

I find it a plus that I'm not having to move my mouse hand off the base row all the time, and find that vi offers elegant solutions to many oft-recurring tasks people normally accomplish with a mouse (copying a row or two, highlighting text inside brackets / inverted commas, editing a variable name up to a specific point, etc). While I agree that the incantations required are relatively complex, they do become second nature (e.g. I'm an on-and-off user of perhaps 2 years, and I'm comfortable with the basics). This of course comes at the cost of having to switch modes often (and specifically, exit current mode using ESC, which is irritating), but this normally only involves 1 key. I guess a complete cost-benefit analysis would be highly subjective, in my personal experience the trade-off is worthwhile. In short, I'm not aware of anything that comes close to the terseness of vi(m) for basic editing.


I hate vim too, but some of your points are simply not true:

> * To perform multiple operations, like moving the cursor around, entering text, deleting text, searching the document, saving and loading files, requires you to switch modes. Just like vi.

Open a file. Insert some text. Use arrow keys to scroll. Hit Alt-/ to search forward. Hit Alt-Shift-/ to search backwards. Sure, some commands need you to switch modes, but not all.

> * It cannot take advantage of the modern computing environment -- mouse navigation, different fonts, text styling, page layout, or anything else. Just like vi.

One can do text styling (but only with colours, I think) with vim. With gvim, one can use a mouse, and change fonts.


> I hate vim too, but some of your points are simply not true

Your claim is that what I said is false.

> Sure, some commands need you to switch modes, but not all.

Your claim is that what I said is true.

Only one of the above comments can be so. If one is true, then the other is false. Take your pick.


No, you're wrong and he is right and now it is clear that you're just laughing


> No, you're wrong and he is right ...

That's for sure. In a single post he asserted both that there are modes, and there aren't modes. That leaves no room for another viewpoint.

There's one sure way to win an argument -- assert all possible viewpoints, declare victory, and depart the field.


Declare what victory? I have no* stance in superiority of the whole modal vs. non-modal deal. Whenever I have a choice, I pick a modern GUI editor, just like you.

Far from "[asserting] all possible viewpoints", I mentioned specific keystrokes that you could try out too. If you are in insert-mode, and use arrow keys to visit a different location, you'd continue to be in insert-mode. Is it implemented as a secret hack to quietly enter and exit the scroll mode when arrow keys are pressed? I neither know nor care. However, in this usage scenario, modes are not exposed to the end-user.

* actually, I do like modal behaviour, but in very few cases. In MS Windows, it used to be the case that Win-space z would put the window in resize-mode. One could then use arrow keys to resize the window. There was a similar sequence for moving windows too.


No, he has not asserted that vim doesn't have modes and if you're seriously claiming that then it is clear that you have a serious cognitive problem


> * No clipboard support -- all copying and pasting operations, apart from being another example of bizarre vi incantations requiring the recall of a raft of magic characters, is within vi/vim and disregards the system clipboard.

I was under the impression, vim does have clipboard support. Putting "set clipboard=unnamed" in ~/.vimrc integrates it with system clipboard (at least on OSX).


> I was under the impression, vim does have clipboard support. Putting "set clipboard=unnamed" in ~/.vimrc integrates it with system clipboard

I was wrong about that. As it turns out, in some environments, by reconfiguration you can make vi/vim recognize the system clipboard, even though it's terribly unhappy about it, and even though the change isn't transferable to all working environments.

I stand corrected.


What is/are your replacement(s) for VIM?


> What is/are your replacement(s) for VIM?

Anything at all. Kate. KWrite. Gedit. The programming editors built into Netbeans and Eclipse. My own (free) program Arachnophilia (http://arachnoid.com/arachnophilia), a sort of a descendant of Apple Writer, but much improved and with support for many document types. Essentially anything.

All the above choices take advantage of the modern computing environment. That by itself sets them apart from vi/vim.


Yah, I'm on Eclipse (Kepler) for Scala development, but VIM bindings are more efficient editing-wise, IMO.

I would choose VIM over Gedit simply because remote servers tend to have vi/vim installed out of the box, not to mention the fact that Gedit is to me not really all that great (perhaps a bit better than M$'s Wordpad).

VIM is my default editor for sysadmin work; for coding it's Eclipse for server-side and Aptana for client-side (which I guess is Eclipse under the hood, just not as bloated).


How are "different fonts, text styling, page layout" relevant to a programmer's editor?


> How are "different fonts, text styling, page layout" relevant to a programmer's editor?

You're suffering from a hidden assumption -- that an editor can only be a programming editor, can't be many different things without degrading its usefulness as a programming editor.


gvim comes standard with vim with

vim defaults to allowing the cursor keys and delete/backspace.

I mouse around my gvim with my custom font all day long middle click pasting snippets in from the browser.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: