nvim

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 37a2fd801c1468fcf6f86d7dd852c97713a858df
parent 8882e17db3f66773170a57a3daa9cee79253752a
Author: Andrew <andrewlaack1@gmail.com>
Date:   Tue, 26 Nov 2024 09:49:56 -0600

Backup

Diffstat:
Mlua/core/keymaps.lua | 147++++++++++++++++---------------------------------------------------------------
Mlua/core/plugins.lua | 25+++++++++++++++++++++++++
2 files changed, 55 insertions(+), 117 deletions(-)

diff --git a/lua/core/keymaps.lua b/lua/core/keymaps.lua @@ -1,30 +1,28 @@ vim.opt.spelllang = { "en_us" } --- here you can setup the language servers --- vim.cmd.colorscheme "catppuccin" - -vim.opt.conceallevel = 1 -- or 2 +-- General config +vim.opt.conceallevel = 0 vim.opt.number = true vim.opt.shiftwidth = 0 vim.opt.linebreak = true vim.opt.clipboard = "unnamedplus" vim.g.mapleader = " " +vim.opt.tabstop = 4 +vim.o.guicursor = 'n-v-c:block' --- Telescope STUFF -local builtin = require("telescope.builtin") -vim.keymap.set("n", "<leader>f", builtin.find_files, { desc = "Telescope find files" }) -vim.keymap.set("n", "<leader>F", builtin.live_grep, { desc = "Telescope live grep" }) -vim.keymap.set("n", "<leader>b", builtin.buffers, { desc = "Telescope buffers" }) -vim.keymap.set("n", "<leader>m", builtin.marks, { desc = "Telescope marks" }) +-- C-u and C-d better navigation (less disorienting) +vim.keymap.set("n", "<C-d>", "<C-d>zz", {desc = "Center cursor after moving down half-page"}) +vim.keymap.set("n", "<C-u>", "<C-u>zz", {desc = "Center cursor after moving down half-page"}) --- +-- Telescope (<leader>f) +local builtin = require("telescope.builtin") +vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Telescope find files" }) +vim.keymap.set("n", "<leader>ft", builtin.live_grep, { desc = "Telescope live grep" }) +vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "Telescope buffers" }) +vim.keymap.set("n", "<leader>fm", builtin.marks, { desc = "Telescope marks" }) +vim.keymap.set("n", "<leader>fk", builtin.keymaps, { desc = "Telescope keymaps" }) -vim.api.nvim_set_keymap("n", "<leader>v", ":split<CR>", { silent = true }) -vim.api.nvim_set_keymap("n", "<leader>h", ":vsplit<CR>", { silent = true }) -vim.api.nvim_set_keymap("n", "<leader><left>", "<C-w>h", { silent = true }) -vim.api.nvim_set_keymap("n", "<leader><up>", "<C-w>k", { silent = true }) -vim.api.nvim_set_keymap("n", "<leader><down>", "<C-w>j", { silent = true }) -vim.api.nvim_set_keymap("n", "<leader><right>", "<C-w>l", { silent = true }) +-- Open terminal vim.api.nvim_set_keymap( "n", @@ -34,118 +32,33 @@ vim.api.nvim_set_keymap( ) vim.cmd("autocmd TermOpen * startinsert") -vim.opt.tabstop = 4 - -vim.api.nvim_set_keymap("n", "<leader>n", ":Explore<CR>", { noremap = true, silent = true }) - --- Normal mode and visual mode mappings -vim.api.nvim_set_keymap("n", "<C-Down>", "5j", { noremap = true, silent = true }) -vim.api.nvim_set_keymap("n", "<C-Up>", "5k", { noremap = true, silent = true }) -vim.api.nvim_set_keymap("v", "<C-Down>", "5j", { noremap = true, silent = true }) -vim.api.nvim_set_keymap("v", "<C-Up>", "5k", { noremap = true, silent = true }) - --- Insert mode mappings -vim.api.nvim_set_keymap("i", "<C-Down>", "<C-O>5j", { noremap = true }) -vim.api.nvim_set_keymap("i", "<C-Up>", "<C-O>5k", { noremap = true }) - --- Operator-pending mode mappings -vim.api.nvim_set_keymap("o", "<C-Down>", ":<C-U>5j<CR>", { noremap = true, silent = true }) -vim.api.nvim_set_keymap("o", "<C-Up>", ":<C-U>5k<CR>", { noremap = true, silent = true }) - -vim.api.nvim_set_keymap("i", "<C-e>", "<Esc>", { noremap = true }) -vim.api.nvim_set_keymap("x", "<C-e>", ":normal! j<CR>", { noremap = true }) - -vim.api.nvim_set_keymap("n", "<C-Right>", "<S-Right>", { noremap = true }) -vim.api.nvim_set_keymap("i", "<C-Right>", "<S-Right>", { noremap = true }) -vim.api.nvim_set_keymap("c", "<C-Right>", "<S-Right>", { noremap = true }) -vim.api.nvim_set_keymap("v", "<C-Right>", "<S-Right>", { noremap = true }) - -vim.api.nvim_set_keymap("n", "<C-Left>", "<S-Left>", { noremap = true }) -vim.api.nvim_set_keymap("i", "<C-Left>", "<S-Left>", { noremap = true }) -vim.api.nvim_set_keymap("c", "<C-Left>", "<S-Left>", { noremap = true }) -vim.api.nvim_set_keymap("v", "<C-Left>", "<S-Left>", { noremap = true }) - -vim.api.nvim_set_keymap("n", "<Leader>s", ":set spell<CR>", { noremap = true, silent = true }) -vim.api.nvim_set_keymap("n", "<Leader>S", ":set nospell<CR>", { noremap = true, silent = true }) - -vim.api.nvim_set_keymap("n", "rf", "<C-^>", { noremap = true, silent = true }) - -vim.api.nvim_set_keymap("n", "gf", ":e <cfile><CR>", { noremap = true, silent = true }) - --- Insert latex for markdown -vim.api.nvim_set_keymap("i", "<C-l>", "$<left>$", { noremap = true }) ---Bold for markdown -vim.api.nvim_set_keymap("i", "<C-b>", "**<left><left>**", { noremap = true }) - --- vim.cmd("let g:wiki_root = '~/gitRepos/notes'") --- LSP Config --- LSP Config for Tab navigation - --- LSP Config for Tab navigation -vim.api.nvim_set_keymap( - "i", - "<TAB>", - 'pumvisible() ? "\\<C-n>" : "\\<TAB>"', - { expr = true, noremap = true, silent = true } -) -vim.api.nvim_set_keymap( - "i", - "<S-TAB>", - 'pumvisible() ? "\\<C-p>" : "\\<S-TAB>"', - { expr = true, noremap = true, silent = true } -) - --- Prevent Up/Down arrows from interacting with LSP completion menu -vim.api.nvim_set_keymap( - "i", - "<Up>", - 'pumvisible() ? "\\<C-e>\\<Up>" : "\\<Up>"', - { expr = true, noremap = true, silent = true } -) -vim.api.nvim_set_keymap( - "i", - "<Down>", - 'pumvisible() ? "\\<C-e>\\<Down>" : "\\<Down>"', - { expr = true, noremap = true, silent = true } -) - --- TABS - --- new tab -vim.keymap.set("n", "<C-t>", ":tabnew<CR>", { noremap = true, silent = true }) --- Map Tab to go to the next tab -vim.keymap.set("n", "<Tab>", ":tabnext<CR>", { noremap = true, silent = true }) --- Map Shift-Tab to go to the previous tab -vim.keymap.set("n", "<S-Tab>", ":tabprevious<CR>", { noremap = true, silent = true }) - --- close tab --- vim.keymap.set('n', '<C-w>', ':tabclose<CR>', { noremap = true, silent = true }) +-- Open netrw +vim.api.nvim_set_keymap("n", "<leader>n", ":Explore<CR>", { noremap = true, silent = true }) --- --- From terminal mode return to normal mode -vim.api.nvim_set_keymap("t", "<C-r>", "<C-\\><C-n>", { noremap = true, silent = true }) +-- Spell check +vim.keymap.set('n', '<Leader>s', function() + vim.o.spell = not vim.o.spell +end, { desc = 'Toggle spell checking' }) -vim.keymap.set("v", "y", "ygv<esc>", { noremap = true, silent = true }) +-- Exit out of terminal mode +-- vim.api.nvim_set_keymap("t", "<C-r>", "<C-\\><C-n>", { noremap = true, silent = true }) +-- Splitting setttings vim.o.splitbelow = true vim.o.splitright = true vim.o.relativenumber = true vim.o.statuscolumn = "%s %l %r" --- stops showing stupid already open message +-- config vim.opt.swapfile = false --- resize windows - -vim.keymap.set("n", "=", [[<cmd>vertical resize +5<cr>]]) -- make the window biger vertically -vim.keymap.set("n", "-", [[<cmd>vertical resize -5<cr>]]) -- make the window smaller vertically -vim.keymap.set("n", "+", [[<cmd>horizontal resize +2<cr>]]) -- make the window bigger horizontally by pressing shift and = -vim.keymap.set("n", "_", [[<cmd>horizontal resize -2<cr>]]) -- make the window smaller horizontally by pressing shift and - - -- buffer navigation +vim.keymap.set("n", "<leader>b<Right>", ":bn<CR>", { noremap = true, silent = true }) -- b + Right Arrow for next buffer +vim.keymap.set("n", "<leader>b<Left>", ":bp<CR>", { noremap = true, silent = true }) -- b + Left Arrow for previous buffer + +-- Ctrl+Backspace to delete the previous word (same as browser... sorry, not sorry) +vim.keymap.set('i', '<C-h>', '<C-w>', { noremap = true, silent = true }) -vim.keymap.set("n", "b<Right>", ":bn<CR>", { noremap = true, silent = true }) -- b + Right Arrow for next buffer -vim.keymap.set("n", "b<Left>", ":bp<CR>", { noremap = true, silent = true }) -- b + Left Arrow for previous buffer diff --git a/lua/core/plugins.lua b/lua/core/plugins.lua @@ -26,6 +26,7 @@ return require("packer").startup(function(use) -- theme use({ "catppuccin/nvim", as = "catppuccin" }) + -- lsp use({ "VonHeikemen/lsp-zero.nvim", @@ -95,4 +96,28 @@ return require("packer").startup(function(use) if packer_bootstrap then require("packer").sync() end + + +-- nvim-cmp configuration for C-p and C-n +local cmp = require('cmp') +cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + end, + }, + mapping = { + ['<C-p>'] = cmp.mapping.select_prev_item(), -- Move to previous suggestion + ['<C-n>'] = cmp.mapping.select_next_item(), -- Move to next suggestion + ['<C-y>'] = cmp.mapping.confirm({ select = true }), -- Confirm selection + ['<C-Space>'] = cmp.mapping.complete(), -- Trigger completion menu + }, + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, + }), +}) + end) + +