YouCompleteMe: Advanced Code Completion and IDE Features for Vim
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
YouCompleteMe is a powerful, fast, as-you-type code completion and refactoring engine for Vim. It integrates multiple language servers, offering semantic completion, diagnostics, and IDE-like features across various programming languages. With its client-server architecture, it provides an enhanced coding experience directly within Vim.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
YouCompleteMe is a powerful, fast, as-you-type, fuzzy-search code completion, comprehension, and refactoring engine for Vim. Designed to bring advanced IDE-like features directly into your favorite text editor, it significantly enhances productivity for developers working with various programming languages.
The engine boasts several built-in completers, including an identifier-based engine for all languages, a robust clangd-based engine for C-family languages, Jedi for Python, OmniSharp-Roslyn for C#, Gopls for Go, TSServer for JavaScript and TypeScript, rust-analyzer for Rust, and jdt.ls for Java. It also supports any Language Server Protocol (LSP) compliant server, making it highly versatile.
Installation
Getting YouCompleteMe up and running typically involves a straightforward process using its install.py script. Key requirements include a supported Vim or Neovim version (Vim 9.1.0016+ or Neovim 0.5+), Python 3.8+, CMake 3.13+, and a C++17 compatible compiler (GCC 8+, Clang 7+, MSVC 15.7+).
For a quick start with all language completers, after installing the plugin via a Vim package manager like Vundle, you can often run:
cd ~/.vim/bundle/YouCompleteMe
python3 install.py --all
This command handles the setup for C-family, C#, Go, Java, JavaScript/TypeScript, and Rust support, provided their respective runtime dependencies (like JDK for Java, Node.js for JS/TS) are met. Detailed, OS-specific instructions for macOS, Linux, and Windows are available in the official documentation for more advanced configurations.
Examples
YouCompleteMe provides a seamless and intuitive coding experience. As you type, suggestions appear automatically, filtered intelligently by subsequence matching, meaning abc matches xaybgc. You can accept suggestions with TAB, cycle through them, or continue typing to refine the list.
Key features demonstrated include:
- Auto-completion: Instant, context-aware suggestions for identifiers, functions, and variables without needing manual triggers.
- Signature Help: Displays function prototypes and argument hints as you type function calls.
- Real-time Diagnostics: Shows errors and warnings directly in the Vim gutter and highlights relevant text, updating as you type.
- Navigation Commands:
GoToDeclaration,GoToDefinition,GoToReferences,GoToImplementation, andGoToTypeallow quick jumps through your codebase. - Refactoring: Commands like
FixItfor automatic error corrections andRefactorRenamefor semantic renaming across files streamline code maintenance. - Semantic Highlighting & Inlay Hints: Provides richer code highlighting based on semantic types and displays non-buffer text hints for types or argument names, enhancing code readability.
- Symbol Search: Interactively search and jump to symbols within your workspace or document.
- Type/Call Hierarchy: Explore inheritance and call relationships interactively.
Why Use It
YouCompleteMe transforms Vim into a powerful, feature-rich IDE. Its primary advantages include:
- Exceptional Speed: Designed for performance, offering fast, as-you-type completion.
- Broad Language Support: Native support for many popular languages (C-family, Python, C#, Go, Java, JS/TS, Rust) and extensibility via LSP.
- Comprehensive Features: Beyond basic completion, it offers advanced diagnostics, code navigation, refactoring, and semantic analysis.
- Seamless Integration: Works within the familiar Vim environment, enhancing existing workflows without requiring a full IDE switch.
- Customization: Extensive options allow users to tailor its behavior to their specific needs and preferences.
Links
- GitHub Repository: https://github.com/ycm-core/YouCompleteMe
- Gitter Room: https://gitter.im/Valloric/YouCompleteMe
- Issue Tracker: https://github.com/ycm-core/YouCompleteMe/issues?state=open
Related repositories
Similar repositories that may be relevant next.
Codebase-Memory-MCP: High-Performance Code Intelligence for AI Agents
June 20, 2026
Codebase-Memory-MCP is an exceptionally fast and efficient code intelligence engine tailored for AI coding agents. It transforms your codebase into a persistent knowledge graph, indexing an average repository in milliseconds and supporting 158 languages. This tool significantly reduces token usage and integrates seamlessly with various agents as a single, dependency-free binary.

Obfuscator.io Deobfuscator: Unmasking Obfuscated JavaScript Code
March 8, 2026
Obfuscator.io Deobfuscator is a powerful tool designed to reverse the obfuscation applied by Obfuscator.io, a popular JavaScript obfuscator. It helps developers and security researchers understand and analyze obfuscated code by recovering strings, simplifying expressions, and reversing control flow flattening. This project offers both an online version and a command-line interface for convenient use.

Gitingest: Transform GitHub Repositories into LLM-Friendly Code Extracts
February 1, 2026
Gitingest is a powerful tool designed to convert Git repositories into prompt-friendly text for Large Language Models (LLMs). It allows developers to easily obtain structured code extracts, making it simpler to feed codebase context into AI applications. With Gitingest, you can quickly generate digests from GitHub URLs or local directories, streamlining your AI-driven development workflows.
Source repository
Open the original repository on GitHub.