Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It seems to me there is a lot of VIM vocabulary that is very different from what is common on the desktop today. I don't know what yank means. I don't think I have a desktop app that has a yank function.

The current front page example is using 'z' to "redraw the cursor". I know what all those words means, but put together they are complete jibberish. Looking at the gif, it appears that redraw is VIM-speak for scrolling.

Also "z doesn't do anything on it's own. But it pairs with a number of other things. It is used for redrawing the screen, saving and quitting, as well as manipulating folds." doesn't sound intuitive at all.



As a Vim user I would agree with what you've said. I would add that a lot of the terminology would have made more sense back when it was introduced, and at that time the other now-common versions weren't nearly as common. I think an effort to use both the Vim terminology, and the common terminology that people would be most-familiar with would be good. If it said "yanking (copying)" and "redraw the cursor (scroll the screen relative to the cursor)" it would be obvious.

Also, I think `z` is a fairly bad example, because nothing really starts with `z` and in some ways it's just a hodgepodge of different things that needed keys (`z` is of course not the only key like this).

`y` for example is used for everything related to yanking. `p` for everything related to pasting. `i` for insert mode. `v` for visual mode. `c` for change, `d` for delete, `w` for word. There's other various examples I'm sure, but most of the basic usage of Vim (besides, perhaps, `hjkl`) all maps to fairly easy to remember keys once you do it a few times and understand what they stand for.


It's intuitive once you already know what it means and have sunk dozens of hours into memorizing what the shortcuts do /s


I did VIM Adventures. Then I installed VsVim for day to day work. A while later, it just makes sense. I'm so fast, it's like magic. Vim macros alone make it worth it.

At any rate, I never spent much time memorizing keys. I'd look up a thing or two, apply it, and it'd just sink in.


Actually it takes more like 2 months for the Stockholm Syndrome of vim to sink in and then you don't want to use anything else ever again.


And that's not a bad thing. I don't think it's right to call Vim intuitive unless you're used to reading a book to understand 35% of the features of an editor.

But Vim isn't about being intuitive, it's about being efficient. Once it 'clicks' you will be able to express incredibly complex text manipulations in only a few keystrokes. And with configuration you'll build the most powerful but comfortable environment that you'll miss anywhere else.


In other words, Vim is a professional tool, not a toy for causal user. It offsets steeper learning curve for much more powerful and efficient way of editing text. It's a feature.


That said, it would benefit A LOT from having a more discoverable interface. See what kakoune is doing in that space: http://kakoune.org/


When it comes to discoverability, I really like what Spacemacs is doing with its continuous suggestions UI.


Yeah vim isn't intuitive to beginners, but "intuitive" to people that have the context of knowing how the parts fit together.


Next you're going to tell me you don't know quantum physics...


Vim is not built for quickness of learning, but for the learning of quickness.


> It seems to me there is a lot of VIM vocabulary that is very different from what is common on the desktop today.

The operating word here being "today". Vim - and Emacs - are relics from the era when computing was much more saner than it is today. They're old, older than most of us here. It's not that hard to learn their vocabulary once you understand all those words are not weird, it's how things were called back before the industry did another circle and reinvented some wheels again.


    :s/Vim/Unix/


Not really. Unix is the archetypical virus on the history of computing. Whether a cause or just a symptom, it's part of the problem of the current state of computing industry.


You definitely picked two examples that fit your theory. I am not sure that fully proves your point though because counter examples:

b - move cursor back

w - move cursor forward one word

p - paste from buffer

u - undo

etc.

I would not argue vim is intuitive as a whole. However, there are certain parts of vim that are extremely intuitive.


Also,

d: delete

c: change

y: yank (copy)

v: visually select (V for line vs. character)

It's also why I added the -ish to my comment (editors can be very polarising), but I feel many of vim's basic editing features are very intuitive

Edit: https://danielmiessler.com/study/vim/ It's where I learned the command meanings and started to understand vim in a more intuitive manner


You can also do:

:10d - to delete line 10

d99d - to delete next 99 lines

:10,99d - to delete lines between 10 and 99

:-4,.d - delete from 4 lines above to current line

this also works with other commands

Anyone fancy playing vimgolf? http://www.vimgolf.com/


Don't forget ctrl-v for column selection.


i - insert

being the obvious one..


or A also insert, but at the end of a line.


How about 'append'? :-)


I've never liked the term yank, to me it means take something out of there. But it's really "copy this into a buffer," for use later.

That said, I had my annoying fifteen seconds when I first learned it, then just used it as intended. Honestly, my fingertips do the how-to thinking these days, and my brain does the what-I-want thinking.


I see yank as copy but with a history, like a copy plus undo/redo state. Because that's how the functionality was introduced to me with Vim. I can cycle through previous 'yank' buffers, yet on my OS I'm limited to a single 'copy/cut' buffer so I remembered them as distinct terms.


Think of Vim as a foreign language. It's gibberish and unintuitive until you start to learn it and then it all makes sense.

Not being interested by learning a language doesn't make it suck.


VIM's names for things make a lot more sense when you know TECO [1]

[1] http://www.livingcomputermuseum.org/Online-Systems/User-Docu...


of course vim isn't intuitive. it's extremely hard to learn, cryptic, confusing, and in some cases deliberately obtuse, but is very fast and powerful once you've learned it.

i don't evangelize vim at all. it's a very difficult tool used only by people who need its functionality and have the patience and intelligence to learn it. don't like it? not sold? then don't learn it. use something easier.


It seems to me there is a lot of VIM vocabulary that is very different from what is common on the desktop today. I don't know what yank means. I don't think I have a desktop app that has a yank function.

In most Unix systems you should be able to go to the beginning of a line, press Ctrl-k and then Ctrl-y to yank. At the very least your browser and terminal should understand those two commands.


Conversely, in many windows apps, ctrl+y is the 'redo' command.


I feel like emacs is the same way. All the talk of buffers, kill rings, yanking, etc always threw me off. I'm used to it now but I feel that audiences that are used to Windows/Mac style 'normal' text editors probably bounce hard off of vim/emacs pretty often because of the different way of doing things.


Hard to fault Emacs for that. It's older than Windows, it's older than the IBM convention of CTRL+C / CTRL+V. And older in this industry usually doesn't mean worse.


Z could be seen as a visual representation of taking the line on the bottom and moving it to the top.


Z looks like a folded piece of paper, edge on.




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

Search: