Your arguments are inconsistent and frequently plainly wrong. You refuse to
recognize them as such even if they are proved to be false multiple times.
Instead you're skipping from one argument to another, if we're lucky enough to
hear actual argument, because for the most time you're just saying that Vim
sucks because you think it sucks. It's really hard to have a discussion in such
a setting and because I know you're not going to improve, I tried to do it for
you. Here is an index of lutusp arguments why Vim sucks, gathered from this
thread - without those I already answered, because I'm not that fixated on the
topic.
About keyboard, mouse and clipboard support:
> Not only do modern keyboards have control keys, but modern computers have mice
and other pointing schemes.
> All to avoid using any control keys. The reason? vi must be able to work with
a keyboard that doesn't have any control keys, and vim must work exactly 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.
> 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.
> * 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.
> 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.
That's what you wrote. It's all false. First, let's level the playing ground -
we're now talking about GVIM, which comes with every Vim installation (unless
NO_X11 or something is defined at compile time). Whenever you see the word "Vim"
below it means GVIM. To make sure we're really talking about the same thing,
here are some screenshots of GVIM in action:
This way we can avoid going into terminal emulator and consoles details, and
focus on Vim itself rather than on things it can be accessed through.
Ok, so first the keyboard and modifiers keys. It has been told you many times
already that Vim supports those. It should be evident from the fact that Vim
manual describes default keybindings with modifiers in them. For the example
look here: http://vimdoc.sourceforge.net/htmldoc/windows.html#window-mo...
This makes your claim false - apparently Vim doesn't have to "avoid all control
keys" (or "work exactly like Vi", but that's another matter).
It is even mentioned that the mouse works in console version, but let's leave it
for other time and keep the argument simple. The point is that you can use the
mouse for everything you would use it in other editors out of the box, and if
not, then you can easily remap it to do something else.
Which makes you claim about Vim not supporting mouse obviously false.
The systems' clipboard support is of course available too. Actually, it is
exposed by default via two special purpose registers, named 'star sign' (the thing that makes text italic here...) and '+', which
is documented in
http://vimdoc.sourceforge.net/htmldoc/gui_x11.html#x11-selec...
Note that on Windows the latter is an alias for the former, because the system
has only one clipboard. There are commands for placing text in registers,
appending to registers and pasting from registers and they work in exactly the
same way with 'native' registers and with the ones representing OS clipboard. So
it's, of course, completely false that Vim doesn't support clipboard.
One thing of note, you wrote:
> Four characters. Very efficient.
in response to me pointing out how to get the text into clipboard. Well, it's
because by default Vim doesn't use OS clipboard as a default register, but you
can of course make it do so. If you really want.
On efficiency and modes:
> Some of them might even think it's natural to have to use twice as many
keystrokes as are required on a modern editor, even another command-line editor,
to switch from editing to navigating (as just one example)
> No, to switch from entering text, to deleting text, to searching for text, to
copying and pasting text, to saving a file, to loading a file, all require
switching modes. Let's be honest.
> Having to enter additional keystrokes, a throwback to a computer keyboard that
either didn't have control keys or couldn't exploit them, makes editing "faster
and more powerful"? Nice reasoning.
> * 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 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?"
Well, you basically say that having modes is less efficient than not having
them. The problem here is that you don't present any evidence to back this
claim. You say that you need to press more keys when working with Vim, but
despite multiple people asking you to, you don't give even one realistic
scenario where it would be less keystroke to perform an action in other editor.
The few examples you provided were unnecessarily verbose and you were given
shorter versions, which require at most the same number of keystrokes as other
editors. And it's without custom mappings.
Despite this - and despite the fact that I even included <esc> for changing the
mode and still got shorter commands - you're convinced that having modes
necessitates more keystrokes to perform an action. I'm at a loss here, how could
I ever convince you otherwise? You didn't even post any more examples of what
you think takes more time in Vim as if you thought that the previous ones are
enough to prove your claim. It's silly - and false. Of course.
The truth is that having modes allows for not using modifier keys, except for
one. Without modes you need to use them, because you have no other way of
differentiating text input and commands. And that's all modality does, by
itself - replaces a few modifier keys with a single one. It has no impact on
average count of keystrokes.
For example, copying a full line of text in other editors goes like this (well,
using a mouse is an option, but until it's proved or disproved to be fatser than
keyboard for text editing I'm not going to include it):
Home, Shift+End, Ctrl+C
In Vim, thanks to modality, the command doesn't involve modifier keys and is
equally long (or if you count pressing modifiers as keystrokes - shorter):
<esc>yy
For replacing text inside parens, starting from inside:
go to one of the parens, Shift+Alt+arrow, arrow in opposite direction (to
deselect matching paren), and start writing (inserting deleted paren)
In Vim:
<esc>ci(
Moving a paragraph below another one:
go to the beginning of the paragraph, press shift+arrow down enough times,
ctrl+x, move to the end of next paragraph, ctrl+v
(No wonder using mouse is more efficient than this!)
In Vim:
<esc>dip}p
And so on. Of course, you can shorten the modeless commands by introducing
additional, special purpose commands, so don't take them seriously, but that's
not the point - do you really think you can shorten them any more than what Vim
does? If so, please show us. No mouse please.
Anyway, if keystrokes count remains the same, why bother with modality? I don't
know, to be honest. Vim proponents claim that (with <esc> mapped to CapsLock
key) they never leave home row. I'm not a touch-typist and so I don't feel it's
a great difference. But at the same time I can't see why is it a bad thing. The
keystrokes count stays the same. Chaining is easier, especially when using
numerical prefixes. There is a bit of an overhead in that you need to learn of
various commands for changing modes - and everyone using Vim admits this - but
that does not hamper efficiency in any way once learned.
I wanted to, but I think I won't comment on the rest of what you wrote, because
it carries no substance whatsoever. We're really not interested in ed, ex and vi
early history, we're talking about current versions of Vim, which is, contrary
to what you say, != vi. So here you go, your claims at least commented at
length. I hope it's enough and that I will be able to just paste the link to
this post under your Vim related comments in the future.
> Your arguments are inconsistent and frequently plainly wrong.
It's too bad you're unable to find any examples to support this claim. On that topic, here's just one of your outright lies:
[ my remark ]
>> All to avoid using any control keys. The reason? vi must be able to work with a keyboard that doesn't have any control keys, and vim must work exactly like vi.
[ your reply ]
> That's what you wrote. It's all false.
As a matter of fact, more key entries are always required in vi and vim compared to a modern editor, and two, the control scheme in vi and vim arises from the requirement that it avoid the use of control keys. That was a design requirement, because the original machines it was designed for did not have control or navigation keys. How do I know this? I used those computers, and I used the early versions of the programs under discussion.
Since then, the machines have changed, but vi and vim have not changed.
Stop lying.
> I wanted to, but I think I won't comment on the rest of what you wrote, because it carries no substance whatsoever.
I already used repeated and substantial evidence to prove that that you are lying, and you just lied again.
> And that's all modality does, by itself - replaces a few modifier keys with a single one. It has no impact on average count of keystrokes.
I and others have already proved that this lie is, in point of fact, a lie. Mode-limited editors require more keystrokes than those without modes. Mode-limited editors require you to be aware of, and to change, modes. Those mode changes require extra keystrokes.
* Vi/vim, switch from moving the cursor to editing text: Esc, Esc, :, i, fist text entry. Four additional keystrokes. Newer versions have s shortcut in which you can just press i, to switch modes, one additional keystroke. But all version of vi and vim always require additional keystrokes, compared to a modern editor.
* Modern editor, switch from moving the cursor to entering text: Just start entering text, no additional keystrokes required.
You are lying.
> We're really not interested in ed, ex and vi early history
First, based on the positive votes on my posts, there is no "we" that lacks interest, and second, one of the the reasons your post is so misguided is because you don't know anything about the history you feign disinterest in. The other reason is that, like a religious True Believer, you cannot be persuaded to argue in good faith.
> Anyway, if keystrokes count remains the same, why bother with modality?
One, I just proved that keystroke count doesn't remain the same, and two, the reason for modes is to avoid use of control keys, for the reason that those keys didn't exist on the keyboards for which vi and vim were designed.
The designers of vi and vim had no choices about modes, it resulted from a limitation of 1970-era computers and terminals, and such modes have been abandoned by all modern editors without exception, as a clear hindrance to efficient use of a computer.
About keyboard, mouse and clipboard support:
> Not only do modern keyboards have control keys, but modern computers have mice and other pointing schemes.
> All to avoid using any control keys. The reason? vi must be able to work with a keyboard that doesn't have any control keys, and vim must work exactly 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.
> 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.
> * 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.
> 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.
That's what you wrote. It's all false. First, let's level the playing ground - we're now talking about GVIM, which comes with every Vim installation (unless NO_X11 or something is defined at compile time). Whenever you see the word "Vim" below it means GVIM. To make sure we're really talking about the same thing, here are some screenshots of GVIM in action:
http://screenshots.en.sftcdn.net/en/scrn/92000/92299/gvim-7.... http://www.kianryan.co.uk/wp-content/uploads/2012/09/Screens... http://labnotesh.files.wordpress.com/2008/12/gvim-windows.pn...
This way we can avoid going into terminal emulator and consoles details, and focus on Vim itself rather than on things it can be accessed through.
Ok, so first the keyboard and modifiers keys. It has been told you many times already that Vim supports those. It should be evident from the fact that Vim manual describes default keybindings with modifiers in them. For the example look here: http://vimdoc.sourceforge.net/htmldoc/windows.html#window-mo...
This makes your claim false - apparently Vim doesn't have to "avoid all control keys" (or "work exactly like Vi", but that's another matter).
Second, mouse. Of course it is supported, as explained here: http://vimdoc.sourceforge.net/htmldoc/usr_09.html#09.2 and here: http://vimdoc.sourceforge.net/htmldoc/gui.html#gui-mouse
It is even mentioned that the mouse works in console version, but let's leave it for other time and keep the argument simple. The point is that you can use the mouse for everything you would use it in other editors out of the box, and if not, then you can easily remap it to do something else.
Which makes you claim about Vim not supporting mouse obviously false.
The systems' clipboard support is of course available too. Actually, it is exposed by default via two special purpose registers, named 'star sign' (the thing that makes text italic here...) and '+', which is documented in http://vimdoc.sourceforge.net/htmldoc/gui_x11.html#x11-selec... Note that on Windows the latter is an alias for the former, because the system has only one clipboard. There are commands for placing text in registers, appending to registers and pasting from registers and they work in exactly the same way with 'native' registers and with the ones representing OS clipboard. So it's, of course, completely false that Vim doesn't support clipboard.
One thing of note, you wrote:
> Four characters. Very efficient.
in response to me pointing out how to get the text into clipboard. Well, it's because by default Vim doesn't use OS clipboard as a default register, but you can of course make it do so. If you really want.
On efficiency and modes:
> Some of them might even think it's natural to have to use twice as many keystrokes as are required on a modern editor, even another command-line editor, to switch from editing to navigating (as just one example)
> No, to switch from entering text, to deleting text, to searching for text, to copying and pasting text, to saving a file, to loading a file, all require switching modes. Let's be honest.
> Having to enter additional keystrokes, a throwback to a computer keyboard that either didn't have control keys or couldn't exploit them, makes editing "faster and more powerful"? Nice reasoning.
> * 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 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?"
Well, you basically say that having modes is less efficient than not having them. The problem here is that you don't present any evidence to back this claim. You say that you need to press more keys when working with Vim, but despite multiple people asking you to, you don't give even one realistic scenario where it would be less keystroke to perform an action in other editor. The few examples you provided were unnecessarily verbose and you were given shorter versions, which require at most the same number of keystrokes as other editors. And it's without custom mappings.
Despite this - and despite the fact that I even included <esc> for changing the mode and still got shorter commands - you're convinced that having modes necessitates more keystrokes to perform an action. I'm at a loss here, how could I ever convince you otherwise? You didn't even post any more examples of what you think takes more time in Vim as if you thought that the previous ones are enough to prove your claim. It's silly - and false. Of course.
The truth is that having modes allows for not using modifier keys, except for one. Without modes you need to use them, because you have no other way of differentiating text input and commands. And that's all modality does, by itself - replaces a few modifier keys with a single one. It has no impact on average count of keystrokes.
For example, copying a full line of text in other editors goes like this (well, using a mouse is an option, but until it's proved or disproved to be fatser than keyboard for text editing I'm not going to include it):
Home, Shift+End, Ctrl+C
In Vim, thanks to modality, the command doesn't involve modifier keys and is equally long (or if you count pressing modifiers as keystrokes - shorter):
<esc>yy
For replacing text inside parens, starting from inside:
go to one of the parens, Shift+Alt+arrow, arrow in opposite direction (to deselect matching paren), and start writing (inserting deleted paren)
In Vim:
<esc>ci(
Moving a paragraph below another one:
go to the beginning of the paragraph, press shift+arrow down enough times, ctrl+x, move to the end of next paragraph, ctrl+v
(No wonder using mouse is more efficient than this!)
In Vim:
<esc>dip}p
And so on. Of course, you can shorten the modeless commands by introducing additional, special purpose commands, so don't take them seriously, but that's not the point - do you really think you can shorten them any more than what Vim does? If so, please show us. No mouse please.
Anyway, if keystrokes count remains the same, why bother with modality? I don't know, to be honest. Vim proponents claim that (with <esc> mapped to CapsLock key) they never leave home row. I'm not a touch-typist and so I don't feel it's a great difference. But at the same time I can't see why is it a bad thing. The keystrokes count stays the same. Chaining is easier, especially when using numerical prefixes. There is a bit of an overhead in that you need to learn of various commands for changing modes - and everyone using Vim admits this - but that does not hamper efficiency in any way once learned.
I wanted to, but I think I won't comment on the rest of what you wrote, because it carries no substance whatsoever. We're really not interested in ed, ex and vi early history, we're talking about current versions of Vim, which is, contrary to what you say, != vi. So here you go, your claims at least commented at length. I hope it's enough and that I will be able to just paste the link to this post under your Vim related comments in the future.