Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

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

Vim-Terraform

ISCVim Script

A Vim plugin providing syntax highlighting, indentation, and a :Terraform command for working with Terraform and HCL files.

Visit WebsiteGitHubGitHub
1.1k stars111 forks0 contributors

What is Vim-Terraform?

vim-terraform is a Vim plugin that provides syntax highlighting, indentation, and a :Terraform command for working with Terraform and HCL files. It integrates Terraform functionality directly into the Vim editor, streamlining infrastructure-as-code development.

Target Audience

Vim users who work with Terraform for infrastructure-as-code, particularly DevOps engineers and system administrators managing cloud resources.

Value Proposition

It offers a lightweight, editor-native way to write and manage Terraform configurations with features like command completion and formatting, eliminating the need to switch between terminal and editor.

Overview

basic vim/terraform integration

Use Cases

Best For

  • Editing Terraform configuration files in Vim with syntax highlighting
  • Running Terraform commands directly from within Vim
  • Formatting HCL and Terraform files using terraform fmt
  • Improving readability of infrastructure-as-code with proper indentation
  • Vim users who prefer integrated tools over external plugins
  • Managing Terraform workflows without leaving the editor

Not Ideal For

  • Teams using GUI-heavy IDEs like VS Code with integrated Terraform extensions
  • Projects requiring advanced Terraform tooling such as state visualization or plan diff GUIs
  • Environments where Vim is not the primary editor or not installed

Pros & Cons

Pros

Integrated Command Execution

The :Terraform command with tab completion lets you run any Terraform subcommand directly from Vim, reducing context switching. This is a core feature highlighted in the overview.

Syntax and Formatting Support

Provides syntax highlighting and automatic indentation for HCL files, and the :TerraformFmt command formats code using terraform fmt for consistency. These are listed as key features in the README.

Lightweight and Focused

Follows the Unix philosophy of doing one thing well, making it a minimal addition to Vim without bloat. This is stated in the philosophy section.

Cons

Maintenance Uncertainties

The project has a 'Call For Maintainers' notice, indicating it may be under-maintained, which could lead to slower updates or bugs. This is explicitly mentioned in the README.

Limited Feature Set

Lacks advanced IDE features like autocomplete for Terraform resources, linting beyond formatting, or integration with tools like Terraform Cloud. The feature list is basic compared to comprehensive editors.

Vim-Only Lock-in

Exclusively designed for Vim, so it's useless for users of other editors like Emacs or Sublime Text, limiting its applicability in mixed-editor teams.

Frequently Asked Questions

Quick Stats

Stars1,109
Forks111
Contributors0
Open Issues3
Last commit1 year ago
CreatedSince 2014

Tags

#devops#vim#syntax-highlighting#hcl#terraform#infrastructure-as-code#indentation#hashicorp#vim-plugin

Built With

V
Vim
s
shell

Links & Resources

Website

Included in

Terraform6.3k
Auto-fetched 3 hours ago

Related Projects

Terraform-lsTerraform-ls

Terraform Language Server

Stars1,193
Forks153
Last commit3 days ago
Terraform-lspTerraform-lsp

Language Server Protocol for Terraform

Stars589
Forks36
Last commit3 years ago
Vim-Terraform-CompletionVim-Terraform-Completion

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

Stars339
Forks24
Last commit4 years ago
Emacs terraform-modeEmacs terraform-mode

Major mode of Terraform configuration file

Stars240
Forks34
Last commit8 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