Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elm
  3. elm-vim

elm-vim

BSD-3-ClauseVim Script

A comprehensive Vim plugin for Elm development with syntax highlighting, completion, formatting, and build tools.

GitHubGitHub
572 stars98 forks0 contributors

What is elm-vim?

elm-vim is a Vim plugin that provides comprehensive support for developing applications in the Elm programming language. It integrates Elm's core toolchain—including compilation, testing, formatting, and documentation lookup—directly into the Vim editor, streamlining the development workflow.

Target Audience

Elm developers who prefer using Vim as their primary code editor and want a tightly integrated development environment with minimal context switching.

Value Proposition

It offers a unified, feature-complete Elm development experience within Vim, reducing reliance on external tools and terminals while maintaining compatibility with popular Vim plugins like Ale and Syntastic.

Overview

Elm plugin for Vim

Use Cases

Best For

  • Writing Elm code with real-time syntax highlighting and indentation
  • Automatically formatting Elm source files on save
  • Looking up function documentation without leaving the editor
  • Running Elm tests and builds directly from Vim
  • Using Elm REPL for interactive experimentation
  • Integrating Elm development with existing Vim plugin ecosystems

Not Ideal For

  • Developers using non-Vim editors like VS Code or IntelliJ IDEA, where dedicated Elm extensions offer more integrated GUI features.
  • Teams requiring advanced graphical debugging tools; elm-vim's debugging is limited to REPL integration and error reporting without full debugger support.
  • Projects prioritizing minimal editor setup; elm-vim requires installing multiple global Elm tools and managing plugin conflicts like with vim-polyglot.

Pros & Cons

Pros

Elm Toolchain Integration

Seamlessly integrates core Elm tools like elm-format for auto-formatting and elm-oracle for documentation lookup, as evidenced by the required installations and features list in the README.

Customizable Keybindings

Provides default mappings for tasks like compilation and testing but allows full customization by disabling them with `g:elm_setup_keybindings`, offering flexibility without lock-in.

Plugin Ecosystem Compatibility

Works out of the box with popular Vim plugins like Ale and Syntastic for enhanced linting, as detailed in the Integration section, ensuring a smooth workflow in existing setups.

Comprehensive Feature Coverage

Covers all essential Elm development aspects from syntax highlighting to REPL integration, as listed in the Features section, reducing the need for external tools.

Cons

Complex Setup Process

Requires installing Elm Platform, elm-test, elm-oracle, and elm-format globally via npm, adding multiple manual steps before the plugin is fully operational, as noted in the Requirements section.

Plugin Conflict Management

Explicitly warns about conflicts with vim-polyglot, necessitating manual configuration to disable its Elm plugin, which can be error-prone and confusing for users.

Limited Advanced IDE Features

Focuses on basic to intermediate tools; lacks advanced capabilities such as refactoring support or graphical debugging interfaces, relying on external tool integration for more complex tasks.

Frequently Asked Questions

Quick Stats

Stars572
Forks98
Contributors0
Open Issues48
Last commit5 years ago
CreatedSince 2015

Tags

#developer-tools#repl-integration#build-tools#code-editing#syntax-highlighting#code-formatting#elm-language#code-completion#vim-plugin

Built With

V
Vimscript
V
Vim

Included in

Elm3.7k
Auto-fetched 1 day ago

Related Projects

emmet-vimemmet-vim

emmet for vim: http://emmet.io/

Stars6,465
Forks414
Last commit5 months ago
vim-elm-helpvim-elm-help

Offline Elm documentation access in your editor

Stars7
Forks1
Last commit6 years ago
elm.vimelm.vim

Elm syntax support for vim

Stars0
Forks1
Last commit8 years 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