From 10b08936e4d2b14a1e4ab5c3443323fc73f4499a Mon Sep 17 00:00:00 2001 From: philw Date: Wed, 9 Apr 2025 23:26:15 +0200 Subject: Optimize nvim config Signed-off-by: philw --- init.lua | 99 ++++++++++++++++++++++++++-------------------------------------- 1 file changed, 40 insertions(+), 59 deletions(-) (limited to 'init.lua') diff --git a/init.lua b/init.lua index 7b7114e..f710136 100644 --- a/init.lua +++ b/init.lua @@ -1,6 +1,6 @@ ----@diagnostic disable: undefined-global, +--@diagnostic disable: undefined-global, local option = vim.opt -local keymap = vim.keymap +-- local vim.keymap = vim.vim.keymap local api = vim.api local fn = vim.fn @@ -24,7 +24,7 @@ option.smartindent = true option.ruler = false option.wrap = false option.swapfile = false -option.hlsearch = false +option.hlsearch = true option.incsearch = true option.updatetime = 50 option.laststatus = 0 @@ -53,7 +53,7 @@ api.nvim_create_autocmd( "BufWritePost", { group = "RunPfOnSave", - pattern = {"*.js", "*.ts", "*.jsx", "*.json", "*.tsx", "*.css", "*.html", "*.yaml", "*.md", "*.svelte"}, + pattern = {"*.js", "*.ts", "*.jsx", "*.json", "*.tsx", "*.css", "*.html", "*.yaml", "*.md", "*.svelte, *.lua"}, command = "silent! !prettier --write %" } ) @@ -189,48 +189,26 @@ end vim.opt.rtp:prepend(lazypath) require("lazy").setup({ - { - 'mrcjkb/rustaceanvim', - version = '^5', - lazy = false, - }, - { 'rust-lang/rust.vim' }, - { - "ellisonleao/gruvbox.nvim", - priority = 1000, - config = true, - opts = {}, - }, + { + "ibhagwan/fzf-lua", + opts = {} +}, { "airblade/vim-gitgutter" }, { "norcalli/nvim-colorizer.lua" }, - { "nvim-treesitter/nvim-treesitter" }, { "neovim/nvim-lspconfig", lazy = false, dependencies = { { "ms-jpq/coq_nvim", branch = "coq" }, { "ms-jpq/coq.artifacts", branch = "artifacts" }, - { "williamboman/mason.nvim" }, - { "williamboman/mason-lspconfig.nvim" } }, init = function() - vim.g.coq_settings = { auto_start = "shut-up" } + vim.g.coq_settings = { auto_start = "shut-up", + } end }, - { - "nvim-telescope/telescope.nvim", - lazy = false, - tag = "0.1.5", - dependencies = { "nvim-lua/plenary.nvim" } - }, - { - "nvim-telescope/telescope-fzf-native.nvim", - lazy = true, - build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build", - }, }) -vim.cmd('colorscheme gruvbox') require("colorizer").setup() vim.api.nvim_create_autocmd( @@ -244,16 +222,18 @@ vim.api.nvim_create_autocmd( local lsp_servers = {} -require("mason").setup({ - ui = { - icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗" - } - } +require('lspconfig').clangd.setup({ + filetypes = { "c", "cpp", "objc", "objcpp" }, +}) +require('lspconfig').svelte.setup({ + filetypes = { "svelte" }, +}) +require('lspconfig').ts_ls.setup({ + filetypes = { "typescript", "typescriptreact", "javascript", "javascriptreact" }, +}) +require('lspconfig').rust_analyzer.setup({ + filetypes = { "rust" }, }) - local server_maps = function(opts) end @@ -275,28 +255,29 @@ set_highlights() vim.g.mapleader = " " -keymap.set("n", "e", ToggleVExplorer, {desc = "Toggle VExplorer"}) -keymap.set("n", "z", [[:%s/\<\>//gI]]) -keymap.set("n", "a", "ggVG") -keymap.set("n", "y", "cc") -keymap.set("n", "", "yy") -keymap.set("n", "", "p") -keymap.set("n", "", "u") -keymap.set("v", "J", ":m '>+1gv=gv") -keymap.set("n", "j", "5j") -keymap.set("n", "k", "5k") -keymap.set("v", "K", ":m '<-2gv=gv") -keymap.set("n", "f", "Telescope find_files") -keymap.set("n", "g", "Telescope live_grep") -keymap.set("n", "d", vim.lsp.buf.definition, opts) -keymap.set("n", "k", vim.lsp.buf.hover, opts) -keymap.set('n', 'r', color_mode, {desc = "Change mode light/dark"}) -keymap.set("n", "t", function() +vim.keymap.set("n", "e", ToggleVExplorer, {desc = "Toggle VExplorer"}) +vim.keymap.set("n", "z", [[:%s/\<\>//gI]]) +vim.keymap.set("n", "a", "ggVG") +vim.keymap.set("n", "y", "cc") +vim.keymap.set("n", "", "yy") +vim.keymap.set("n", "", "p") +vim.keymap.set("n", "", "u") +vim.keymap.set("v", "J", ":m '>+1gv=gv") +vim.keymap.set("n", "j", "5j") +vim.keymap.set("n", "k", "5k") +vim.keymap.set("v", "K", ":m '<-2gv=gv") +vim.keymap.set("n", "f", "FzfLua files") +vim.keymap.set("n", "F", "FzfLua live_grep", { noremap = true, silent = true }) +vim.keymap.set("n", "b", "FzfLua buffers") +vim.keymap.set("n", "d", vim.lsp.buf.definition, opts) +vim.keymap.set("n", "k", vim.lsp.buf.hover, opts) +vim.keymap.set('n', 'r', color_mode, {desc = "Change mode light/dark"}) +vim.keymap.set("n", "t", function() vim.cmd("terminal") vim.cmd("startinsert") end, { desc = "Open terminal in current window" }) -keymap.set('t', '', function() +vim.keymap.set('t', '', function() vim.cmd([[stopinsert]]) vim.cmd([[b#]]) end, { noremap = true, silent = true }) -- cgit v1.2.3