Para mí, no hay mejor editor que vim, bueno en este caso, neovim, una versión mejorada de vim, donde la carga y la instalación de los plugins se hace de forma asincrónica, como muchas otras características más
Vim, bueno Neovim, no es para todos, es un concepto diferente de un editor de texto, ya que es un editor con modos (modo normal, insertar y visual), donde cada uno de estos modos poseen un propósito.
Con neovim no vas a tener la necesidad de utilizar un mouse, por lo cual puedes codificar de manera más rápida (cuando te acostumbras), pero para llegar a ese punto necesitarás semanas de practica. Lo más ideal sería utilizarlo no en tus proyectos principales, si no en tu tiempo libre donde no vaya a influir en los tiempos de tus proyectos principales.
Neovim junto con tmux, es lo mejor, de verdad, puedes integrar una consola con Vimux
en el mismo vim, como también tener varias consola en una misma sesión de tmux. Por ejemplo yo,
cada sesión es un proyecto, donde en esa sesión tengo vim (con vimux para ejecutar tests) y en
otras sesiones de tmux el servidor de desarrollo, la base de datos y otra consola para
ejecutar comando como los de npm, composer, etc.
Este vídeo muestra las bondades de Vim + tmux
Mi neovim se ve así

Antes de todo…
Este es un proceso largo, ve el vídeo y si te interesa, puedes usar mis dotfiles, le puedes hacer fork, modificarlo, lo que desees hacer.
tmux-spotity es un script que cree en python para que se muestre la música de Spotify en tmux, puedes verlo en la esquina inferior derecha del screenshot anterior. Si no usas Spotify, puedes eliminar la línea en tmux.conf.
Requisitos
- Python 2 o 3
- Git
- Módulos de python
Si no posees los módulos de python, debes instalarlos con el siguiente comando
sudo apt install python-dev python-pip python3-dev python3-pip
Instalación
Dotfiles
Primero que nada debes correr el siguiente comando para obtener el repositorio:
git clone https://github.com/keyduq/dotfiles.git ~/dotfiles
Instalar oh-my-zsh
Las instrucciones para instalar estan aquí oh-my-zsh
Gnome terminal base16 solarized theme
Debes correr lo siguiente:
git clone https://github.com/chriskempson/base16-gnome-terminal.git ~/.config/base16-gnome-terminal
source .config/base16-gnome-terminal/base16-solarized.dark.sh
Luego debes elegir el perfil abriendo la terminal e yendo al menú Terminal > Change profile > Base16 Solarized Dark
Instalar neovim
Para las instrucciones en ubuntu ingresa aquí Installing Neovim
Para poder instalar plugins que necesiten neovim compilado con python (como el incluido YouCompleteMe), debes correr lo siguiente:
sudo pip3 install neovim
Instalar tmux
Sólo debes correr el comando:
sudo apt install tmux
Configuración
Primero que nada se deben crear symlinks a este repositorio de la siguiente manera
ln -s ~/dotfiles/init.vim ~/.config/nvim/init.vim
ln -s ~/dotfiles/tmux.conf ~/.tmux.conf
Luego debes instalar vim-plug:
curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Después vas a instalar los plugins de vim
vim +PlugInstall
Debes copiar la carpeta de temas base16:
cp -rf ~/.config/nvim/plugged/base16-vim/colors ~/.config/nvim/colors
Autocompletado Javascript y Typescript
Primero que nada debes tener instalado nodejs
Luego instalar el autocompletado para javascript y typescript con YouCompleteMe
Javascript
~/.config/nvim/plugged/YouCompleteMe/install.py --tern-completer
Typescript
sudo npm i -g typescript
Problemas
Si se muestran el header y bottom de vim en azul, debes obtener base16-shell y agregar a tu .zshrc lo siguiente:
BASE16_SHELL=$HOME/.config/base16-shell/
[ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)"