init.lua (2809B)
1 vim.o.relativenumber = true 2 vim.o.expandtab = true 3 vim.o.shiftwidth = 4 4 vim.o.softtabstop = 4 5 vim.o.tabstop = 4 6 vim.o.mouse = 'a' 7 vim.o.makeprg = './build.sh' 8 vim.o.clipboard = 'unnamedplus' 9 vim.o.breakindent = true 10 vim.o.ignorecase = true 11 vim.o.smartcase = true 12 vim.o.signcolumn = 'auto' 13 vim.o.cursorline = false 14 vim.o.scrolloff = 10 15 vim.o.confirm = true 16 vim.o.autochdir = false 17 vim.o.cinoptions = 'l1,t0,(0,:0' 18 vim.o.lcs = 'trail:~,tab:> ' 19 vim.o.list = true 20 21 vim.g.mapleader = ' ' 22 vim.g.maplocalleader = ' ' 23 24 -- vim.g.go_recommended_style = 0 25 26 -- autosave when compiling 27 vim.api.nvim_create_autocmd({'QuickFixCmdPre'}, { 28 pattern = {'make', 'lmake'}, 29 callback = function() 30 vim.cmd('wa') 31 end, 32 }) 33 34 local colemakdh_binds = { 35 -- movement 36 { modes = { 'n', 'o', 'x' }, lhs = 'n', rhs = 'h', }, 37 { modes = { 'n', 'o', 'x' }, lhs = 'e', rhs = 'j', }, 38 { modes = { 'n', 'o', 'x' }, lhs = 'i', rhs = 'k', }, 39 { modes = { 'n', 'o', 'x' }, lhs = 'o', rhs = 'l', }, 40 { modes = { 'n' }, lhs = 'N', rhs = '^', }, 41 { modes = { 'n' }, lhs = 'O', rhs = '$', }, 42 43 -- closing the loop of overwritten binds 44 { modes = { 'n', 'o', 'x'}, lhs = 'j', rhs = 'e', }, 45 { modes = { 'n', 'o', 'x'}, lhs = 'k', rhs = 'n', }, 46 { modes = { 'n', 'o', 'x'}, lhs = 'K', rhs = 'N', }, 47 { modes = { 'n', 'o', 'x'}, lhs = 'h', rhs = 'o', }, 48 { modes = { 'n', 'o', 'x'}, lhs = 'H', rhs = 'O', }, 49 { modes = { 'n', 'o', 'x'}, lhs = 'l', rhs = 'i', }, 50 { modes = { 'n', 'o', 'x'}, lhs = 'L', rhs = 'I', }, 51 } 52 53 for _, bind in ipairs(colemakdh_binds) do 54 for _, mode in ipairs(bind.modes) do 55 vim.keymap.set(mode, bind.lhs, bind.rhs) 56 end 57 end 58 59 -- disable man mode remaps 60 vim.g.no_man_maps = 1 61 62 vim.keymap.set('n', '<M-e>', '<cmd>cnext<CR>') 63 vim.keymap.set('n', '<M-i>', '<cmd>cprev<CR>') 64 vim.keymap.set('n', '<leader>c', '<cmd>make<CR>') 65 vim.keymap.set('n', '<leader>w', '<cmd>w<CR>') 66 67 vim.api.nvim_create_autocmd('TextYankPost', { 68 desc = 'Highlight when yanking (copying) text', 69 group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), 70 callback = function() 71 vim.hl.on_yank() 72 end, 73 }) 74 75 local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim' 76 if not (vim.uv or vim.loop).fs_stat(lazypath) then 77 local lazyrepo = 'https://github.com/folke/lazy.nvim.git' 78 local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath } 79 if vim.v.shell_error ~= 0 then 80 error('Error cloning lazy.nvim:\n' .. out) 81 end 82 end 83 84 local rtp = vim.opt.runtimepath 85 rtp:prepend(lazypath) 86 87 require('lazy').setup({ 88 require 'plugins.nvim-mini', 89 require 'plugins.catppuccin', 90 require 'plugins.treesitter', 91 require 'plugins.telescope', 92 require 'plugins.lspconfig', 93 require 'plugins.transparent', 94 }) 95 96 vim.cmd.colorscheme 'miniwinter'
