My Profile Photo

Keyduq


Full stack developer, javascript lover, also php and java (Android) developer


Mi editor: Vim + tmux

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í

Screenshot

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)"
comments powered by Disqus