From 09a5b2154a23f6895a4fd758171c9b3188965e38 Mon Sep 17 00:00:00 2001 From: kj_sh604 Date: Thu, 4 Jun 2026 21:49:14 -0400 Subject: refactor: iterate neovim config --- .config/nvim/init.lua | 69 ++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 37 deletions(-) (limited to '.config/nvim/init.lua') diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index a20e035..4a265d7 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -10,7 +10,6 @@ vim.cmd [[ Plug 'junegunn/fzf' Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim', { 'branch': '0.1.x' } - Plug 'Pocco81/true-zen.nvim' Plug 'neovim/nvim-lspconfig' Plug 'williamboman/mason.nvim' Plug 'williamboman/mason-lspconfig.nvim' @@ -64,6 +63,29 @@ if vim.env.TERM == "alacritty" then vim.opt.ttymouse = "sgr" end +-- custom functions for keymaps +local term_buf = nil +local toggle_terminal +toggle_terminal = function() + if term_buf and vim.fn.bufexists(term_buf) == 1 then + local win = vim.fn.bufwinnr(term_buf) + if win ~= -1 then + vim.cmd(win .. "close") + return + end + vim.cmd("belowright split") + vim.cmd("resize " .. math.floor(vim.o.lines / 3)) + vim.cmd("buffer " .. term_buf) + vim.cmd("startinsert") + return + end + vim.cmd("belowright split") + vim.cmd("resize " .. math.floor(vim.o.lines / 3)) + vim.cmd("terminal") + vim.cmd("startinsert") + term_buf = vim.api.nvim_get_current_buf() +end + -- custom keymaps local keymap = vim.keymap.set @@ -71,29 +93,20 @@ keymap("v", "", '"+y', { noremap = true }) keymap("v", "", '"+x', { noremap = true }) keymap({ "n", "v" }, "", '"+p', { noremap = true }) keymap({ "n", "v" }, "p", '"+P', { noremap = true }) - keymap("n", "", "zz", { noremap = true }) keymap("n", "", "zz", { noremap = true }) keymap("n", "n", "nzzzv", { noremap = true }) keymap("n", "N", "Nzzzv", { noremap = true }) -keymap("n", "n", ":NERDTreeFocus", { noremap = true }) -keymap("n", "", ":NERDTree", { noremap = true }) -keymap("n", "", ":NERDTreeToggle", { noremap = true }) -keymap("n", "/", ":NERDTreeFind", { noremap = true }) - +keymap("n", "j", ":term", { noremap = true }) +keymap("n", "h", ":NERDTreeToggle", { noremap = true }) +keymap("n", "", "w", { noremap = true }) +keymap("n", "", "W", { noremap = true }) +keymap({"n", "t"}, "j", function() toggle_terminal() end, { noremap = true }) keymap("n", "sc", ":set spell!", { noremap = true, silent = true }) -keymap("n", "", "v", { noremap = true }) -keymap("n", "", "s", { noremap = true }) keymap("n", "", "ZQ", { noremap = true }) keymap("n", "", "ZZ", { noremap = true }) -keymap("n", "", "j", { noremap = true }) -keymap("n", "", "k", { noremap = true }) -keymap("n", "", "l", { noremap = true }) -keymap("n", "", "h", { noremap = true }) -keymap("n", "", "w", { noremap = true }) -keymap("n", "", "W", { noremap = true }) keymap("n", "", "5<", { noremap = true }) keymap("n", "", "5>", { noremap = true }) @@ -193,26 +206,6 @@ if tele_ok then end, {}) end --- truezen -local zen_ok, truezen = pcall(require, "true-zen") -if zen_ok then - keymap("n", "zn", function() - local first = 0 - local last = vim.api.nvim_buf_line_count(0) - truezen.narrow(first, last) - end, { noremap = true }) - - keymap("v", "zn", function() - local first = vim.fn.line("v") - local last = vim.fn.line(".") - truezen.narrow(first, last) - end, { noremap = true }) - - keymap("n", "zf", truezen.focus, { noremap = true }) - keymap("n", "zm", truezen.minimalist, { noremap = true }) - keymap("n", "za", truezen.ataraxis, { noremap = true }) -end - -- lsp vim.diagnostic.config({ update_in_insert = false, @@ -222,11 +215,12 @@ vim.diagnostic.config({ virtual_text = true, }) -keymap("n", "[d", vim.diagnostic.goto_prev, { desc = "diagnostic prev" }) -keymap("n", "]d", vim.diagnostic.goto_next, { desc = "diagnostic next" }) +keymap("n", "[d", function() vim.diagnostic.jump({ count = -1 }) end, { desc = "diagnostic prev" }) +keymap("n", "]d", function() vim.diagnostic.jump({ count = 1 }) end, { desc = "diagnostic next" }) keymap("n", "e", vim.diagnostic.open_float, { desc = "diagnostic float" }) keymap("n", "q", vim.diagnostic.setloclist, { desc = "diagnostic list" }) + vim.api.nvim_create_autocmd("LspAttach", { group = vim.api.nvim_create_augroup("user-lsp-attach", { clear = true }), callback = function(event) @@ -279,6 +273,7 @@ local ok_tools, mason_tool_installer = pcall(require, "mason-tool-installer") -- put lsp servers here to ensure they are installed and configured local servers = { bashls = {}, + clangd = {}, dockerls = {}, docker_compose_language_service = {}, html = {}, -- cgit v1.2.3