" 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 :NERDTreeToggle " Ctrl+n para abrir/fechar o NERDTree map :Files " 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 %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')