Can I use it to write real world JavaScript web apps? What about full project search, syntax highlighting etc? Also how should I start in order to use vim as my go to code editor?
I recently switched to neovim as my main editor. I can find tools for everything I need. Either as core or as plugins. Syntax highlighting, linting, file finder... even managed to some extent to be able to merge the vim copy/paste with the mac global one.
I do full stack dev (php, mysql, js, html and css) all in Vim.
It's great but not perfect, in some files you might encounter weird auto indentation issues, but it might as well be my heavily customized setup.
Other than that, all goes like breeze and I don't see myself using another editor for programming.
Yes to all of this. Vim can be used as a IDE. Vim is super fast and there are tons of extensions out there. For specific languages and frameworks.
Pretty easy. Type
$ vimtutor
into your shell of choice and make every day a few lessons. It is a tough start, because inside vim you have an own language for controlling vim. However if you master it, you will be faster then with any other editor.
There are some nice tutorials out there. I really like the latest Laracast Course because it will introduce you to a very important part of vim, your .vimrc
Another good one is learning vim in a week
Like mentioned, on of the most important parts of vim is your .vimrc, a few people recommend downloading someone else vimrc because it's "ready to go". I am not a big fan of it.
You should build it up yourself. Step by step. Thats why the laracasts course is pretty nice. But there are a lot of other introduction tutorials which are nice too.
It's important that you build up your own vimrc, because you need to know your key bindings / rebindings etc.
There are ton of plugins out there. You should consider using a plugin manager like Vundle. Some popular plugins are
etc.
I don't use it as my primary editor, but I have worked with a few people who do; so... if you'll excuse a second-hand endorsement, yes it's possible :)
For basic syntax highlighting enter the command :syntax on or add syntax on to your ~/.vimrc file. I am sure you can customise with other colour schemes but haven't looked into it.
Where I suggest you start is looking into vim's extension system and configuration; and have a look at the capabilities of extensions (eg. have a look around http://vimawesome.com/). Then follow the tried and true tech learning method - learn a new vim trick every time you feel you need a feature; keep notes as you do it; and over time it just builds up.
All that said - I also think it's good to know your way around absolutely-stock, unmodified vim for those occasions you find yourself chucked into it on a fresh install or remote system.
I have not really used vim that much but I think it can achieve your purpose. I have seen @jeffreyway use it on some of his tutorials on Laracasts. He even have a dedicated series for vim.
Dharma R. Thapp
web developer
Yes, definitely possible, just choose one of the Vim distribution as base, and customize vim configuration as your need.
Janus: Vim Distribution
WebVim