Live data from Hacker News

The Grammar of Vim

rc3.org

21–30 of 38 posts

Re: The Grammar of Vim

#21
post #3

I have been using Vim for a few years. I recently installed a trial version of ViEmu plugin for Visual Studio. With Vim inside my main IDE at work, I have the chance to really master it. But I ran into an unexpected hiccup - nobody else can use it when we're collaborating on code! Sadly, I think this might be a big enough reason to remove it.

I am increasingly disappointed in all those Vim 'emulators'. VsVim, jVi, ... They aren't vim, no plugins, no real customizations. I really like that they exist, but it could be better. We need the REAL vim in an IDE, not some vim functionality.. EDIT: I use VsVim and you can disable it with ctrl+shift+F12. This helps when working together with other people..

IMO the only great vim emulator is evil mode for emacs :)

Re: The Grammar of Vim

#22
post #11
post #6

Earlier quoted context omitted.

Now THIS is a great idea. vim lacks a lot of modern features, and the fact that it has to be compatible with running on shells means that it can't implement a lot of things which you would need to make it look and feel like a normal editor. For example, we'd need the ability to make windows that are only part of the screen, in order to make convenient popups (for, say, ctrl-p find in files actions). We'd need the abi…

Did you try https://github.com/carlhuda/janus ?

IMO if you are going to learn vim or emacs, you should drop the training wheels like janus/prelude/esk once you start getting comfortable with things.

Re: The Grammar of Vim

#23
post #6

Earlier quoted context omitted.

Now THIS is a great idea. vim lacks a lot of modern features, and the fact that it has to be compatible with running on shells means that it can't implement a lot of things which you would need to make it look and feel like a normal editor. For example, we'd need the ability to make windows that are only part of the screen, in order to make convenient popups (for, say, ctrl-p find in files actions). We'd need the abi…

I would like to respectfully suggest you have it backwards. I agree a lot of that stuff would be nice with vim, don't get me wrong, but I think we don't need an IDE layered on top of vim, so much as we to do some work on DEintegrating the development environment. I'm not advocating for getting rid of all-in-one tools, I've seen the power of VS and IntelliJ etal in competent user's hands, they are fine envrionments, i…

> What I think the programming environment world needs (not just vim) is a standard way for user interfaces to talk to tools.

Brilliant, that way the ultimate IDE is simply your desktop.

Coming from linux, given the choice between an IDE and a bunch of shell windows running vim, gcc/g++, make, gdb, etc., I've always picked the latter. But it's missing tool communication. Now if we had some standard based on IPC that vim/gcc/g++/make/gdb/other-tools could all recognize...

Re: The Grammar of Vim

#24
post #18

A link, or links much like this describing the "grammar" of Vim, gets reposted every few months, which is probably fine because it's a good thing to learn and share, but it would be nice if there were a HN "Hall of Fame" which would prevent reposting things like this over and over and over again. It could have either posts, or "concepts" with some of the more popular posts about Vi/Vim/etc, Emacs, C++, etc. (What rep…

And Yan Pritzker's post is primarily a summary of Jared Carroll's http://blog.carbonfive.com/2011/10/17/vim-text-objects-the-d...

Re: The Grammar of Vim

#25
post #3

I have been using Vim for a few years. I recently installed a trial version of ViEmu plugin for Visual Studio. With Vim inside my main IDE at work, I have the chance to really master it. But I ran into an unexpected hiccup - nobody else can use it when we're collaborating on code! Sadly, I think this might be a big enough reason to remove it.

Ctrl-Shift-Alt-V will toggle ViEmu on/off to help with that.

Re: The Grammar of Vim

#26
post #13

Earlier quoted context omitted.

Most of this can be done with Vim already... And the stuff that can't, like graphics, popups... I don't care for. How would you control that sidebar? With the MOUSE O.o !? I like nerdtree exactly because it's a buffer, because I can navigate it like my text. The essence of my comment above is that I want this in my IDE's, not the other way around.. Also: vim has tabs (:tabnew)... And there are search plugins for vim,…

I'm not blaming you specifically, but this is the problem - anytime someone points out something that could be better with vim, people jump in to show "yes vim CAN do that". And they're right. It's just that it's done worse , and takes a lot of setting up to get right. To elaborate on the "worse" part, there are a few problems right now: 1. The plugins don't interact nicely with each other. For example, NERDTree exis…

Just to be clear: I was the person saying things could be better... But I also wanted to point out Vim CAN do most of it. I agree with you on many points...

Maybe I could try writing some plugins in the future :)

Re: The Grammar of Vim

#27
post #3

I have been using Vim for a few years. I recently installed a trial version of ViEmu plugin for Visual Studio. With Vim inside my main IDE at work, I have the chance to really master it. But I ran into an unexpected hiccup - nobody else can use it when we're collaborating on code! Sadly, I think this might be a big enough reason to remove it.

Stop programming on Windows, problem solved!

Re: The Grammar of Vim

#28
I suspect there's an opportunity/lesson lurking here somewhere.

One of the biggest complaints devs have about tools is responsiveness. The more responsive a tool is, the higher time-density of information available to a developer.

IDEs tend to suck in this regard, but Vim positively shines. Many people advocate Vim because it tends to shine in this department, even though they may not consciously realize it. Responsiveness seems to be the one vital attribute for developer tools in general. (Mosh is another example of a dev tool that capitalizes on responsiveness.)

So at first glance, it's quite odd that many IDEs suck re: responsiveness. After all, this is measurable. However, the tools to measure this on desktop apps tend to be proprietary and quite involved to use. As a result, FOSS developer tools don't do this kind of measurement, and the Tragedy of the Commons results in bloated IDEs. So the environments that avoid poor responsiveness tend to be ones that matured in a world with far fewer resources.

The takeaway: if your plans for world domination also involve a dev environment to rule them all, you'd best be measuring UI responsiveness as a part of your continuous integration/testing -- and set standards and make the devs stick by them.

Re: The Grammar of Vim

#29
post #6

Earlier quoted context omitted.

Now THIS is a great idea. vim lacks a lot of modern features, and the fact that it has to be compatible with running on shells means that it can't implement a lot of things which you would need to make it look and feel like a normal editor. For example, we'd need the ability to make windows that are only part of the screen, in order to make convenient popups (for, say, ctrl-p find in files actions). We'd need the abi…

You should check out macVim. There's a build available with a real gui project tree, and it has regular GUI tabs that you want. I use it occasionally, but I like having everything in one place with tux panes:)

Here's the fork with the GUI project tree:

https://github.com/alloy/macvim

Screenshots:

https://github.com/alloy/macvim/wiki/Screenshots

Re: The Grammar of Vim

#30
Does emacs have a consistent grammar like this?

I use vim, but have been interested in learning emacs too. However, every time I startup the emacs tutorial, I immediately start missing the vim's semantic grammar.

Have I just not gotten far enough into emacs to discover that yet?

Post reply on HN