96 lines
		
	
	
	
		
			3.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			3.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- Configure Indent Settings
 | |
| vim.cmd("set expandtab")
 | |
| vim.cmd("set tabstop=2")
 | |
| vim.cmd("set softtabstop=2")
 | |
| vim.cmd("set shiftwidth=2")
 | |
| 
 | |
| -- Configure Navigation Keys
 | |
| -- This is all handled by the vim-tmux-navigator plugin now
 | |
| 
 | |
| -- Configure Editor Settings
 | |
| vim.cmd("set number")
 | |
| vim.cmd("set scrolloff=8")
 | |
| vim.cmd("set colorcolumn=80,120")
 | |
| vim.cmd("set splitbelow")
 | |
| vim.cmd("set splitright")
 | |
| vim.cmd("set spl=en_us spell")
 | |
| vim.opt.guifont = "JetBrainsMonoNerdFontMono:14"
 | |
| 
 | |
| -- Configure history
 | |
| vim.opt.undodir = vim.fn.stdpath("state") .. "/nvim/undo"
 | |
| vim.cmd("set undofile")
 | |
| 
 | |
| -- Customize window border
 | |
| vim.diagnostic.config({
 | |
| 	float = {
 | |
| 		border = "single",
 | |
| 	},
 | |
| })
 | |
| 
 | |
| -- Custom Key Binds
 | |
| vim.g.mapleader = " "
 | |
| 
 | |
| -- Init Lazy Plugin Manager
 | |
| require("config.lazy")
 | |
| 
 | |
| -- Configure nvim Keymaps
 | |
| vim.keymap.set("n", "<leader>r", ":source %<CR>", { desc = "Reload Config" })
 | |
| vim.keymap.set("n", "<leader>bs", ":vsplit<CR>", { desc = "Vertical Split" })
 | |
| vim.keymap.set("n", "<leader>vm", ":lua vim.diagnostic.open_float()<CR>", { desc = "Show Diagnostic Message" })
 | |
| 
 | |
| -- Map tab and shift-tab to indent in insert and visual mode
 | |
| vim.api.nvim_set_keymap("i", "<S-Tab>", "<C-d>", { noremap = true, silent = true })
 | |
| vim.api.nvim_set_keymap("v", "<Tab>" , ">gv", { noremap = true, silent = true })
 | |
| vim.api.nvim_set_keymap("v", "<S-Tab>" , "<gv", { noremap = true, silent = true })
 | |
| 
 | |
| -- 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" })
 | |
| 
 | |
| -- Configure Telescope Keymaps
 | |
| local builtin = require("telescope.builtin")
 | |
| vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Find File" })
 | |
| vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Grep Files" })
 | |
| vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "Open Editors" })
 | |
| 
 | |
| -- Init Treesitter Syntax Highlighting
 | |
| --require("config.treesitter")
 | |
| 
 | |
| -- Configure NeoTree (FS View)
 | |
| vim.keymap.set("n", "<leader>ft", ":Neotree filesystem toggle left<CR>")
 | |
| 
 | |
| -- Configure Copilot
 | |
| --vim.keymap.set("n", "<leader>cp", ":Copilot panel<CR>", { desc = "Open Copilot Panel" })
 | |
| 
 | |
| -- 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" })
 | |
| vim.keymap.set("n", "<c-h>", ":BufferPrevious<CR>", { desc = "Previous Buffer" })
 | |
| vim.keymap.set("n", "<c-l>", ":BufferNext<CR>", { desc = "Next Buffer" })
 | |
| 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" })
 | |
| 
 | |
| -- 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)
 |