Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Terraform
  3. Vim-Terraform-Completion

Vim-Terraform-Completion

MITVim Script

A Vim/Neovim plugin providing autocompletion and linting for Terraform configurations with version-aware provider support.

GitHubGitHub
339 stars24 forks0 contributors

What is Vim-Terraform-Completion?

vim-terraform-completion is a Vim and Neovim plugin that provides autocompletion and linting capabilities specifically for Terraform configuration files. It solves the problem of writing Terraform code manually by offering intelligent suggestions and real-time error checking directly within the editor, improving developer productivity and code quality.

Target Audience

Vim and Neovim users who regularly write and maintain Terraform configurations for infrastructure-as-code projects, particularly DevOps engineers and platform developers.

Value Proposition

Developers choose this plugin because it offers version-aware completion for Terraform providers, deep integration with Vim's editing workflow, and a lightweight alternative to full IDEs, making Terraform development faster and more accurate.

Overview

A (Neo)Vim Autocompletion and linter for Terraform, a HashiCorp tool

Use Cases

Best For

  • Writing Terraform configurations with accurate provider-specific completions
  • Real-time linting of HCL files within Vim/Neovim
  • Managing multiple Terraform provider versions in a single project
  • Viewing Terraform documentation without switching contexts
  • Using community Terraform providers with editor support
  • Integrating Terraform development into a terminal-based workflow

Not Ideal For

  • Teams using Visual Studio Code or JetBrains IDEs with built-in Terraform extensions
  • Developers who prefer zero-configuration tools and avoid managing multiple Vim plugins
  • Projects requiring real-time collaborative editing or cloud-based development environments
  • Users with Vim configurations lacking Ruby support or unwilling to install additional gems

Pros & Cons

Pros

Version-Aware Completions

Supports specific provider versions via a .tfcompleterc config file, ensuring accurate suggestions for different Terraform releases, as demonstrated in the provider versions documentation.

Context-Aware Autocompletion

Provides intelligent suggestions for blocks, resources, and functions with optional/required indicators, shown in the block completion screenshots and README examples.

Seamless Linting Integration

Integrates with syntastic and neomake to run terraform validate and tflint, displaying errors directly in the editor, as detailed in the dependencies and minimal configuration section.

In-Editor Documentation

Allows viewing Terraform documentation without leaving Vim using key mappings like Ctrl-K, mentioned in the todo list and features overview.

Cons

Complex Dependency Chain

Relies on multiple external plugins like vim-terraform, syntastic, and deoplete, making setup and maintenance more involved, as noted in the installation dependencies.

Incomplete Feature Set

The README includes extensive todo lists with many items marked as WIP, such as better linter and full snippets, indicating ongoing development and potential functionality gaps.

Performance Overheads

Enabling deep checks for tflint can be slow, affecting editor responsiveness, as warned in the general todo section of the README.

Frequently Asked Questions

Quick Stats

Stars339
Forks24
Contributors0
Open Issues17
Last commit4 years ago
CreatedSince 2017

Tags

#autocompletion#code-editing#linter#vim#neovim-plugin#devops-tools#hcl#terraform#infrastructure-as-code#neovim#vim-plugin

Built With

V
Vimscript
R
Ruby

Included in

Terraform6.3k
Auto-fetched 9 hours ago

Related Projects

Terraform-lsTerraform-ls

Terraform Language Server

Stars1,202
Forks158
Last commit9 hours ago
Vim-TerraformVim-Terraform

basic vim/terraform integration

Stars1,109
Forks109
Last commit1 year ago
Terraform-lspTerraform-lsp

Language Server Protocol for Terraform

Stars590
Forks35
Last commit3 years ago
Emacs terraform-modeEmacs terraform-mode

Major mode of Terraform configuration file

Stars242
Forks35
Last commit9 months 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