neovim configuration
This commit is contained in:
22
lua/config/autocmds.lua
Normal file
22
lua/config/autocmds.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
-- Show floating diagnostic on cursor hold
|
||||
vim.cmd([[
|
||||
set signcolumn=yes
|
||||
autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false })
|
||||
]])
|
||||
|
||||
-- Trigger linting on file save
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
callback = function()
|
||||
require("lint").try_lint()
|
||||
end,
|
||||
})
|
||||
|
||||
-- Markdown specific settings
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
vim.opt_local.wrap = true
|
||||
vim.keymap.set("n", "j", "gj", { buffer = true, desc = "Move down visual line" })
|
||||
vim.keymap.set("n", "k", "gk", { buffer = true, desc = "Move up visual line" })
|
||||
end,
|
||||
})
|
||||
26
lua/config/keymaps.lua
Normal file
26
lua/config/keymaps.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
-- General Operations
|
||||
vim.keymap.set("n", "<leader>w", "<cmd>write<cr>", { desc = "Save file" })
|
||||
vim.keymap.set("n", "<leader>q", "<cmd>quitall<cr>", { desc = "Exit Neovim" })
|
||||
|
||||
-- Window Navigation
|
||||
vim.keymap.set("n", "<leader>h", "<cmd>wincmd h<cr>", { desc = "Move to left split" })
|
||||
vim.keymap.set("n", "<leader>l", "<cmd>wincmd l<cr>", { desc = "Move to right split" })
|
||||
vim.keymap.set("n", "<leader>j", "<cmd>wincmd j<cr>", { desc = "Move to lower split" })
|
||||
vim.keymap.set("n", "<leader>k", "<cmd>wincmd k<cr>", { desc = "Move to upper split" })
|
||||
|
||||
-- Search & Navigation (Mini Pick & Files)
|
||||
vim.keymap.set("n", "<leader>e", "<cmd>lua MiniFiles.open()<cr>", { desc = "Open File Explorer" })
|
||||
vim.keymap.set("n", "<leader><space>", "<cmd>Pick buffers<cr>", { desc = "Search open buffers" })
|
||||
vim.keymap.set("n", "<leader>ff", "<cmd>Pick files<cr>", { desc = "Search all files" })
|
||||
vim.keymap.set("n", "<leader>fh", "<cmd>Pick help<cr>", { desc = "Search help tags" })
|
||||
|
||||
-- Diagnostics Navigation
|
||||
vim.keymap.set("n", "<leader>fd", "<cmd>Pick diagnostic<cr>", { desc = "Search all diagnostics" })
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { desc = "Previous diagnostic" })
|
||||
vim.keymap.set("n", "]e", function()
|
||||
vim.diagnostic.goto_next({ severity = vim.diagnostic.severity.ERROR })
|
||||
end, { desc = "Next error" })
|
||||
vim.keymap.set("n", "[e", function()
|
||||
vim.diagnostic.goto_prev({ severity = vim.diagnostic.severity.ERROR })
|
||||
end, { desc = "Previous error" })
|
||||
14
lua/config/options.lua
Normal file
14
lua/config/options.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
vim.g.mapleader = "," -- Set leader key to comma
|
||||
|
||||
vim.o.number = true -- Show absolute line numbers
|
||||
vim.o.wrap = false -- Disable line wrapping globally
|
||||
vim.o.tabstop = 4 -- Width of a raw <Tab> character
|
||||
vim.o.shiftwidth = 4 -- Number of spaces used for autoindent
|
||||
vim.o.expandtab = true -- Use spaces instead of tabs
|
||||
vim.o.smartcase = true -- Override ignorecase if search contains uppercase
|
||||
vim.o.ignorecase = true -- Case-insensitive searching
|
||||
vim.o.hlsearch = false -- Disable persistent search highlighting
|
||||
vim.o.signcolumn = "yes" -- Always show the sign column (prevents text shifting)
|
||||
vim.o.clipboard = "unnamedplus" -- Sync Neovim with the system clipboard
|
||||
vim.o.undofile = true -- Enable persistent undo history between sessions
|
||||
vim.o.undodir = vim.fn.expand("~/.cache/nvim-undodir") -- Path to store undo history
|
||||
Reference in New Issue
Block a user