| 
									
										
										
										
											2025-05-15 19:44:35 -07:00
										 |  |  | -- Configure Indent Settings | 
					
						
							|  |  |  | vim.cmd("set expandtab") | 
					
						
							|  |  |  | vim.cmd("set tabstop=2") | 
					
						
							|  |  |  | vim.cmd("set softtabstop=2") | 
					
						
							|  |  |  | vim.cmd("set shiftwidth=2") | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-16 17:52:32 -07:00
										 |  |  | -- Configure Navigation Keys | 
					
						
							| 
									
										
										
										
											2025-07-11 17:51:56 -07:00
										 |  |  | -- This is all handled by the vim-tmux-navigator plugin now | 
					
						
							| 
									
										
										
										
											2025-05-16 17:52:32 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-15 19:44:35 -07:00
										 |  |  | -- Configure Editor Settings | 
					
						
							|  |  |  | vim.cmd("set number") | 
					
						
							| 
									
										
										
										
											2025-06-03 19:32:34 -07:00
										 |  |  | vim.cmd("set scrolloff=8") | 
					
						
							| 
									
										
										
										
											2025-06-10 11:48:29 -07:00
										 |  |  | vim.cmd("set colorcolumn=80,120") | 
					
						
							| 
									
										
										
										
											2025-06-03 08:34:58 -07:00
										 |  |  | vim.cmd("set splitbelow") | 
					
						
							|  |  |  | vim.cmd("set splitright") | 
					
						
							| 
									
										
										
										
											2025-06-01 20:22:28 -07:00
										 |  |  | vim.cmd("set spl=en_us spell") | 
					
						
							| 
									
										
										
										
											2025-05-15 19:44:35 -07:00
										 |  |  | vim.opt.guifont = "JetBrainsMonoNerdFontMono:14" | 
					
						
							| 
									
										
										
										
											2025-06-03 19:32:34 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-11 09:23:53 -07:00
										 |  |  | -- Configure history | 
					
						
							|  |  |  | vim.opt.undodir = vim.fn.stdpath("state") .. "/nvim/undo" | 
					
						
							|  |  |  | vim.cmd("set undofile") | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-03 23:01:31 -07:00
										 |  |  | -- Customize window border | 
					
						
							|  |  |  | vim.diagnostic.config({ | 
					
						
							| 
									
										
										
										
											2025-06-17 22:45:55 -07:00
										 |  |  | 	float = { | 
					
						
							|  |  |  | 		border = "single", | 
					
						
							|  |  |  | 	}, | 
					
						
							| 
									
										
										
										
											2025-06-11 09:23:53 -07:00
										 |  |  | }) | 
					
						
							| 
									
										
										
										
											2025-06-03 23:01:31 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-15 19:44:35 -07:00
										 |  |  | -- Custom Key Binds | 
					
						
							|  |  |  | vim.g.mapleader = " " | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | -- Init Lazy Plugin Manager | 
					
						
							|  |  |  | require("config.lazy") | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-03 08:34:58 -07:00
										 |  |  | -- Configure nvim Keymaps | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>r", ":source %<CR>", { desc = "Reload Config" }) | 
					
						
							| 
									
										
										
										
											2025-06-03 19:32:34 -07:00
										 |  |  | vim.keymap.set("n", "<leader>bs", ":vsplit<CR>", { desc = "Vertical Split" }) | 
					
						
							| 
									
										
										
										
											2025-06-03 23:01:31 -07:00
										 |  |  | vim.keymap.set("n", "<leader>vm", ":lua vim.diagnostic.open_float()<CR>", { desc = "Show Diagnostic Message" }) | 
					
						
							| 
									
										
										
										
											2025-06-11 09:23:53 -07:00
										 |  |  | vim.api.nvim_set_keymap("i", "<S-Tab>", "<C-d>", { noremap = true, silent = true }) | 
					
						
							| 
									
										
										
										
											2025-06-03 19:32:34 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | -- remap yank to system clipboard | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>y", '"+y', { desc = "Yank to Clipboard" }) | 
					
						
							|  |  |  | vim.keymap.set("v", "<leader>y", '"+y', { desc = "Yank to Clipboard" }) | 
					
						
							| 
									
										
										
										
											2025-06-03 08:34:58 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-15 19:44:35 -07:00
										 |  |  | -- Configure Telescope Keymaps | 
					
						
							|  |  |  | local builtin = require("telescope.builtin") | 
					
						
							| 
									
										
										
										
											2025-06-11 09:23:53 -07:00
										 |  |  | vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Find File" }) | 
					
						
							| 
									
										
										
										
											2025-06-03 08:34:58 -07:00
										 |  |  | vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Grep Files" }) | 
					
						
							| 
									
										
										
										
											2025-05-29 21:25:04 -07:00
										 |  |  | vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "Open Editors" }) | 
					
						
							| 
									
										
										
										
											2025-05-15 19:44:35 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | -- Init Treesitter Syntax Highlighting | 
					
						
							|  |  |  | --require("config.treesitter") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | -- Configure NeoTree (FS View) | 
					
						
							| 
									
										
										
										
											2025-06-03 08:34:58 -07:00
										 |  |  | vim.keymap.set("n", "<leader>ft", ":Neotree filesystem toggle left<CR>") | 
					
						
							| 
									
										
										
										
											2025-05-16 17:52:32 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-03 08:34:58 -07:00
										 |  |  | -- Configure Copilot | 
					
						
							|  |  |  | --vim.keymap.set("n", "<leader>cp", ":Copilot panel<CR>", { desc = "Open Copilot Panel" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>ce", ":Copilot enable<CR>", { desc = "Enable Copilot Completions" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>cd", ":Copilot disable<CR>", { desc = "Disable Copilot Completions" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>cc", ":CopilotChatToggle<CR>", { desc = "Toggle Copilot Chat" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>cx", ":CopilotChatReset<CR>", { desc = "Reset Copilot Chat" }) | 
					
						
							| 
									
										
										
										
											2025-06-15 19:18:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-17 22:45:55 -07:00
										 |  |  | -- Configure Buffer Navigation | 
					
						
							|  |  |  | vim.keymap.set("n", "<A-left>", ":BufferPrevious<CR>", { desc = "Previous Buffer" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<A-right>", ":BufferNext<CR>", { desc = "Next Buffer" }) | 
					
						
							| 
									
										
										
										
											2025-07-11 09:44:14 -07:00
										 |  |  | vim.keymap.set("n", "<c-h>", ":BufferPrevious<CR>", { desc = "Previous Buffer" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<c-l>", ":BufferNext<CR>", { desc = "Next Buffer" }) | 
					
						
							| 
									
										
										
										
											2025-06-17 22:45:55 -07:00
										 |  |  | vim.keymap.set("n", "<leader>bq", ":BufferClose<CR>", { desc = "Close Buffer" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>bQ", ":BufferWipeout<CR>", { desc = "Wipeout Buffer" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<A-q>", ":BufferClose<CR>", { desc = "Close Buffer" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>bp", ":BufferPrevious<CR>", { desc = "Previous Buffer" }) | 
					
						
							|  |  |  | vim.keymap.set("n", "<leader>bn", ":BufferNext<CR>", { desc = "Next Buffer" }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-15 19:18:36 -07:00
										 |  |  | -- Configure f-key shortcuts | 
					
						
							|  |  |  | vim.keymap.set("n", "<F1>", vim.lsp.buf.hover) | 
					
						
							|  |  |  | vim.keymap.set("i", "<F1>", vim.lsp.buf.hover) | 
					
						
							|  |  |  | vim.keymap.set("n", "<F2>", vim.lsp.buf.rename) | 
					
						
							|  |  |  | vim.keymap.set("i", "<F2>", vim.lsp.buf.rename) | 
					
						
							|  |  |  | vim.keymap.set("n", "<F3>", "<c-i>") | 
					
						
							|  |  |  | vim.keymap.set("i", "<F3>", "<c-i>") | 
					
						
							|  |  |  | vim.keymap.set("n", "<S-F3>", "<c-o>") | 
					
						
							|  |  |  | vim.keymap.set("i", "<S-F3>", "<c-o>") | 
					
						
							|  |  |  | vim.keymap.set("n", "<F4>", ":BufferClose<CR>") | 
					
						
							|  |  |  | vim.keymap.set("i", "<F4>", ":BufferClose<CR>") | 
					
						
							|  |  |  | vim.keymap.set("n", "<F7>", ":Gitsigns next_hunk<CR>") | 
					
						
							|  |  |  | vim.keymap.set("i", "<F7>", ":Gitsigns next_hunk<CR>") | 
					
						
							|  |  |  | vim.keymap.set("n", "<S-F7>", ":Gitsigns prev_hunk<CR>") | 
					
						
							|  |  |  | vim.keymap.set("i", "<S-F7>", ":Gitsigns prev_hunk<CR>") | 
					
						
							|  |  |  | vim.keymap.set("n", "<F8>", vim.diagnostic.goto_next) | 
					
						
							|  |  |  | vim.keymap.set("i", "<F8>", vim.diagnostic.goto_next) | 
					
						
							|  |  |  | vim.keymap.set("n", "<S-F8>", vim.diagnostic.goto_prev) | 
					
						
							|  |  |  | vim.keymap.set("i", "<S-F8>", vim.diagnostic.goto_prev) | 
					
						
							|  |  |  | vim.keymap.set("n", "<F12>", vim.lsp.buf.definition) | 
					
						
							|  |  |  | vim.keymap.set("i", "<F12>", vim.lsp.buf.definition) |