My neovim config
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

init

John Bakhmat 78a26c9f

+167
+123
init.lua
··· 1 + local vim = vim 2 + vim.pack.add({ 3 + { src = "https://github.com/stevearc/oil.nvim"}, 4 + { src = "https://github.com/nvim-mini/mini.icons"}, 5 + { src = "https://github.com/nvim-mini/mini.pick"}, 6 + { src = "https://github.com/scrooloose/nerdcommenter"}, 7 + { src = "https://github.com/smoka7/hop.nvim"}, 8 + { src = "https://github.com/folke/trouble.nvim"}, 9 + { src = "https://github.com/vague-theme/vague.nvim"}, 10 + 11 + -- Mason / Lsp 12 + { src = "https://github.com/mason-org/mason.nvim.git" }, 13 + { src = "https://github.com/mason-org/mason-lspconfig.nvim.git" }, 14 + { src = "https://github.com/neovim/nvim-lspconfig.git" }, 15 + }) 16 + 17 + vim.o.number = true 18 + vim.o.relativenumber=true 19 + vim.o.mouse = 'a' 20 + vim.o.showmode = false 21 + vim.o.clipboard = 'unnamedplus' 22 + vim.o.breakindent = true 23 + vim.o.undofile = true 24 + vim.o.ignorecase = true 25 + vim.o.smartcase = true 26 + vim.o.signcolumn = 'yes' 27 + vim.o.updatetime = 250 28 + vim.o.timeoutlen = 300 29 + vim.o.splitright = true 30 + vim.o.splitbelow = true 31 + vim.o.inccommand = 'split' 32 + vim.o.cursorline = true 33 + vim.o.swapfile = false 34 + vim.o.scrolloff = 10 35 + vim.o.hlsearch = true 36 + vim.o.list = true 37 + vim.o.wrap = false 38 + vim.o.tabstop = 4 39 + vim.o.shiftwidth = 4 40 + vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } 41 + 42 + vim.g.mapleader = ' ' 43 + vim.g.maplocalleader = ' ' 44 + vim.g.have_nerd_font = true 45 + vim.o.winborder = "rounded" 46 + 47 + vim.cmd("colorscheme vague") 48 + vim.cmd(":hi statusline guibg=NONE") 49 + 50 + 51 + vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = 'Show diagnostic [E]rror messages' }) 52 + vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) 53 + vim.keymap.set('n', '<leader>fb', '<CMD>Oil<CR>', { desc = '[F]ile [B]rowser' }) 54 + 55 + require("mini.pick").setup({}) 56 + vim.keymap.set('n', '<leader>sf', "<CMD>Pick files<CR>", { desc = '[S]earch [F]iles' }) 57 + vim.keymap.set('n', '<leader>sg', "<CMD>Pick grep_live<CR>", { desc = '[S]earch by [G]rep' }) 58 + vim.keymap.set('n', '<leader>sr', "<CMD>Pick resume<CR>", { desc = '[S]earch [R]esume' }) 59 + 60 + local lsp_ensure_installed = { 61 + "lua_ls", "emmet_ls", "oxlint", "ts_ls", "tailwindcss" 62 + } 63 + 64 + 65 + local setup_oil = function() 66 + 67 + ---@module 'oil' 68 + ---@type oil.SetupOpts 69 + local opts = { 70 + default_file_explorer = true, 71 + columns={ 72 + 'icon', 73 + }, 74 + view_options = { 75 + show_hidden = true, 76 + is_hidden_file = function(name) 77 + return name ~= '..' and vim.startswith(name, '.') 78 + end 79 + } 80 + } 81 + require("oil").setup(opts) 82 + require("mini.icons").setup({}) 83 + end 84 + 85 + local setup_mason = function() 86 + require("mason").setup() 87 + require("mason-lspconfig").setup({ 88 + ensure_installed = lsp_ensure_installed, 89 + }) 90 + end 91 + 92 + 93 + -- hop 94 + local setup_hop = function() 95 + local hop = require('hop') 96 + local directions = require('hop.hint').HintDirection 97 + 98 + local hopmap = function(key, direction, current_line_only) 99 + vim.keymap.set('', key, function() 100 + hop.hint_char1({ 101 + direction = direction, 102 + current_line_only = current_line_only 103 + }) 104 + end, { remap = true} 105 + ) 106 + end 107 + 108 + hopmap('f', directions.AFTER_CURSOR, false) 109 + hopmap('F', directions.BEFORE_CURSOR, false) 110 + hopmap('t', directions.AFTER_CURSOR, true) 111 + hopmap('T', directions.BEFORE_CURSOR, true) 112 + 113 + hop.setup { 114 + keys = 'etovxqpdygfblzhckisuran', 115 + } 116 + end 117 + -- 118 + 119 + 120 + -- Plugin setup 121 + setup_mason() 122 + setup_oil() 123 + setup_hop()
+44
nvim-pack-lock.json
··· 1 + { 2 + "plugins": { 3 + "hop.nvim": { 4 + "rev": "1a1eceafe54b5081eae4cb91c723abd1d450f34b", 5 + "src": "https://github.com/phaazon/hop.nvim" 6 + }, 7 + "mason-lspconfig.nvim": { 8 + "rev": "4823a251e7578a835bb979c37df390fca692ba39", 9 + "src": "https://github.com/mason-org/mason-lspconfig.nvim.git" 10 + }, 11 + "mason.nvim": { 12 + "rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65", 13 + "src": "https://github.com/mason-org/mason.nvim.git" 14 + }, 15 + "mini.icons": { 16 + "rev": "efc85e42262cd0c9e1fdbf806c25cb0be6de115c", 17 + "src": "https://github.com/echasnovski/mini.icons" 18 + }, 19 + "mini.pick": { 20 + "rev": "7c0a674f620ddc701903b887b2dade836b23ea79", 21 + "src": "https://github.com/nvim-mini/mini.pick" 22 + }, 23 + "nerdcommenter": { 24 + "rev": "a462bbda1e26f44fb3d3eb9d9d1c6a07aa98e665", 25 + "src": "https://github.com/scrooloose/nerdcommenter" 26 + }, 27 + "nvim-lspconfig": { 28 + "rev": "dec357ee48ff7e2e5b76898fd7c67b61a627d3ac", 29 + "src": "https://github.com/neovim/nvim-lspconfig" 30 + }, 31 + "oil.nvim": { 32 + "rev": "f55b25e493a7df76371cfadd0ded5004cb9cd48a", 33 + "src": "https://github.com/stevearc/oil.nvim" 34 + }, 35 + "trouble.nvim": { 36 + "rev": "bd67efe408d4816e25e8491cc5ad4088e708a69a", 37 + "src": "https://github.com/folke/trouble.nvim" 38 + }, 39 + "vague.nvim": { 40 + "rev": "fcc283576764474ccfbbcca240797d5d7f4d8a78", 41 + "src": "https://github.com/vague-theme/vague.nvim" 42 + } 43 + } 44 + }