vimrc
" -----------------------------------------------------------------------------
" Configurações gerais
" -----------------------------------------------------------------------------
if has('termguicolors')
    set termguicolors           " Habilita suporte a cores verdadeiras
endif
 
filetype plugin indent on       " Habilita plugins e indentação automática
syntax on                       " Ativa o destaque de sintaxe
set encoding=utf-8              " Define codificação UTF-8
set title                       " Exibe título no terminal
set confirm                     " Solicita confirmação antes de sair
set hidden                      " Permite alternar buffers sem salvar
set noswapfile                  " Desativa arquivos de swap
set nobackup                    " Desativa backups
set undodir=~/.vim/undodir      " Define diretório para histórico de desfazer
set undofile                    " Habilita histórico de desfazer persistente
 
" -----------------------------------------------------------------------------
" Interface
" -----------------------------------------------------------------------------
set number                      " Exibe números das linhas
set relativenumber              " Exibe números relativos
set scrolloff=2                 " Mantém 2 linhas de margem ao rolar
set cursorline                  " Destaca a linha atual
set nowrap                      " Evita quebra automática de linha
set linebreak                   " Faz quebra de linha respeitar palavras
set nolist                      " Não mostra caracteres invisíveis
set listchars=tab:›-,trail:~,eol:↲,space:· " Define caracteres invisíveis
set wildmenu                    " Mostra sugestões de autocomplete no menu
set wildmode=longest:full       " Define comportamento do autocomplete
 
" -----------------------------------------------------------------------------
" Busca
" -----------------------------------------------------------------------------
set ignorecase                  " Ignora maiúsculas/minúsculas
set smartcase                   " Respeita maiúsculas se usadas na busca
set incsearch                   " Mostra resultados enquanto digita
set hlsearch                    " Destaca todas as ocorrências
let @/ = ""                     " Remove destaque ao carregar o Vim
 
" -----------------------------------------------------------------------------
" Indentação
" -----------------------------------------------------------------------------
set autoindent                  " Indenta automaticamente
set smartindent                 " Ajusta indentação de acordo com o contexto
set expandtab                   " Converte tabulações em espaços
set tabstop=2                   " Define tabulação como 2 espaços
set shiftwidth=2                " Define largura da indentação
set softtabstop=2               " Define largura da tabulação lógica
 
" -----------------------------------------------------------------------------
" Configuração da barra de status
" -----------------------------------------------------------------------------
set laststatus=2                " Sempre mostra a barra de status
set noshowmode                  " Remove indicação redundante de modo
 
" Configuração visual da barra de status
hi statusline   cterm=NONE ctermfg=7 ctermbg=240
hi statuslinenc cterm=NONE ctermfg=7 ctermbg=236
 
augroup StatusLineColors
    autocmd!
    autocmd InsertEnter * hi statusline ctermbg=2
    autocmd InsertLeave * hi statusline ctermbg=240
augroup END
 
" Personalização da barra de status
set statusline=%f               " Nome do arquivo
set statusline+=%m              " Indica se o buffer está modificado
set statusline+=%=              " Alinha os itens à direita
set statusline+=%l/%L,%c        " Mostra linha/total, coluna
 
" -----------------------------------------------------------------------------
" Cores e tema
" -----------------------------------------------------------------------------
call plug#begin('~/.vim/plugged')
 
" Gerenciador de plugins: temas e recursos
Plug 'sainnhe/edge'             " Tema Edge
call plug#end()
 
colorscheme edge                " Aplica o tema Edge
 
" Configurações visuais para destaque
hi Normal guibg=NONE            " Remove fundo sólido para transparência
hi CursorLine ctermbg=236       " Define fundo da linha ativa
hi Visual ctermbg=240           " Cor para modo Visual
 
" -----------------------------------------------------------------------------
" Outros ajustes
" -----------------------------------------------------------------------------
set path=.,**                   " Habilita busca recursiva
hi VertSplit ctermfg=240 ctermbg=NONE guifg=#616270 guibg=NONE
 
" -----------------------------------------------------------------------------
" Compatibilidade
" -----------------------------------------------------------------------------
if v:version < 800              " Mensagem de aviso para versões antigas
    echom "Configuração otimizada para Vim 8.0+"
endif