Búsqueda de archivos en Vim
Cuando utilizas Vim una pregunta recurrente es cómo buscar y abrir archivos directamente desde la consola sin tener que salir de Vim. Para esto puedes instalar el plugin command-t. Ya vimos anteriormente Cómo darle super poderes a Vim instalando plugins. Antes de ver la instalación de este plugin es necesario que verifiques un par de requerimientos. Manos a la obra!.
Instalación del plugin
Como cualquier plugin en Vim debes agregar el nombre del paquete e instalarlo como lo haces regularmente. Si utilizas el gestor de paquetes vim-plug puedes agregar lo siguiente a tu archivo ~/.vimrc.
Plug 'wincent/command-t'
Una vez hecho esto puedes proceder con la instalación ejecutando :PlugInstall. Pero esto no es todo, resulta que CommandT aún no es funcional, para que command-t pueda trabajar rápidamente con grandes cantidades de archivos parte del código está escrito en C como extensión de Ruby y debe compilarse para que funcione!.
Soporte para Ruby en Vim
Para que puedas utilizar command-t debes tener soporte para Ruby en Vim. Esto lo puedes verificar entrando a vim y ejecutando el siguiente comando:
:echo has('ruby')
Si obtienes cero (0) no tienes soporte, si obtienes uno (1) si tienes soporte para Ruby en Vim. Si ya tienes instalado Ruby puedes comprobar la versión corriendo el siguiente comando en Vim.
:ruby puts RUBY_VERSION
En caso de no tener soporte deberás instalar Ruby y asegurarte de que Vim lo cargue dependiendo del sistema operativo que tengas.
Instalación Ruby-Vim en Linux
Instalar vim para ruby suele ser distinto en base al sistema operativo Linux que tengas. Si tienes por ejemplo instalado GNU/Linux Debian podrías dar soporte con el siguiente comando:
sudo apt-get install ruby vim-nox
Después de esto podrías entrar a Vim y verificar si ya se tiene soporte para Ruby (deberías obtener un 1).
Una vez hecho esto necesitarás las herramientas para poder compilar parte del plugin. Es por esto que necesitarás tener instalado en tu máquina un compilador de C. En linux puedes instalar gcc.
sudo apt-get install gcc
También necesitarás el paquete de desarrollo de Ruby. Si utilizas GNU/Linux Debian puedes correr el siguiente comando.
sudo apt-get install ruby-dev
Instalación Ruby-Vim en MacOS
El primer paso consiste en verificar que tienes instalado Ruby. Por lo general viene instalado de fábrica en MacOS.
ruby --version
Si no es así deberás instalarlo con RVM. No se recomienda instalarlo con brew! (te evitarás otras problemas en la instalación).
curl -L https://get.rvm.io | bash -s stable
rvm install "ruby-VERSION"
rvm use VERSION
Compilación
Después de esto, debes ingresar a la carpeta de Vim y buscar el archivo ruby de command-t.
cd ~/.vim
find . -name "extconf.rb"
Obtendrás el path en donde se encuentra, algo similar a lo siguiente
./plugged/command-t/ruby/command-t/ext/command-t/extconf.rb
Debes ingresar a esa carpeta y ejecutar con ruby dicho archivo.
cd ./plugged/command-t/ruby/command-t/ext/command-t
ruby extconf.rb
Si todo ha salido bien podrás correr el siguiente comando para generar la compilación:
make
Obtendrás una salida como la siguiente:
compiling ext.c
compiling heap.c
compiling match.c
compiling matcher.c
compiling watchman.c
linking shared-object ext.so
Después de esto puedes ingresar a vim y utilizar el plugin.
Uso de command-t
La manera estándar de utilizar command-t es mediante su comando en Vim.
:CommandT
Verás que los archivos se listan de manera absuradamente rápida.