From 9365a8e96827cbf7bc5adad6d29bcd05b4d761b2 Mon Sep 17 00:00:00 2001 From: bee Date: Tue, 5 May 2026 22:37:10 +0530 Subject: Migrate from nixcats to nix-wrapper-modules --- plugin/keymaps.lua | 40 ++++++++++++++++++ plugin/opts.lua | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 158 insertions(+) create mode 100644 plugin/keymaps.lua create mode 100644 plugin/opts.lua (limited to 'plugin') diff --git a/plugin/keymaps.lua b/plugin/keymaps.lua new file mode 100644 index 0000000..c22f149 --- /dev/null +++ b/plugin/keymaps.lua @@ -0,0 +1,40 @@ +vim.keymap.set("v", "J", ":m '>+1gv=gv", { desc = "Moves Line Down" }) +vim.keymap.set("v", "K", ":m '<-2gv=gv", { desc = "Moves Line Up" }) +vim.keymap.set("n", "", "zz", { desc = "Scroll Down" }) +vim.keymap.set("n", "", "zz", { desc = "Scroll Up" }) +vim.keymap.set("n", "n", "nzzzv", { desc = "Next Search Result" }) +vim.keymap.set("n", "N", "Nzzzv", { desc = "Previous Search Result" }) + +vim.keymap.set("n", "[", "bprev", { desc = "Previous buffer" }) +vim.keymap.set("n", "]", "bnext", { desc = "Next buffer" }) +vim.keymap.set("n", "l", "b#", { desc = "Last buffer" }) +vim.keymap.set("n", "d", "bdelete", { desc = "delete buffer" }) + +-- Remap for dealing with word wrap +vim.keymap.set("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) +vim.keymap.set("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) + +-- Diagnostic keymaps +vim.keymap.set("n", "e", vim.diagnostic.open_float, { desc = "Open floating diagnostic message" }) +vim.keymap.set("n", "q", vim.diagnostic.setloclist, { desc = "Open diagnostics list" }) + +vim.keymap.set({ "v", "x", "n" }, "y", '"+y', { noremap = true, silent = true, desc = "Yank to clipboard" }) +vim.keymap.set( + { "n", "v", "x" }, + "Y", + '"+yy', + { noremap = true, silent = true, desc = "Yank line to clipboard" } +) +vim.keymap.set({ "n", "v", "x" }, "p", '"+p', { noremap = true, silent = true, desc = "Paste from clipboard" }) +vim.keymap.set( + "i", + "", + "+", + { noremap = true, silent = true, desc = "Paste from clipboard from within insert mode" } +) +vim.keymap.set( + "x", + "P", + '"_dP', + { noremap = true, silent = true, desc = "Paste over selection without erasing unnamed register" } +) diff --git a/plugin/opts.lua b/plugin/opts.lua new file mode 100644 index 0000000..942443a --- /dev/null +++ b/plugin/opts.lua @@ -0,0 +1,118 @@ +-- vim.opt.list = true +-- vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } +-- vim.opt.listchars:append("space:⋅") +-- Set highlight on search +-- vim.opt.hlsearch = false + +require("vim._core.ui2").enable() +vim.cmd.packadd("nvim.undotree") +-- vim.cmd.packadd("nvim.difftool") + +vim.o.showmode = false +vim.o.showcmd = false +vim.o.winborder = "single" + +vim.opt.hlsearch = true +vim.keymap.set("n", "", "nohlsearch") + +-- Preview substitutions live, as you type! +vim.opt.inccommand = "split" + +-- Minimal number of screen lines to keep above and below the cursor. +vim.opt.scrolloff = 3 + +-- Make line numbers default +vim.wo.number = true +vim.o.cursorline = true + +-- Disable mouse mode +vim.o.mouse = "" + +-- Indent +vim.o.smarttab = true +-- vim.o.smartindent = true +-- vim.o.indentexpr = true +vim.o.autoindent = true +vim.opt.cpoptions:append("I") +vim.o.tabstop = 4 +vim.o.softtabstop = 4 +vim.o.shiftwidth = 4 +vim.o.expandtab = true + +-- stops line wrapping from being confusing +vim.o.wrap = true +vim.o.linebreak = true +vim.o.breakindent = true + +-- Save undo history +vim.o.undofile = false +vim.o.title = true +vim.o.swapfile = false + +-- Case-insensitive searching UNLESS \C or capital in search +vim.o.ignorecase = true +vim.o.smartcase = true + +-- Keep signcolumn on by default +vim.wo.signcolumn = "yes" +vim.wo.relativenumber = true +vim.opt.lazyredraw = true + +-- Decrease update time +vim.o.updatetime = 250 +vim.o.timeoutlen = 300 + +-- Set completeopt to have a better completion experience +vim.o.completeopt = "menu,preview,noselect" + +-- NOTE: You should make sure your terminal supports this +vim.o.termguicolors = true + +-- remove empty buffer text +vim.opt.shortmess:append("I") + +vim.g.netrw_liststyle = 0 +vim.g.netrw_banner = 0 + +-- [[ Highlight on yank ]] +-- See `:help vim.highlight.on_yank()` +local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true }) +vim.api.nvim_create_autocmd("TextYankPost", { + callback = function() + vim.hl.on_yank() + end, + group = highlight_group, + pattern = "*", +}) + +local augroup = vim.api.nvim_create_augroup("UserConfig", {}) + +-- [[ Disable auto comment on enter ]] +-- See :help formatoptions +vim.api.nvim_create_autocmd("FileType", { + desc = "remove formatoptions", + group = augroup, + callback = function() + vim.opt.formatoptions:remove({ "c", "r", "o" }) + end, +}) + +vim.api.nvim_create_autocmd("FileType", { + group = augroup, + pattern = "help", + callback = function() + vim.bo.bufhidden = "unload" + vim.cmd.wincmd("L") + end, +}) + +-- -- Create directories when saving files +-- vim.api.nvim_create_autocmd("BufWritePre", { +-- group = augroup, +-- callback = function() +-- local dir = vim.fn.expand(':p:h') +-- if vim.fn.isdirectory(dir) == 0 then +-- vim.fn.mkdir(dir, 'p') +-- end +-- end, +-- }) -- cgit v1.3.1