From 12fb9ecc242867b03626d1c52e5e84799ab330c8 Mon Sep 17 00:00:00 2001 From: zachir Date: Thu, 17 Apr 2025 22:59:36 -0500 Subject: Redo nvim to use init.lua --- nvim/lua/plugins.lua | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 nvim/lua/plugins.lua (limited to 'nvim/lua/plugins.lua') diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua new file mode 100644 index 0000000..0801939 --- /dev/null +++ b/nvim/lua/plugins.lua @@ -0,0 +1,106 @@ +local lazypath = vim.fn.stdpath("data") .. "lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable rtelease + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + "tanvirtin/monokai.nvim", + 'preservim/nerdtree', + 'ziglang/zig.vim', + "lervag/vimtex", + 'tomasiser/vim-code-dark', + 'flazz/vim-colorschemes', + 'tomasiser/vim-code-dark', + 'flazz/vim-colorschemes', + 'ZachIndigo/vim-preglow', + 'axvr/org.vim', + 'ziglang/zig.vim', + 'jdonaldson/vaxe', + 'xuhdev/vim-latex-live-preview', + 'waycrate/swhkd-vim', + 'HiPhish/guile.vim', + 'preservim/nerdtree', + 'Xuyuanp/nerdtree-git-plugin', + 'PhilRunninger/nerdtree-visual-selection', + 'tpope/vim-fugitive', + 'junegunn/goyo.vim', + 'junegunn/limelight.vim', + 'vim-airline/vim-airline', + 'nathanaelkane/vim-indent-guides', + 'mhinz/vim-signify', + 'tpope/vim-endwise', + 'tpope/vim-surround', + 'mattn/emmet-vim', + 'godlygeek/tabular', + 'plasticboy/vim-markdown', + 'ryanoasis/vim-devicons', + {'akinsho/toggleterm.nvim', version = "*", config = true}, +}) + +-------------------- +-- Plugin Options -- +-------------------- + +-- emmet +vim.g.user_emmet_leader_key='' + +-- zig config +vim.g.zig_fmt_autosave = 1 + +-- latex live preview +vim.g.livepreview_previewer = 'zathura' +vim.g.livepreview_use_biber = 1 +vim.g.livepreview_cursorhold_recompile = 0 + +-- vim-markdown +vim.g.vim_markdown_folding_disabled = 1 +vim.g.vim_markdown_folding_level = 3 +vim.g.vim_markdown_toc_autofit = 1 +vim.g.vim_markdown_emphasis_multiline = 0 +vim.g.tex_conceal = "" +vim.g.vim_markdown_math = 1 +vim.g.vim_markdown_conceal_code_blocks = 1 +vim.g.vim_markdown_fenced_languages = { 'c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini' } +vim.g.vim_markdown_follow_anchor = 1 +vim.g.vim_markdown_math = 1 +vim.g.vim_markdown_frontmatter = 1 +vim.g.vim_markdown_toml_frontmatter = 1 +vim.g.vim_markdown_strikethrough = 1 +vim.g.vim_markdown_no_extensions_in_markdown = 1 +vim.g.vim_markdown_autowrite = 1 +vim.g.vim_markdown_auto_insert_bullets = 0 +vim.g.vim_markdown_new_list_item_indent = 0 +vim.g.vim_markdown_edit_url_in = 'tab' + +-- NERDTree config +vim.g.NERDTreeGitStatusUseNerdFonts = 1 -- use nerd fonts +vim.g.NERDTreeGitStatusShowClean = 1 -- default: 0 +vim.g.NERDTreeDirArrowExpandable = '>' +vim.g.NERDTreeDirArrowCollapsible = '<' +vim.g.NERDTreeMapToggleHidden = 'z' + +-- Goyo config +vim.g.goyo_width = '90%' +vim.g.goyo_height = '100%' + +-- limelight config +vim.g.limelight_conceal_ctermfg = 'gray' +vim.g.limelight_conceal_guifg = 'gray' + +-- devicon config +vim.g.airline_powerline_fonts = 1 +vim.g.webdevicons_enable_nerdtree = 1 + +-- vim-indent-guides config +vim.g.indent_guides_enable_on_vim_startup = 0 + +-- vim-signify config +vim.opt.updatetime=100 -- cgit v1.2.3 From 7811be6ae04782a054868529d5c3e8a3f22179e4 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sun, 29 Jun 2025 13:45:14 -0500 Subject: Add lsp to neovim --- nvim/init.lua | 1 + nvim/lua/lsp.lua | 22 ++++++++++++++++++++++ nvim/lua/plugins.lua | 20 ++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 nvim/lua/lsp.lua (limited to 'nvim/lua/plugins.lua') diff --git a/nvim/init.lua b/nvim/init.lua index cf11420..4b295d5 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,5 +1,6 @@ require('options') require('keymaps') +require('lsp') require('plugins') require('colorscheme') require('term') diff --git a/nvim/lua/lsp.lua b/nvim/lua/lsp.lua new file mode 100644 index 0000000..343c76b --- /dev/null +++ b/nvim/lua/lsp.lua @@ -0,0 +1,22 @@ +-- Remove Global Default Key mapping +vim.keymap.del("n", "grn") +vim.keymap.del("n", "gra") +vim.keymap.del("n", "grr") +vim.keymap.del("n", "gri") +vim.keymap.del("n", "gO") + +-- Create keymapping +-- LspAttach: After an LSP Client performs "initialize" and attaches to a buffer. +vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + local keymap = vim.keymap + local lsp = vim.lsp + local bufopts = { noremap = true, silent = true } + + keymap.set("n", "gr", lsp.buf.references, bufopts) + keymap.set("n", "gd", lsp.buf.definition, bufopts) + keymap.set("n", "rn", lsp.buf.rename, bufopts) + keymap.set("n", "K", lsp.buf.hover, bufopts) + keymap.set("n", "f", lsp.buf.format, bufopts) + end +}) diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua index 0801939..8056494 100644 --- a/nvim/lua/plugins.lua +++ b/nvim/lua/plugins.lua @@ -12,6 +12,26 @@ end vim.opt.rtp:prepend(lazypath) require("lazy").setup({ + -- LSP manager + { "mason-org/mason.nvim", opts = {} }, + { + "mason-org/mason-lspconfig.nvim", + dependencies = { + "mason-org/mason.nvim", + "neovim/nvim-lspconfig", + }, + opts = { + ensure_installed = { "pylsp", "clangd", "rust_analyzer", "zls" }, + }, + }, + { + "neovim/nvim-lspconfig", + config = function() + local lspconfig = require("lspconfig") + + lspconfig.pylsp.setup({}) + end, + }, "tanvirtin/monokai.nvim", 'preservim/nerdtree', 'ziglang/zig.vim', -- cgit v1.2.3 From 6c75a83e941500619b5499b5d4763c8dab2c93b6 Mon Sep 17 00:00:00 2001 From: Zach Smith Date: Mon, 30 Jun 2025 09:49:02 -0500 Subject: Reorganize nvim config, remove redundant plugin calls --- nvim/lua/keymaps.lua | 2 +- nvim/lua/options.lua | 54 ++++++++++++++++++++++++++++++++++++++++++ nvim/lua/plugins.lua | 66 +--------------------------------------------------- 3 files changed, 56 insertions(+), 66 deletions(-) (limited to 'nvim/lua/plugins.lua') diff --git a/nvim/lua/keymaps.lua b/nvim/lua/keymaps.lua index 26037c6..4f4a489 100644 --- a/nvim/lua/keymaps.lua +++ b/nvim/lua/keymaps.lua @@ -11,7 +11,7 @@ vim.g.mapleader = "'" -- Normal mode -- ----------------- --- Hint: set `:h vim.map.set()` +-- Hint: see `:h vim.map.set()` -- Better window navigation vim.keymap.set('n', '', 'h', opts) vim.keymap.set('n', '', 'j', opts) diff --git a/nvim/lua/options.lua b/nvim/lua/options.lua index 1d4826e..ae802be 100644 --- a/nvim/lua/options.lua +++ b/nvim/lua/options.lua @@ -8,6 +8,8 @@ vim.opt.tabstop = 2 -- number of visual spaces per TAB vim.opt.softtabstop = 2 -- number of spaces in tab when editing vim.opt.shiftwidth = 2 -- insert 2 spaces on a tab vim.opt.expandtab = true -- tabs are spaces +vim.opt.smartindent = true +vim.opt.smarttab = true -- UI config vim.opt.number = true -- show absolute number @@ -30,3 +32,55 @@ vim.opt.undolevels = 1000 -- Number of undo levels vim.opt.backspace = { "indent", "eol", "start" } -- Backspace behavior vim.opt.foldmethod = "marker" vim.opt.conceallevel = 2 + +-- Plugins +-- emmet +vim.g.user_emmet_leader_key = '' + +-- zig +vim.g.zig_fmt_autosave = 1 + +-- markdown +vim.g.vim_markdown_folding_disabled = 1 +vim.g.vim_markdown_folding_level = 3 +vim.g.vim_markdown_toc_autofit = 1 +vim.g.vim_markdown_emphasis_multiline = 0 +vim.g.tex_conceal = "" +vim.g.vim_markdown_math = 1 +vim.g.vim_markdown_conceal_code_blocks = 1 +vim.g.vim_markdown_fenced_languages = { 'c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini' } +vim.g.vim_markdown_follow_anchor = 1 +vim.g.vim_markdown_math = 1 +vim.g.vim_markdown_frontmatter = 1 +vim.g.vim_markdown_toml_frontmatter = 1 +vim.g.vim_markdown_strikethrough = 1 +vim.g.vim_markdown_no_extensions_in_markdown = 1 +vim.g.vim_markdown_autowrite = 1 +vim.g.vim_markdown_auto_insert_bullets = 0 +vim.g.vim_markdown_new_list_item_indent = 0 +vim.g.vim_markdown_edit_url_in = 'tab' + +-- NERDTree +vim.g.NERDTreeGitStatusUseNerdFonts = 1 +vim.g.NERDTreeGitStatusShowClean = 1 +vim.g.NERDTreeDirArrowExpandable = '>' +vim.g.NERDTreeDirArrowCollapsible = '<' +vim.g.NERDTreeMapToggleHidden = 'z' + +-- goyo +vim.g.goyo_width = '90%' +vim.g.goyo_height = '100%' + +-- limelight +vim.g.limelight_conceal_ctermfg = 'gray' +vim.g.limelight_conceal_guifg = 'gray' + +-- devicon +vim.g.airline_powerline_fonts = 1 +vim.g.webdevicons_enable_nerdtree = 1 + +-- vim-indent-guides +vim.g.indent_guides_enable_on_vim_startup = 0 + +-- vim-signify +vim.opt.updatetime = 100 diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua index 8056494..f90b09c 100644 --- a/nvim/lua/plugins.lua +++ b/nvim/lua/plugins.lua @@ -5,7 +5,7 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", - "--branch=stable", -- latest stable rtelease + "--branch=stable", -- latest stable release lazypath, }) end @@ -33,13 +33,9 @@ require("lazy").setup({ end, }, "tanvirtin/monokai.nvim", - 'preservim/nerdtree', - 'ziglang/zig.vim', "lervag/vimtex", 'tomasiser/vim-code-dark', 'flazz/vim-colorschemes', - 'tomasiser/vim-code-dark', - 'flazz/vim-colorschemes', 'ZachIndigo/vim-preglow', 'axvr/org.vim', 'ziglang/zig.vim', @@ -64,63 +60,3 @@ require("lazy").setup({ 'ryanoasis/vim-devicons', {'akinsho/toggleterm.nvim', version = "*", config = true}, }) - --------------------- --- Plugin Options -- --------------------- - --- emmet -vim.g.user_emmet_leader_key='' - --- zig config -vim.g.zig_fmt_autosave = 1 - --- latex live preview -vim.g.livepreview_previewer = 'zathura' -vim.g.livepreview_use_biber = 1 -vim.g.livepreview_cursorhold_recompile = 0 - --- vim-markdown -vim.g.vim_markdown_folding_disabled = 1 -vim.g.vim_markdown_folding_level = 3 -vim.g.vim_markdown_toc_autofit = 1 -vim.g.vim_markdown_emphasis_multiline = 0 -vim.g.tex_conceal = "" -vim.g.vim_markdown_math = 1 -vim.g.vim_markdown_conceal_code_blocks = 1 -vim.g.vim_markdown_fenced_languages = { 'c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini' } -vim.g.vim_markdown_follow_anchor = 1 -vim.g.vim_markdown_math = 1 -vim.g.vim_markdown_frontmatter = 1 -vim.g.vim_markdown_toml_frontmatter = 1 -vim.g.vim_markdown_strikethrough = 1 -vim.g.vim_markdown_no_extensions_in_markdown = 1 -vim.g.vim_markdown_autowrite = 1 -vim.g.vim_markdown_auto_insert_bullets = 0 -vim.g.vim_markdown_new_list_item_indent = 0 -vim.g.vim_markdown_edit_url_in = 'tab' - --- NERDTree config -vim.g.NERDTreeGitStatusUseNerdFonts = 1 -- use nerd fonts -vim.g.NERDTreeGitStatusShowClean = 1 -- default: 0 -vim.g.NERDTreeDirArrowExpandable = '>' -vim.g.NERDTreeDirArrowCollapsible = '<' -vim.g.NERDTreeMapToggleHidden = 'z' - --- Goyo config -vim.g.goyo_width = '90%' -vim.g.goyo_height = '100%' - --- limelight config -vim.g.limelight_conceal_ctermfg = 'gray' -vim.g.limelight_conceal_guifg = 'gray' - --- devicon config -vim.g.airline_powerline_fonts = 1 -vim.g.webdevicons_enable_nerdtree = 1 - --- vim-indent-guides config -vim.g.indent_guides_enable_on_vim_startup = 0 - --- vim-signify config -vim.opt.updatetime=100 -- cgit v1.2.3