Live data from Hacker News

Vim Creep

rudism.com

171–180 of 237 posts

Re: Vim Creep

#171

You know, I'm doing an experiment like this with Tetris. I was looking at the world record for 40 line clear (20.55 seconds at http://www.youtube.com/watch?v=WzUUKKuye24 ) and I realized that the limit is not how fast he thinks, but how fast he is pressing the keys. So I designed my own system. One key press drops the piece instantly into the correct spot, with the correct rotation. It's making my brain hurt practici…

Okay, maybe you didn't see how this related. I should have made it clearer. There are a lot of discussions on this page about how Vim's advantage comes from the muscle memory adaptation, relegating text editing to a subconscious, effortless activity rather than something that requires active thought.

I was expounding on this concept with an idea of my own and speculating about its potential benefits using analogous logic to that used in the reasoning about Vim's efficiency.

Better?

Re: Vim Creep

#172
I chose vim because it was radically different than anything else.

All text editors have crazy shortcuts that do magic, but only vim has the ironically named NORMAL mode with its verbs, movements and registers...

I treated it like a new game to learn. Sometimes I will write a macro because it is more fun, even though it might not save me raw time.

Re: Vim Creep

#173
If someone can always "churned out 4 line solutions for an assignment that took you 10 pages of code to complete", he can use any editor or maybe simply "cat >".

Re: Vim Creep

#174

Earlier quoted context omitted.

Java. Seriously, it's a language sufficiently verbose and inexpressive to effectively require an IDE. If you're just going to be generating 70% of your code from your IDE, why is it there in the first place?

Languages don't just fall into two black and white categories of whether or not it requires an IDE that understands the language. It's a spectrum, which means that all languages should benefit from an IDE that understands the language. If not, then you've just found the perfect holy grail of computer languages. Until then, face the fact that language integration is nice. Unless I'm missing something, specialized non-…

I've used both IDEs (Eclipse, IntelliJ IDEA) and Emacs. Originally I preferred the IDEs, but then I learned how to use Emacs properly. Besides, Emacs actually combines the best of both worlds for some languages like Scala or any sort of Lisp. (But, notably, not Java.)

I may be crazy about Emacs, but I'd probably still use an IDE if I had to do significant Java development. This says far less about IDEs and editors than it does about Java: I'm going to try very hard not to do any significant Java development in the future, thank you very much!

And that's really the entire point of my earlier post: it was not in favor of editors or IDEs, it was in favor of not using Java. Java is a poor language cursed with a good implementation: it's too good to die but not good enough to use.

A common argument I hear from people defending Java is that their IDE can generate half their code for them. And that was what I was really responding to: if you can use a tool to automatically generate all that code, it should just not be there in the first place!

Your experiences using an IDE for Java say as little about the relative merits of an IDE or text editor as experiences using Emacs on some Lisp: they're both extreme cases. And, more importantly, the reason normal editors are poor for Java, and the reason that SCdF is not touching a normal editor, are endemic to Java and not to the other tools.

Re: Vim Creep

#175

Earlier quoted context omitted.

Java. Seriously, it's a language sufficiently verbose and inexpressive to effectively require an IDE. If you're just going to be generating 70% of your code from your IDE, why is it there in the first place?

Again, what you say is equivalent to saying "I quit". Not everyone has the luxury to choose all the tools he works with.

Now is a great time to quit: the job market is crazy for software developers. Maybe you don't have the luxury of choosing what tools to use, but you certainly have the luxury of choosing where to work!

Unless you're planning to stay at your current company forever, this is as good a time as any to try something new. Put some excitement into your life :).

Re: Vim Creep

#176
post #79

This is an extremely awesome, fantastic, exhilarating use of hyperbole. What I gained from the article wasn't any explanation of why Vim is great; indeed, there was little included in this respect, aside from moving "entire blocks of code with the flick of a finger." Even the cool feeling of proficiency you get from knowing a tool well, and the fun of getting to show off a skill to a "how did he do that!?" audience w…

Just watch the video of the page http://blog.extracheese.org/2010/11/screencast-custom-vim-re... to get the gist of "entire blocks of code with the flick of a finger".

Thanks for posting that. I'm a bit of a VIM noob. I learned * and '' from that. Most useful. So much awesome yet to discover.

Re: Vim Creep

#177

Earlier quoted context omitted.

As a heavy user of Sublime, Coda 2 and someone that is still getting to grips with vim, I'd say the real advantage of vim is you can do all of that over ssh with minimal keystrokes over a crappy connection.

You can use any editor over ssh these days. Just mount it with sshfs.

Coda's "open quickly" is too slow to use over SSHFS (although is OK on a local network over AFP). Sublime's not too bad but it can take a while to build its file list.

Re: Vim Creep

#178

Earlier quoted context omitted.

I don't understand vimmers, but I use Emacs and I can say that having your work environment be 100% programmable is pretty damned nice.

So what kind of stuff do you program inside of it? What kinds of problems do you solve? I mean, I've never really felt the need to program an add-on to text editor. I download syntax highlighting packages, and there are common macros like "remove trailing whitespace" already installed. Keyboard shortcuts can be changed in lots of editors and OS's. In the past, I've definitely been upset that a particular editor didn'…

The thing is once you can code in emacs, and even when you can use the keyboard macro utility, you constantly find little time saving ways to use it. At first though they're not even time saving, they take longer. Anyhow some examples:

I have a function for my work log which gets the date, figures out the previous Monday's date and dumps a formatted weekly log for me to fill out.

I wrote an entire budget tracking application which generates a forecast and dumps it to a csv file

Wrote a utility to mark and optionally delete duplicate files in a dired buffer

Convert a windows path name to a cygwin one

Functions to add local sales tax and remove local sales tax, same for tips.

Perforce source control, helpers to do blame functionality and other stuff that benefits from pulling Perforce output into a buffer

The most used feature would be keyboard macros which are endlessly useful for any repetitive editing task, which can show up unexpectedly at any point of the day

Occasionally have to write throw away custom code to create some boiler plate code, such as turn the API documentation for some errors into a C++ array of structures that can be manipulated in code

Full client for Redis

Re: Vim Creep

#179

Earlier quoted context omitted.

Again, what you say is equivalent to saying "I quit". Not everyone has the luxury to choose all the tools he works with.

Now is a great time to quit: the job market is crazy for software developers. Maybe you don't have the luxury of choosing what tools to use, but you certainly have the luxury of choosing where to work! Unless you're planning to stay at your current company forever, this is as good a time as any to try something new. Put some excitement into your life :).

Actually I wasn't talking about myself. So far I've only been working part time as a software engineer during my studies and I want to start a company next year. So, IF it works out, I could have that luxury. But I still find it a bit silly to tell someone to quit his job just because his current tooling doesn't involve vim or emacs. Tools are just that. Tools. And IMO Java is just fine if you use it where it is the strongest: enterprise business applications. As long as you don't try to push it to places where performance / power optimization is relevant (I'm looking at you, Google -.-).

Re: Vim Creep

#180
post #111
post #35

Nope. Don't get me wrong, I love vim, but I don't need to have it everywhere . It makes no sense in the browser. It's lacking some features Eclipse has (although if Eclipse had a proper Vim mode, I'd use it in a heartbeat).

I'm using viPlugin( http://www.viplugin.com/ ) for months now and I'm pretty happy with it. I don't think I could use Eclipse without it.

Thanks, I'll have a look
Post reply on HN