The only thing I really like in vim is the modal editing. Evil replicates all that stuff really well in my opinion.
Plugins in vim are usually pretty poor compared to emacs, and vimscript is frustrating. Emacs Lisp is at least a consistent language, and one that I can figure out how to use much better.
Haven't actually tried it, but I've come across https://github.com/abingham/emacs-ycmd before and it looks decent? I also use autocomplete-mode which has a bunch of hooks for pretty much every language under the sun. I have it set up with jedi for python and clang for C/C++/Obj-C.
Plugins in vim are usually pretty poor compared to emacs, and vimscript is frustrating. Emacs Lisp is at least a consistent language, and one that I can figure out how to use much better.