diff options
Diffstat (limited to 'nvim/init.lua')
| -rw-r--r-- | nvim/init.lua | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..d690307 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,105 @@ +-- plugins -- +vim.pack.add({ + 'https://github.com/AlphaTechnolog/pywal.nvim', + 'https://github.com/stevearc/oil.nvim', + 'https://github.com/nvim-mini/mini.move', + 'https://github.com/nvim-mini/mini.icons', + 'https://github.com/nvim-mini/mini.surround', + 'https://github.com/ibhagwan/fzf-lua', + 'https://github.com/nvim-treesitter/nvim-treesitter', + { src = 'https://github.com/Saghen/blink.cmp', version = 'v1.10.2' }, +}) + +require("pywal").setup() +require("oil").setup() +require("mini.move").setup() +require("mini.icons").setup() +--[[ require("mini.surround").setup({ + -- Module mappings. Use `''` (empty string) to disable one. + mappings = { + add = '<S-sa>', -- Add surrounding in Normal and Visual modes + delete = '<S-sd>', -- Delete surrounding + find = '<S-sf>', -- Find surrounding (to the right) + find_left = '<S-sF>', -- Find surrounding (to the left) + highlight = '<S-sh>', -- Highlight surrounding + replace = '<S-sr>', -- Replace surrounding + + suffix_last = 'l', -- Suffix to search with "prev" method + suffix_next = 'n', -- Suffix to search with "next" method + }, +}) +--]] +require("fzf-lua").setup() +require("blink.cmp").setup() +require("nvim-treesitter").setup() + +vim.loader.enable() -- speed up launch! + + +-- treesitter - dynamically determine language +vim.api.nvim_create_autocmd("FileType", { + group = vim.api.nvim_create_augroup("tree-sitter-enable", { clear = true }), + callback = function(args) + local lang = vim.treesitter.language.get_lang(args.match) + if not lang then + return + end + if vim.treesitter.query.get(lang, "highlights") then + vim.treesitter.start(args.buf) + end + if vim.treesitter.query.get(lang, "indents") then + vim.opt_local.indentexpr = 'v:lua.require("nvim-treesitter").indentexpr()' + end + + -- from treesitter docs for folding + vim.opt.foldexpr = 'v:lua.vim.treesitter.foldexpr()' + vim.opt.foldmethod = 'expr' + end, +}) + +-- blink completion stuff + + + +-- normal mode +vim.api.nvim_set_keymap('i','jk','<Esc>',{noremap=true,silent=true}) +vim.api.nvim_set_keymap('i','kj','<Esc>',{noremap=true,silent=true}) + +-- ui +vim.opt.foldlevelstart = 99 +vim.o.scrolloff = 10 +vim.o.number = true +vim.o.relativenumber = true +vim.o.showmode = false +vim.o.signcolumn = "yes" +vim.o.pumheight = 15 +vim.o.shortmess = "CFOSWaco" + +-- completion +vim.o.autocomplete = true +vim.o.completeopt = "menuone,noinsert,popup,fuzzy,nearest" +vim.o.pumheight = 15 +vim.o.pummaxwidth = 40 + +-- indents +vim.o.tabstop = 2 +vim.o.shiftwidth = 2 + +-- search +vim.o.imsearch = 0 +vim.o.hlsearch = true +vim.o.incsearch = true +vim.o.ignorecase = true +vim.o.smartcase = true + +local map = vim.keymap.set + +-- KEYMAPS - for plugins +map("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" }) + + +-- KEYMAPS - movement +map("n", "<C-d>", "<C-d>zz") +map("n", "<C-u>", "<C-u>zz") +map("n", "<C-f>", "<C-f>zz") +map("n", "<C-b>", "<C-b>zz") |
