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.

GitNexus: Zero-Server Code Intelligence Engine for AI Agents
September 20, 2026
GitNexus is a client-side knowledge graph creator that runs entirely in your browser, transforming GitHub repositories or ZIP files into interactive knowledge graphs. It features a built-in Graph RAG Agent, perfect for deep code exploration and enhancing AI agent reliability. This tool provides architectural context to AI, ensuring more accurate and efficient code analysis.
Ferret MCP: AI-Powered Knowledge Extraction for Any Codebase
September 14, 2026
Ferret MCP is an MCP server designed to extract comprehensive knowledge from any codebase, combining static analysis with AI-powered deep interpretation. It provides detailed insights into architecture, patterns, dependencies, and API surface, delivering a senior engineer's analysis in seconds. This tool integrates seamlessly with various MCP clients, offering both free static analysis and advanced AI-driven reports.

GuardVibe: AI-Native Security for Your Code, From Prompt to Production
September 8, 2026
GuardVibe is a security infrastructure designed specifically for AI-generated code. It provides deterministic, daily CVE intelligence, whole-repo context, and independent verification, addressing gaps that AI coding agents cannot fill. GuardVibe shifts security left by analyzing prompts before code generation, ensuring robust protection throughout the development lifecycle.

AntiVibe: Learn Code with AI-Powered Deep Dives and Architectural Audits
August 26, 2026
AntiVibe is an innovative code learning and audit framework designed to help developers truly understand code, whether it's AI-generated, new, or legacy. It transforms any codebase into educational deep dives or senior-level architectural audits, moving beyond mere code summaries to explain the 'what,' 'why,' and 'when' of code patterns. This tool addresses the common problem of developers copying AI-generated code without grasping its underlying logic or implications.
Source repository
Open the original repository on GitHub.
23 counted GitHub visits