commit 6c74fe11071df85192d74581a021ecf67c13edb8 from: Andre M. Bertachini date: Sun Apr 20 15:09:22 2025 UTC Options and keymaps commit - 93619c05d30ec811aeccb69f0118b4b42e9a9a1d commit + 6c74fe11071df85192d74581a021ecf67c13edb8 blob - 1256d1290a518125e655e73817a7f5bac2b03cfe blob + 46e36084159eccf1f4a24a0259cea6e60da43b32 --- init.lua +++ init.lua @@ -1,5 +1,9 @@ -require("plugins.lazy") +vim.g.mapleader = ' ' +vim.g.maplocalleader = ' ' +require 'config.options' +require 'plugins.lazy' + require("lazy").setup({ require 'plugins/telescope', }) blob - /dev/null blob + 24b261b466bd7a9f0419af6d5d5c1f40403b415d (mode 644) --- /dev/null +++ lua/config/keymaps.lua @@ -0,0 +1,43 @@ +-- Clear highlights on search when pressing in normal mode +-- See `:help hlsearch` +vim.keymap.set('n', '', 'nohlsearch') + +-- Diagnostic keymaps +vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) + +-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier +-- for people to discover. Otherwise, you normally need to press , which +-- is not what someone will guess without a bit more experience. +-- +-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping +-- or just use to exit terminal mode +vim.keymap.set('t', '', '', { desc = 'Exit terminal mode' }) + +-- TIP: Disable arrow keys in normal mode +vim.keymap.set('n', '', 'echo "No Arrows!"') +vim.keymap.set('n', '', 'echo "No Arrows!"') +vim.keymap.set('n', '', 'echo "No Arrows!"') +vim.keymap.set('n', '', 'echo "No Arrows!"') + +-- Keybinds to make split navigation easier. +-- Use CTRL+ to switch between windows +-- +-- See `:help wincmd` for a list of all window commands +vim.keymap.set('n', '', '', { desc = 'Move focus to the left window' }) +vim.keymap.set('n', '', '', { desc = 'Move focus to the right window' }) +vim.keymap.set('n', '', '', { desc = 'Move focus to the lower window' }) +vim.keymap.set('n', '', '', { desc = 'Move focus to the upper window' }) + + +-- Highlight when yanking (copying) text +-- Try it with `yap` in normal mode +-- See `:help vim.highlight.on_yank()` +vim.api.nvim_create_autocmd('TextYankPost', { + desc = 'Highlight when yanking (copying) text', + group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), + callback = function() + vim.highlight.on_yank() + end, +}) + +-- vim: ts=2 sts=2 sw=2 et blob - /dev/null blob + 74c1e9ff7bb15a60dfb158b85524b8f9f96962ba (mode 644) --- /dev/null +++ lua/config/options.lua @@ -0,0 +1,56 @@ +vim.o.number = true +vim.o.relativenumber = true + +-- Enable mouse mode, can be useful for resizing splits for example! +vim.o.mouse = 'a' + +-- Don't show the mode, since it's already in the status line +vim.o.showmode = false + +-- Sync clipboard between OS and Neovim. +vim.schedule(function() + vim.o.clipboard = 'unnamedplus' +end) + +-- Enable break indent +vim.o.breakindent = true + +-- Save undo history +vim.o.undofile = true + +-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term +vim.o.ignorecase = true +vim.o.smartcase = true + +-- Keep signcolumn on by default +vim.o.signcolumn = 'yes' + +-- Decrease update time +vim.o.updatetime = 250 + +-- Decrease mapped sequence wait time +vim.o.timeoutlen = 300 + +-- Configure how new splits should be opened +vim.o.splitright = true +vim.o.splitbelow = true + +-- Sets how neovim will display certain whitespace characters in the editor. +vim.o.list = true +vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } + +-- Preview substitutions live, as you type! +vim.o.inccommand = 'split' + +-- Show which line your cursor is on +vim.o.cursorline = true + +-- Minimal number of screen lines to keep above and below the cursor. +vim.o.scrolloff = 10 + +-- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`), +-- instead raise a dialog asking if you wish to save the current file(s) +-- See `:help 'confirm'` +vim.o.confirm = true + +-- vim: ts=2 sts=2 sw=2 et