Table of Contents

Configuração para Infraestrutura como Código (IaC)

Este guia destina-se a profissionais de TI que trabalham com infraestrutura e infraestrutura como código, oferecendo uma configuração personalizada do editor Vim. A configuração foi projetada para maximizar a eficiência e conforto durante longas sessões de codificação, proporcionando integração com ferramentas essenciais como Terraform e Ansible.

Por que usar esta configuração?

Utilizar uma configuração otimizada do Vim pode significativamente acelerar seu trabalho diário ao oferecer:

O que está incluído?

O arquivo .vimrc apresentado aqui inclui:

Como instalar?

Para começar a usar esta configuração, copie o conteúdo do arquivo .vimrc para o seu próprio arquivo .vimrc localizado no diretório home do seu usuário. Certifique-se de ter o Vim-Plug instalado para gerenciar os plugins facilmente. Após a instalação, abra o Vim e execute :PlugInstall para instalar os plugins necessários.

Aqui está um exemplo de configuração .vimrc personalizada para um profissional de TI focado em infraestrutura e infraestrutura como código, incluindo suporte para plugins úteis, temas visuais e atalhos personalizados:

Como Instalar o Vim-Plug em Diferentes Distribuições Linux

O Vim-Plug é um gerenciador de plugins leve e poderoso para o Vim, que facilita a instalação e gerenciamento de plugins. Este guia fornece instruções passo a passo sobre como instalar o Vim-Plug em várias distribuições Linux.

Instalação no Ubuntu e Debian

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

FIXME Verifique se o diretório ~/.vim/autoload/ foi criado e contém o arquivo plug.vim.

Instalação no Fedora, CentOS e RHEL

sudo dnf install curl  

FIXME Use sudo yum install curl em versões mais antigas

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Instalação no Arch Linux

sudo pacman -S curl
  1. Instale o Vim-Plug:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Pós-instalação para todas as distribuições

Após instalar o Vim-Plug, adicione seus plugins preferidos ao seu arquivo .vimrc na seção adequada, que começa com call plug#begin() e termina com call plug#end(). Por exemplo:

call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree'
call plug#end()

Inicie o Vim e execute :PlugInstall para instalar os plugins especificados no seu .vimrc.

Dicas adicionais

Este guia deve ajudar você a configurar o Vim-Plug em diferentes distribuições Linux e a gerenciar seus plugins de Vim de forma eficiente e eficaz.

Arquivo .vimrc

.vimrc
" vim ~/.vimrc
 
" Inicialização básica
set nocompatible              " Desabilita a compatibilidade com o vi
filetype off                  " Desativa a detecção de tipo de arquivo
 
" Gerencie plugins com vim-plug
call plug#begin('~/.vim/plugged')
 
" Plugins para infraestrutura como código
Plug 'hashivim/vim-terraform'
Plug 'pearofducks/ansible-vim'
 
" Plugin para gerenciamento de múltiplos arquivos e janelas
Plug 'preservim/nerdtree'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
 
" Tema visual confortável para longas sessões de codificação
Plug 'joshdick/onedark.vim'    " Tema One Dark
 
call plug#end()
 
" Configuração de temas e interface
syntax enable                  " Habilita o destaque de sintaxe
set background=dark            " Define o tema como escuro
colorscheme onedark            " Aplica o tema One Dark
 
" Configurações gerais de edição
set number                      " Mostra números de linha
set smartindent                 " Indentação inteligente
set tabstop=2 shiftwidth=2 expandtab " Configura tabs e espaços
 
" Atalhos úteis
map <C-n> :NERDTreeToggle<CR>  " Ctrl+n para abrir/fechar o NERDTree
map <C-f> :Files<CR>           " Ctrl+f para buscar arquivos com fzf
 
" Melhorias específicas para Terraform e Ansible
let g:terraform_fmt_on_save = 1 " Formata arquivos Terraform ao salvar
let g:ansible_unindent_after_newline = 1 " Melhora a indentação para Ansible
 
" Encerramento automático de tags e strings
au FileType html,xml,javascript autocmd BufWritePre <buffer> %s/\s\+$//e
 
" Retorna ao último local do cursor ao reabrir o arquivo
if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
 
" Encerra sessão de edição automaticamente ao fechar o Vim
au VimLeave * call system('echo "Sessão encerrada às " . strftime("%c") >> ~/.vim/sessao.log')

Este arquivo `.vimrc` incorpora várias funcionalidades úteis: