====== 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: * **Plugins especializados** para gerenciamento de código de infraestrutura. * **Atalhos personalizados** para navegação rápida e edição de arquivos. * **Tema visual agradável** para reduzir a fadiga visual e melhorar a concentração. * **Funções automáticas** que simplificam tarefas repetitivas e mantêm o código limpo e organizado. **O que está incluído?** O arquivo ''.vimrc'' apresentado aqui inclui: * **Plugins para Terraform e Ansible**, que adicionam funcionalidades como formatação automática e destaque de sintaxe específico. * **NERDTree e fzf**, ferramentas para melhor gerenciamento de arquivos dentro do editor. * **Tema One Dark**, que oferece uma interface escura e consistente. * **Configurações e atalhos** projetados para facilitar a edição e o gerenciamento de vários arquivos e janelas. **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 ==== * **Abra o terminal.** * **Execute o seguinte comando para baixar e instalar o Vim-Plug:** 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 ==== * **Abra o terminal.** * **Instale o cURL com o comando YUM ou DNF (dependendo da versão do Fedora/CentOS):** sudo dnf install curl FIXME Use ''sudo yum install curl'' em versões mais antigas * **Instale o Vim-Plug usando o cURL:** curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ==== Instalação no Arch Linux ==== * **Abra o terminal.** * **Certifique-se de que o cURL está instalado:** sudo pacman -S curl - **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 ==== * **Atualizando plugins**: Abra o Vim e execute `:PlugUpdate`. * **Verificando o status dos plugins**: Use `:PlugStatus` para ver o status dos plugins instalados. * **Removendo plugins**: Remova a linha do plugin do `.vimrc`, abra o Vim e execute `:PlugClean` para remover os plugins não utilizados. 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 ==== " 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') Este arquivo `.vimrc` incorpora várias funcionalidades úteis: * **Plugins para Terraform e Ansible**: Integração direta no Vim para trabalhar com estes arquivos de configuração. * **NERDTree e fzf**: Ferramentas para navegação e busca de arquivos dentro do editor. * **Tema One Dark**: Fornece uma interface visual confortável e minimiza a fadiga ocular durante sessões prolongadas. * **Atalhos e funções personalizadas**: Facilitam a navegação, edição e gerenciamento de janelas.