explaingit

kien/ctrlp.vim

7,239VimLAudience · developerComplexity · 2/5Setup · easy

TLDR

A Vim plugin that lets you instantly find and open files, buffers, or code tags by typing a few characters from their name, with fuzzy matching that filters results in real time as you type, no external tools required.

Mindmap

mindmap
  root((ctrlp.vim))
    What it does
      Fuzzy file search
      Real-time filtering
      No dependencies
    Search Modes
      Project files
      Open buffers
      Recent files
    Use Cases
      Open files fast
      Switch buffers
      Jump to tags
    Features
      Project root detection
      Custom exclusions
      Multi-open support
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Open any file in a large project by typing a few characters of its name without knowing the full path or leaving Vim.

USE CASE 2

Switch between open buffers or recently used files instantly from a single keyboard shortcut.

USE CASE 3

Jump to a code tag across your whole project without knowing which file it lives in.

Tech stack

VimLVim

Getting it running

Difficulty · easy Time to first run · 5min

This repository is no longer maintained, the README directs users to an actively maintained community fork.

No license information was mentioned in the explanation.

In plain English

ctrlp.vim is a Vim plugin that lets you search for and open files by typing a few characters from their name, without needing to know the full path or exact filename. As you type, it filters the list of files in real time, showing only ones that match your partial input. This style of search is called fuzzy finding, and it is especially useful in large projects where files are spread across many nested directories. Beyond files, the plugin can also search open buffers (files currently loaded in your Vim session), recently used files, and code tags. You can switch between these different search modes while the finder is open. Opening a result can be done in the current window, a new tab, or a split pane. You can also mark multiple results and open them all at once, or type a colon followed by a command to run that command on the file as it opens (such as jumping straight to a specific line number). The plugin detects the root of your project automatically by looking for markers like a .git or .svn directory, so it searches from the project root rather than just the current folder. You can configure which files and directories to exclude from results, and optionally replace its built-in file listing with a custom shell command. ctrlp.vim is written entirely in VimScript, so it runs inside Vim without external dependencies. It works with MacVim, gVim, and Vim 7.0 and above. The README notes that this repository is no longer maintained and directs users to an actively maintained fork.

Copy-paste prompts

Prompt 1
Show me how to install ctrlp.vim using vim-plug and map it to Ctrl+P in my .vimrc file.
Prompt 2
How do I configure ctrlp.vim to exclude the node_modules and .git directories from its file search results?
Prompt 3
Using ctrlp.vim, how do I switch the search mode to show only currently open buffers instead of all project files?
Open on GitHub → Explain another repo

← kien on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.