I am spending my days with Ansible and Kubernetes. This means I am writing YAML files all day long. I invariably spend a significant portion of my working hours fixing indentations in the YAML files. I am sure this is the case with many DevOps engineers these days.
I found the following plugins vim-plug and indentLine. vim-plug is a minimalist Vim plugin manager. And indentLine is used for displaying thin vertical lines at each indentation level for code indented with spaces. I did set up both the plugins in the following way:
Edit the .vimrc
file
Add the following lines to the .vimrc
file to make sure that I use 2 spaces indentation from YAML file.
filetype plugin indent on
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
Add the plugins .vimrc
file to add both the plugins
call plug#begin()
Plug 'Yggdroot/indentLine'
call plug#end()
Final output:
Now when I was trying to edit a YAML file in vim, it is all indented (visually).
12 ---
11 - name: Apt update
10 ansible.builtin.apt:
9 ¦ update_cache: yes
8
7 - name: Get list of updates
6 ansible.builtin.command:
5 ¦ cmd: apt list --upgradable
4 register: update_list
3
2 - name: Print the update_list
1 ansible.builtin.debug:
13 ¦ msg: "{{ update_list.stdout_lines }}"
I hope this super minimal vim setup will be helpful to others.