Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Typing
  3. vim-mypy

vim-mypy

MITVim Script

Vim plugin for executing Python's MyPy static type checker directly within the editor.

GitHubGitHub
102 stars15 forks0 contributors

What is vim-mypy?

vim-mypy is a Vim plugin that integrates MyPy, Python's static type checker, directly into the Vim editor. It allows developers to run type checks on Python code within Vim, identifying type errors like passing incorrect argument types before runtime. This helps improve code reliability and maintainability in Python projects.

Target Audience

Python developers who use Vim as their primary editor and want to incorporate static type checking into their workflow without switching tools.

Value Proposition

Developers choose vim-mypy for its simplicity and focused integration—it provides a lightweight, dedicated way to run MyPy checks in Vim without the overhead of larger linting frameworks like Syntastic or Neomake.

Overview

Vim plugin for executing Python's optional static type checker MyPy (http://mypy-lang.org/)

Use Cases

Best For

  • Python developers using Vim who want real-time type checking
  • Integrating MyPy into a minimal Vim setup without extra plugins
  • Catching type errors in Python code during editing sessions
  • Lightweight static analysis for Python projects in Vim
  • Avoiding runtime type-related bugs in Python development
  • Enforcing type annotations in Python code directly from the editor

Not Ideal For

  • Developers who need automatic linting on save without manual triggers
  • Users working with multiple programming languages who want a unified linting solution
  • Projects requiring asynchronous type checking to avoid blocking the editor

Pros & Cons

Pros

Lightweight Design

Focuses solely on MyPy integration without additional bloat or dependencies, as emphasized in the README's philosophy.

Direct MyPy Execution

Executes MyPy directly within Vim to check for type inconsistencies, such as passing a string where an integer is expected.

Flexible Triggers

Supports both the :Mypy command and a customizable key mapping (<Leader>mp), allowing quick execution as shown in the example.

Easy Installation

Can be installed via popular plugin managers like Pathogen or Vundle, with clear instructions provided in the README.

Cons

Manual Trigger Only

Requires explicit command or key press to run checks, lacking automatic execution on file save, which may disrupt workflow for frequent checks.

Single-Tool Focus

Only integrates MyPy, unlike alternatives like Syntastic or Neomake that support multiple linters and tools for broader static analysis.

Potential Performance Impact

Runs MyPy synchronously, likely blocking Vim during execution, which can be slow or disruptive for large codebases.

Frequently Asked Questions

Quick Stats

Stars102
Forks15
Contributors0
Open Issues1
Last commit7 years ago
CreatedSince 2017

Tags

#open-source#editor-integration#vim#plugin#python#code-quality#mypy#vim-plugins#development-tools#static-type-checking#static-analysis#vim-plugin#checker

Built With

V
Vimscript
V
Vim

Included in

Typing2.0k
Auto-fetched 15 hours ago

Related Projects

pylancepylance

Documentation and issues for Pylance

Stars2,133
Forks1,132
Last commit1 day ago
nbQAnbQA

Run ruff, isort, pyupgrade, mypy, pylint, flake8, and more on Jupyter Notebooks

Stars1,205
Forks51
Last commit5 days ago
mypy-pycharm-pluginmypy-pycharm-plugin

A simple plugin that allows running mypy from PyCharm and navigate between errors

Stars319
Forks16
Last commit5 years ago
mypy-playgroundmypy-playground

The mypy playground. Try mypy with your web browser.

Stars78
Forks12
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub