Búsqueda de archivos en Vim

Author
Por Darío Rivera
Publicado el 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.

Aviso!: El plugin command-t no soporta Vim desde la versión 8. El código ha sido reescrito y ahora se basa en lua core el cual está ampliamente soportado en NeoVim. Si aún deseas instalar este plugin en Vim, deberás instalar la última versión con soporte para Vim como se muestra a continuación.

Plug 'wincent/command-t', { 'branch': '7-x-release' }

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 con el comando anteriormente citado).

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

Instalación de Vim

En general vim viene pre-instalado en MacOS. Sin embargo, esta instalación no tiene soporte para vim. Deberás instalar vim con brew.

brew install vim

Si todo ha salido bien deberás ver el ejecutable de bim desde la carpeta homebrew así:

user@host% which vim
/opt/homebrew/bin/vim

Inmediatamente después verifica si ruby ya está cargado en Vim.

user@host% /opt/homebrew/bin/vim --version | grep ruby

Si ves en alguna parte de la salida +ruby significa que ruby ya está cargado.

Instalación de 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

En cualquier caso, deberás tener presente la versión que está soportada por Vim. Si tienes ruby de fábrica, pero también tienes una versión independiente con RVM solo podrás compilar el plugin con la versión que soporta Vim.

Compilación

Para compilar, 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

Antes de ejecutar ruby verifica que la versión que soporta Vim sea la misma con la cual vas a compilar el plugin. De lo contrario, el plugin no funcionará u obtendrás resultados impredecibles.

% vim --version | grep ruby
+cscope            +localmap          +ruby              +wildignore
Linking: clang -o vim -lm -lncurses -lsodium -liconv -lintl -framework AppKit 
-L/opt/homebrew/opt/lua/lib -llua5.4 -fstack-protector-strong 
-L/System/Library/Perl/5.34/darwin-thread-multi-2level/CORE -lperl 
-L/opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/lib/python3.13/config-3.13-darwin 
-lpython3.13 -framework CoreFoundation -lruby.3.4 
-L/opt/homebrew/Cellar/ruby/3.4.3/lib 

En mi caso, resulta que tengo dos versiones de ruby:

% ruby --version
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm64-darwin24]
%  /opt/homebrew/Cellar/ruby/3.4.4/bin/ruby --version
ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [arm64-darwin24]

Sin embargo, la versión asociada a vim es la de homebrew, por lo cual el comando a ejecutar en este caso es:

/opt/homebrew/Cellar/ruby/3.4.4/bin/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.




Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.