YouCompleteMe: Advanced Code Completion and IDE Features for Vim

This repository profile is provided by osrepos.com, an open source repository discovery platform.

YouCompleteMe: Advanced Code Completion and IDE Features for Vim

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

Analyzed by OSRepos on November 25, 2025

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, and GoToType allow quick jumps through your codebase.
  • Refactoring: Commands like FixIt for automatic error corrections and RefactorRename for 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

Related repositories

Similar repositories that may be relevant next.

Codebase-Memory-MCP: High-Performance Code Intelligence for AI Agents

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.

code-intelligenceAI agentsknowledge-graph
Obfuscator.io Deobfuscator: Unmasking Obfuscated JavaScript Code

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.

deobfuscationjavascriptreverse-engineering
Gitingest: Transform GitHub Repositories into LLM-Friendly Code Extracts

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.

aicodedeveloper-tool

Source repository

Open the original repository on GitHub.

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️