| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- -- arquivo de configuração do neovim, para isso basta criar o arquivo `~/.config/nvim/init.lua` e adicionar as seguintes linhas:
- -- https://github.com/neovim/neovim/tree/master
- local vim = vim
- -- ====================================================================================
- -- ⭐ ESSENCIAL - Configurações obrigatórias para funcionamento correto
- -- ====================================================================================
- -- Desativa compatibilidade com Vi antigo, permitindo usar recursos modernos do Vim/Neovim
- vim.o.compatible = false
- -- Detecta o tipo de arquivo e carrega automaticamente plugins e indentação apropriados
- -- (Sem equivalente nativo em Lua - essa linha DEVE usar VimScript)
- vim.cmd("filetype plugin indent on")
- -- Ativa a sintaxe de highlight para deixar o código colorido
- -- (Forma nativa: vim.treesitter.start() é mais moderno)
- vim.cmd("syntax enable")
- -- Carrega configurações de arquivos .vim, .lua, .nvimrc e .exrc na pasta de projeto
- vim.o.exrc = true
- -- Ativa modo seguro para bloquear comandos preiudosos ao carregar arquivos de terceiros
- vim.o.secure = true
- -- Define a tecla de espaço como "Leader Key" (tecla modificadora para atalhos customizados)
- vim.g.mapleader = " "
- -- ====================================================================================
- -- 🔧 RECOMENDADO - Melhor usabilidade e comportamento esperado
- -- ====================================================================================
- -- Exibe os números das linhas no lado esquerdo do editor
- vim.opt.number = true
- -- Mostra números relativos (distância da linha do cursor), útil para navegação rápida
- vim.o.relativenumber = true
- vim.o.scrolloff = 4
- -- Herda a indentação da linha anterior automaticamente ao criar nova linha
- vim.o.autoindent = true
- -- Converte caracteres Tab em espaços (importante para compatibilidade entre editores)
- vim.o.expandtab = true
- -- Define quantos espaços ocupam UMA tabulação visual no arquivo
- vim.o.tabstop = 4
- -- Define quantos espaços o Neovim coloca ao pressionar Tab (mesmo convertendo em espaços)
- -- Por exemplo: ao pressionar Tab, o cursor pula 4 espaços. Ao pressionar Backspace, apaga 4 espaços
- -- Diferente de tabstop que é só visual - softtabstop define o "tamanho tático" do Tab
- vim.o.softtabstop = 4
- -- Controla a quantidade de espaços usados para indentação automática
- -- Afeta operações como << (diminuir indentação) e >> (aumentar indentação),
- -- bem como indentação automática feita por plugins. Neste caso, cada nível de indentação
- vim.o.shiftwidth = 4
- -- Ativa suporte a clipboard do sistema (copia/cola com "+y" ou "*y funciona com sistema)
- vim.o.clipboard = "unnamedplus"
- -- Ativa mouse para clicar, arrastar e selecionar texto no editor em todos os modos
- -- "a" = all modes (normal, insert, command-line, visual)
- vim.o.mouse = ""
- -- ====================================================================================
- -- 👀 BUSCA E INTERFACE - Melhor visualização durante edição
- -- ====================================================================================
- -- Destaca a linha inteira onde o cursor está (linha horizontal)
- vim.o.cursorline = true
- -- dá para brincar com exibindo só o destaque no numero da liilha, ou então da linhas, ambos
- vim.o.cursorlineopt = "line,number"
- -- Destaca todos os resultados de uma busca anterior até fazer uma nova busca
- vim.o.hlsearch = true
- -- Busca incremental: mostra resultados enquanto você digita a busca
- vim.o.incsearch = true
- -- Mostra uma coluna de referência em 120 e 160 caracteres para manter linhas legíveis
- vim.o.colorcolumn = "80,120,140"
- -- Destaca automaticamente parênteses/colchetes/chaves correspondentes
- vim.o.showmatch = true
- -- Mostra qual modo você está (INSERT, VISUAL, COMMAND, etc) na barra inferior
- vim.o.showmode = true
- -- quando testei essa config, lá na barra de titulo do emulador
- -- de terminal aparece o arquivo em questão como titulo
- vim.o.title = true
- -- quando divide a janela verticalmente, mantem o buffer atual a direita
- vim.o.splitright = true
- -- quando divide a tela na horizontal
- -- mantem o buffer atual em cima
- vim.o.splitbelow = true
- -- ====================================================================================
- -- 📝 DESCOMENTADO - Configurações adicionais disponíveis
- -- ====================================================================================
- -- ainda não encontrei aonde faça a diferença, dado que o terminal já usa
- vim.o.fileencodings = 'uft-8'
- -- ainda não encontrei aonde faça a diferença, dado que o terminal já usa
- vim.o.encoding = 'utf-8'
- -- oferece a opção de salvar quando fecha o buffer
- vim.o.confirm = true
- vim.o.smartcase = true
- vim.o.ignorecase = true
- vim.o.signcolumn = 'yes'
- vim.o.wrap = true
- -- retrobox, habamax, fruit
- vim.cmd.colorscheme('habamax')
- require('mapping')
- require('mini_nvim')
- vim.o.wildmode = "longest:list"
- vim.o.backspace=indent,eol,start
- vim.o.listchars="tab:>-,trail:-,nbsp:+"
- vim.o.fillchars="eob:~,lastline:@"
- vim.o.hidden = true
- -- require('plugs') -- descomente para carregar arquivo de plugins
- -- vim.g.NERDTreeShowHidden=1 -- descomente para mostrar arquivos ocultos no NERDTree
- -- Telescópio
- -- https://github.com/nvim-telescope/telescope.nvim
|