Well you might need to do a lot of configuration before it works exactly the way you want it to. For me a lot of stuff has accumulated over time, and it looks like this now (the right-side window is a shell - not vim sorry):-toglia wrote:Every now and then I here people talking about how cool is vim for coding but for me, someone with a visual studio background (now getting used to eclipse), vim looks like stone age. I have just downloaded it, without any cool plugins it must have, but my first impressions were pretty bad.

Code overview, file list, 'tabs' (actually buffers in this case), auto-completion, error message parsing (to jump to error lines). There's even git-integration (so you can read blames and work on merge conflicts with vimdiff, commit from vim and stuff).
It's highly extensible really easily. I can record a macro, paste that macro into the current text buffer, edit that macro, paste it back into a register (vim 'clipboard slot') and execute it. I can delete a word with 'daw', delete within { } using 'di{', to 'change' instead of 'delete' use 'c' instead of 'd' and so on. And if it still isn't enough, I can pipe text through external programs like 'indent' or 'gofmt' or 'sort' (there's a built-in sort though). There's just too much to say about it - when I edit with it I no longer really have to think too much and keep hitting arrow keys, selecting text or breaking down commands into such simple movements - I can do a lot of things at once and I can think more about the actual code than the text editing (although it might not seem so - more keyboard shortcuts means more to think right? But in my experience after some time it's become so automatic I've at times written ':wq' into text boxes in websitesI know every thing is done with the keyboard, and it has a lot of keywords for doing cool stuff, but still most programs have a ton of hotkeys too, I don't get it. So, can somebody explain to me why can somebody replace Vim for Eclipse for example... Does, it have everything Eclipse have?
I also have a plugin so that in insert mode when I press 'F5' a color-picker window pops up and I can pick a color and it puts it in in the form #aabbcc for example, or a plugin that allows me to draw ascii art right in the text (lines, boxes and stuff). It's really a lot of fun.
In 'normal editors', while I'm editing I think, 'hey lets go down to that word and remove this line' and then I proceed to press 'down' a few times and then 'right' a few times while in vim I just type /word (usually first few characters are enough - incremental search tells you). Then I have to press home and then shift+end and then delete (maybe there's a delete-line shortcut I missed, sorry in that case
For a more mouse-based interface like this instead of a keyboard-based one, check out 'acme' from Plan 9.
By allowing each application to do a single thing you can let it be the best at that. While IDE developers have to concentrate on many things, developers of text editors have to concentrate only on the text editing in their app, and their app turns out to be really good for just that. In IDEs the text editing features are usually not much more than Notepad + some source recognition. And since you can connect programs together with pipes or run Python scripts in vim etc., having to use different programs is hardly a problem. I regularly use cgdb for debugging, vim for text editing, gcc as a compiler, Makefiles or premake for build scripts etc. and love it. Each application is very good at only what it does. 'switching applications' is harder for the kernel context switcher than for me, really.Or is it just for writing code. In that case isn't bad having to switch between applications to get everything one needs?
Regular expressions can also be a fantastic tool. To get good with regular expressions you can practice with 'ed' for a while.
Since it's 'just' a text editor I can use the same skills for other languages including Python, bash, or for editing emails or in fact - any text at all.
@CABAListic: Isn't ":'<,'>s:.*:callSomeFunc(&);:g" easier anyway?


