I've been using vim since 2009 and tmux for the last 5 years. Initially, I had to figure out how things worked, and that took some time, but I never spent any time configuring it now except if I find a new plugin and figure out a new feature I'd like to add.
If you want IDE like features i.e Autocomplete than you have to spend days to make it work and even after that it doesn't work like other "GUI" editors.
+ Terminal interface is very limiting to have nice plugins...
I'm really glad I've switched to VSCode..
Indeed, but it doesn't really matter since the default experience in VSCode or IntelliJ or Xcode or any other IDE or editor doesn't work for me out of the box either. I have to change things anyways, and I can't change VSCode or IntelliJ or Xcode to fit my liking, but I've been able to change tmux+vim to it, although it could be even better.
> If you want IDE like features i.e Autocomplete than you have to spend days to make it work and even after that it doesn't work like other "GUI" editors.
For stuff like Go, Rust, Elixir, Python and so on, it works fine with when just installing the default "brand" plugin. Taking python as an example: even though "intellisense" in vim is worse than in pycharm, the rest of pycharm is so much worse than tmux+vim. "Intellisense" not being 100% in tmux+vim is not a dealbreaker for me at all. I can get by without "intellisense". But pycharm is so much worse for everything else than "intellisense", from basic editing to opening files to running shell commands and everything else I use all the time, which is a deal-breaker for me. For something like iOS+Mac development where I feel like I can't work without proper "intellisense", I do use Xcode.
> + Terminal interface is very limiting to have nice plugins...
Indeed, but still, even though tmux+vim sucks on some points because it's text-based, it doesn't suck enough to not be usable, and all these other editors and IDEs like IntelliJ, xcode, netbeans, sublimetext, vscode, atom and so on complete sucks for all the important things I need, which is a deal-breaker.
I disagree. The default settings of Visual studio work perfectly fine for me. As an added advantage, I can use other developers in my companies workstations to show them something quickly if I need
> For stuff like Go, Rust, Elixir, Python and so on, it works fine with when just installing the default "brand" plugin.
and so on? I'm a C++ developer. Setting up C++ autocomplete is anything but straightforward in vim and emacs
That's lucky for you, but unfortunately, it's not the case for me at all.
> As an added advantage, I can use other developers in my companies workstations to show them something quickly if I need
I might be using other peoples computers 10 hours a year, but I'm using my own maybe as much as 2200 hours a year. It doesn't seem logical to take the first scenario into account when deciding whether to customise ones setup or not, but it's indeed a nice bonus if ones optimal setup is the default one that every other developer is using too.
> and so on? I'm a C++ developer. Setting up C++ autocomplete is anything but straightforward in vim and emacs
I don't use C++ anymore, but 7 years back when I did, it worked good enough for my use case, and the problem with other IDEs and editors were the same back then as it is now, where they were actually hindering my work, which a less than perfect "intellisense" doesn't at all. YMMV.
The one problem I had was that I had to use the system version of clang as I'm using Arch.
That said, there is a fair bit of built-in auto completion in vanilla vim (on par with VSC), and a few quick rebinds might be all you need. I would suggest checking it out.
:help 24.3
(I wish it were indexed a bit better in the help files. :/ )Frankly, I would use neovim + deoplete. Modern, async, and a big user community right now (almost everyone with neovim runs deoplete).
[0] https://github.com/zchee/deoplete-clang [1] https://github.com/zchee/deoplete-clang/issues/57
./install.py --clang-completer --gocode-completer --racer-completerUsually because the box doesn't have coreutils, make and exctags installed. Bloated plugins are snakeoil, they push vim to the dark^WIDE side, where the battle is too Pyrrhic to win.
I used Vim for a good 5 years. I still miss many things about it, but a shitty default UX is not one of them.
edit: Just opened VSCode again and noticed one other major thing that has been driving me crazy. In vim I often have files open in different panes and then make one pane full size while editing. Can't do that with splits in VSCode as far as I know.