Hacker News new | ask | show | jobs
by yOutely 4643 days ago
Let's look up help on how to write a function

:h function

Ok, that's wrong.

Let's look up vimscript then, that probably has function information

:h vimscript

Nope, that's not what we want. But obviously function is further down the list

/function

Oh dear.

Let's say we want to do something on opening a python file, and we see someone else using Bufenter

:h bufenter

Ok, no usage examples. What to do?

Eventually we find out about autocmd, by luck. What if we want to include multiple statements in an autocmd?

:h autocmd

Nothing

/multiple

Nothing

Let's say (when you get lucky, again) and find out about :cmd1 | cmd2, you want to learn about |

:h |

nope

:h pipe

not even close!

Ooooooooooh maybe we have to escape it?

:h \|

what?

ooooh wait, we're in command mode, DUH

:h :pipe

aw, shit.

Maybe we want to split an array in vimscript.

:h split

Nope.

:h arary

Nothing. Maybe it's a list?

:h list

Nope. No splitting today, I guess.

If you think :h i_ctrl-w is intuitive, then, well. Have you ever been treated for schizophrenia or psychosis?

Let's say on entering a ruby file we want to press enter.

:au bufenter *.rb <cr>

open rb file..

trailing characters: <cr>

Oh god what the shit?

:h bufenter

nothing

:h ... it's now impossible to look up help on this problem. It's also impossible to google for it

We want to change the background color

:h background

Uhhhhh

:h color

Ok, I get it, I'm not going to find help on this. Time to give up.

I want to figure out how to set guicursor

:h guicursor

Are you 98% serious right now? Why are the examples using :highlight Cursor? Jesus.

Vim has horrible help. I will wait patiently for you to upvote my answer as opposed to downvote it, and I'll consider us even.

1 comments

"writing a function"

    :help
    (scroll a bit)
    (find "usr_41.txt Write a Vim script")
    <C-]>
    (read)
"learn about |"

    :h :|
"split an array in vimscript" (what does that mean? "splitting a string into an array" or… something else?)

    :h split() or if that's not what you want,
    :h list-functions
:h i_ctrl-w is not intuitive when you start Vim for the first time but:

1. it is easy to understand how it works and apply that to subsequent searches,

2. it is indicated in the first screen of :help.

So yeah, after using that search query once, it is very intuitive. Schizophrenia != intelligence + curiosity.

"Let's say on entering a ruby file we want to press enter"

    :h autocmd
    (reading)
    autocmd BufEnter *.rb <CR>
    (doesn't work)
    (thinking)
    (oh! <CR> should be a normal mode command of course!)
    autocmd BufEnter *.rb normal <CR>
    (doesn't work)
    (oh! I remember, :normal only accepts ^M!)
    autocmd BufEnter *.rb normal ^M
"change the background color"

    (look at how it's done in a random colorscheme)
    :hi Normal guibg=#0066ff
"how to set guicursor"

    :h guicursor
What do you want to do with your guicursor if not setting its color and/or shape and/or blinking behavior? Everything is right there.

Vim has a large documentation that you learn to use little by little, query after query but all your examples assume no prior experience with Vim's :help

Impatience leads nowhere.

---

By the way I never downvote anything: I upvote to express my agreement and I answer to express my disagreement. That, and I don't have downward triangles anyway, a consequence of my presumably low "karma", maybe?