commit 37a2fd801c1468fcf6f86d7dd852c97713a858df
parent 8882e17db3f66773170a57a3daa9cee79253752a
Author: Andrew <andrewlaack1@gmail.com>
Date: Tue, 26 Nov 2024 09:49:56 -0600
Backup
Diffstat:
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)
+
+