Live data from Hacker News

Vim Creep (2011)

rudism.com

121–130 of 169 posts

Re: Vim Creep (2011)

#121
post #3

I studied piano full-time for a short while. My favorite thing about it was how working on my technique or a particularly tricky rhythmic pattern tickled my brain. I often found that I went through a few phases: “ahrg, this is impossible!”, “getting there but sloppy” and finally, often suddenly (after a good night’s sleep) “this is easy! I don’t know how I was ever not able to do this”. Using vim and learning new fea…

I never had the words to express that feeling. Tickling the brain is exactly the experience. I also love learning a new trick in Vim even after all these years.

endorphin tickles

Re: Vim Creep (2011)

#122

Earlier quoted context omitted.

Clearly there are many areas where vim is not the best tool for the job. Would you mind sharing a couple of examples of the context and the IDE features that made long-time vim users make the switch?

This was about three years ago, and the codebase was a huge Symfony project, in PHP. - IDEA understands bindings to Symfony's sprawling YAML configuration files. So jumping between PHP code using a config value and the YAML file defining the value is one shortcut/click away. And more, and more: https://www.jetbrains.com/help/phpstorm/symfony-support.html - Refactoring: even a small thing like renaming a variable, a m…

Thank you for taking the time. Regardless of what tools we choose ourselves I think it's very valuable to know what features are available and appreciated elsewhere. IDEA certainly has some impressive features.

Re: Vim Creep (2011)

#123
I've programmed for a long time, since before the days of personal computers and graphical terminals (unless you count oscilloscope like vector graphics output devices). So, I'm quite comfortable at the command line and use it all the time. I think it's interesting that there are nevertheless a few tools that I find indispensable which don't run in a terminal: obviously, the "big" graphical apps (like those from Adobe) and web browsers, but even my apple track pad for scrolling works so well that there is nothing quite like it.

Re: Vim Creep (2011)

#124

Truly a great story! Reminds me of this story... Two years ago I was collaborating with a coworker. Most of our time was in his office. I would look over his shoulder as he typed. He had recently adopted a new IDE and spent considerable time configuring it and learning its features. He was very proud of how productive it made him. Then one day we collaborated in my office instead. I use plain Unix tools, all independ…

Unix isn’t integrated enough. You can’t go very far with just throwing strings around (or bytes). You can’t safely refactor, say, Java code like you can do in Intellij.

Maybe you can piece something together manually that does the same thing, eventually. But if you have to do all of that work yourself then I wouldn’t call it integrated.

Re: Vim Creep (2011)

#125
Does anyone have any good recommendations for screencasts of advanced Vim usage? I'm pretty comfortable with the basics (I'd say my level is "try to use macros sometimes and find them too clunky"), but in these days of remote work I don't get to look over my co-workers shoulders too often, so I don't feel like I have a good idea for what I'm missing. Less "here is the way to do this thing" and more "watch this wizard at work and get inspired, maybe with a bit of commentary."

Re: Vim Creep (2011)

#126

Truly a great story! Reminds me of this story... Two years ago I was collaborating with a coworker. Most of our time was in his office. I would look over his shoulder as he typed. He had recently adopted a new IDE and spent considerable time configuring it and learning its features. He was very proud of how productive it made him. Then one day we collaborated in my office instead. I use plain Unix tools, all independ…

Unix isn’t integrated enough. You can’t go very far with just throwing strings around (or bytes). You can’t safely refactor, say, Java code like you can do in Intellij. Maybe you can piece something together manually that does the same thing, eventually. But if you have to do all of that work yourself then I wouldn’t call it integrated.

I think the point is that with *nix you aren’t just stuck with what some product manager at JetBrains thought was a cool feature.

And when you want to brew something up from scratch, or do the same task for the nth time, you don’t have learn how on earth this IDE implemented it, or learn a whole new API.

Take for instance an IDE’s find usages function, often a simple grey -r from a judiciously chosen directory gets you the same thing, but faster and more flexible (if your mind is wired that way, I suppose).

Edited to complete fragment...

Re: Vim Creep (2011)

#127

Truly a great story! Reminds me of this story... Two years ago I was collaborating with a coworker. Most of our time was in his office. I would look over his shoulder as he typed. He had recently adopted a new IDE and spent considerable time configuring it and learning its features. He was very proud of how productive it made him. Then one day we collaborated in my office instead. I use plain Unix tools, all independ…

My .bashrc is on a quest to turn my yakuake into the better half of vscode. "The shell is my IDE" is definitely true. Though Google takes up a worryingly large fraction of it. Wonder if there could be a shell tool to just dump the first stackoverflow hit for a search. bashrc highlights: https://gist.github.com/FeepingCreature/649588a2f6fa27c717bd... - ctrl-G for "directory up" - ctrl-E for "find and open in editor" (…

> Wonder if there could be a shell tool to just dump the first stackoverflow hit for a search.

I use https://github.com/samtay/so, which lets you search any stack exchange site (SO by default). It's fully terminal-based.

Re: Vim Creep (2011)

#128
post #42

If your editor makes you significantly more productive, maybe you're just writing boilerplate code, or something someone already implemented in a library. Touch typing is similar - it's useful because it removes some unnecessary barriers and thus makes the job more enjoyable, but it won't magically make you a better a programmer.

The magic of vim is not really showcased when starting up a new, blank file in a new project. If that's all programmers did, we wouldn't need an editor at all: just cat > foo.c and start typing!

Where vim shines is with editing existing files. Sure, maybe your IDE has a great plugin (or great built-in support) for the specific language you're using in the project. But vim is excellent for editing any text file, no matter what language (or indeed no language at all), and its keys are always the same. If you become a vim master, you don't need language-specific support to be productive. Additionally, all of your knowledge of vim editing commands is transferrable to any kind of file you want to edit. Language-specific plugins, on the other hand, vary widely in capability, hotkey setup, and completeness.

So if all you do all day is work exclusively within a single language and you have your IDE perfectly set up for it, learning vim is going to feel like a waste of time. If, on the other hand, you find yourself extremely unproductive whenever you move to edit other kinds of files (and you need to do this a lot), then vim may be a worthwhile investment of your time.

Re: Vim Creep (2011)

#129

Earlier quoted context omitted.

Close but not close enough. For example: in VSCode you can select/hover over any expression and it’ll tell you the computed TypeScript type. None of the current language server tools for Vim (eg ALE) give you that information [0]. Why would I live without this useful feature just to use Vim? I love Vim, but I love knowing the type the TS compiler thinks an expression is even more, especially when good enough Vim emul…

All LSP clients for vim will give you that; it is whatever command calls `hover` on the language server (e.g. ALEHover for ALE or LanguageClient_textDocument_hover for LanguageClient-neovim). Obviously you should bind these to some convenient command like t.

Do you know if it’s possible in vim to show hover for an arbitrary selection? A visual selection?

Re: Vim Creep (2011)

#130

Does anyone have any good recommendations for screencasts of advanced Vim usage? I'm pretty comfortable with the basics (I'd say my level is "try to use macros sometimes and find them too clunky"), but in these days of remote work I don't get to look over my co-workers shoulders too often, so I don't feel like I have a good idea for what I'm missing. Less "here is the way to do this thing" and more "watch this wizard…

Drew Neil's awesome vimcasts¹ are available, while no longer getting updates they'll still be pretty useful. Also a /big/ fan of his Modern Vim book², even after literal years of vim use I still found a bunch of new-to-me information inside it.

¹ http://vimcasts.org/episodes

² http://vimcasts.org/blog/2018/05/modern-vim-now-shipping/

Post reply on HN