My LunarVim Config (2023)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local opts = {} | |
lvim.log.level = "warn" | |
lvim.leader = "space" | |
lvim.colorscheme = "no-clown-fiesta" | |
lvim.builtin.cmp.experimental.ghost_text = false | |
lvim.keys.normal_mode["<C-s>"] = ":w<cr>" | |
lvim.keys.normal_mode["<S-h>"] = ":BufferLineCyclePrev<CR>" | |
lvim.keys.normal_mode["<S-l>"] = ":BufferLineCycleNext<CR>" | |
lvim.builtin.alpha.active = true | |
lvim.builtin.alpha.mode = "dashboard" | |
lvim.builtin.terminal.active = true | |
lvim.builtin.nvimtree.setup.view.side = "left" | |
lvim.builtin.nvimtree.setup.renderer.icons.show.git = false | |
lvim.format_on_save = true | |
lvim.lsp.null_ls.setup.debug = true | |
-- WhichKey | |
lvim.builtin.which_key.mappings["u"] = { | |
name = "Session", | |
c = { | |
"<cmd>lua require('persistence').load()<cr>", | |
"Restore last session for current dir" | |
}, | |
l = { | |
"<cmd>lua require('persistence').load({ last = true })<cr>", | |
"Restore last session" | |
}, | |
Q = { | |
"<cmd>lua require('persistence').stop()<cr>", | |
"Quit without saving session" | |
} | |
} | |
lvim.builtin.which_key.mappings["S"] = { | |
"<cmd>:SymbolsOutline<cr>", "Symbols Outline" | |
} | |
-- LSP | |
require("lvim.lsp.null-ls.formatters").setup({ | |
{ | |
name = "prettierd", | |
filetypes = { | |
"svelte", "typescript", "typescriptreact", "javascript", "tsx", | |
"javascriptreact", "html", "json" | |
} | |
}, {name = "prismaFmt"}, {name = "lua_format"} | |
}) | |
require("lvim.lsp.null-ls.linters").setup { | |
{ | |
name = "eslint_d", | |
filetypes = { | |
"svelte", "typescript", "typescriptreact", "javascript", | |
"javascriptreact" | |
} | |
} | |
} | |
-- Formatter/lint overrides | |
require("lvim.lsp.manager").setup("tailwindcss", opts) | |
require("lvim.lsp.manager").setup("golangci_lint_ls", opts) | |
require("lvim.lsp.manager").setup("eslint_d", opts) | |
-- Vim overrides | |
vim.opt.relativenumber = true -- set relative numbered lines | |
vim.g.copilot_no_tab_map = true | |
vim.g.copilot_assume_mapped = true | |
vim.api.nvim_set_keymap("i", "<C-l>", 'copilot#Accept("")', | |
{expr = true, silent = true}) | |
vim.keymap.set("i", "jk", "<Esc>") | |
vim.opt.timeoutlen = 500 | |
-- Treesitter | |
lvim.builtin.treesitter.ensure_installed = { | |
"bash", "c", "javascript", "json", "lua", "python", "typescript", "tsx", | |
"css", "rust", "java", "yaml", "go", "svelte" | |
} | |
lvim.builtin.treesitter.ignore_install = {"haskell"} | |
lvim.builtin.treesitter.highlight.enabled = true | |
-- Additional Plugins | |
lvim.plugins = { | |
{'github/copilot.vim'}, {"tpope/vim-repeat"}, | |
{'ray-x/go.nvim', config = require('go').setup()}, {'ray-x/guihua.lua'}, { | |
"ggandor/leap.nvim", | |
event = "BufRead", | |
config = require('leap').add_default_mappings() | |
}, { | |
"simrat39/symbols-outline.nvim", | |
config = function() require('symbols-outline').setup() end | |
}, { | |
"folke/todo-comments.nvim", | |
event = "BufRead", | |
config = function() require("todo-comments").setup() end | |
}, {"tpope/vim-surround"}, { | |
"windwp/nvim-ts-autotag", | |
config = function() require("nvim-ts-autotag").setup() end | |
}, {"p00f/nvim-ts-rainbow"}, {'fatih/vim-go'}, { | |
"olimorris/onedarkpro.nvim", | |
config = require("onedarkpro").setup { | |
colors = {onedark = {bg = "#1e2127"}}, | |
options = { | |
italic = true, -- Use the themes opinionated italic styles? | |
underline = true, -- Use the themes opinionated underline styles? | |
undercurl = true, -- Use the themes opinionated undercurl styles? | |
cursorline = true -- Use cursorline highlighting? | |
} | |
} | |
}, {"Lokaltog/vim-monotone"}, {"aktersnurra/no-clown-fiesta.nvim"}, { | |
"folke/persistence.nvim", | |
event = "BufReadPre", | |
lazy = true, | |
-- module = "persistence", | |
config = function() | |
require("persistence").setup { | |
dir = vim.fn.expand(vim.fn.stdpath "config" .. "/session/"), | |
options = {"buffers", "curdir", "tabpages", "winsize"} | |
} | |
end | |
}, {"wakatime/vim-wakatime"}, {"hashivim/vim-terraform"} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment