vim.o.relativenumber = true vim.o.expandtab = true vim.o.shiftwidth = 4 vim.o.softtabstop = 4 vim.o.tabstop = 4 vim.o.mouse = 'a' vim.o.makeprg = './build.sh' vim.o.clipboard = 'unnamedplus' vim.o.breakindent = true vim.o.ignorecase = true vim.o.smartcase = true vim.o.signcolumn = 'auto' vim.o.cursorline = false vim.o.scrolloff = 10 vim.o.confirm = true vim.o.autochdir = false vim.o.cinoptions = 'l1,t0,(0,:0' vim.o.lcs = 'trail:~,tab:> ' vim.o.list = true vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' -- vim.g.go_recommended_style = 0 -- autosave when compiling vim.api.nvim_create_autocmd({'QuickFixCmdPre'}, { pattern = {'make', 'lmake'}, callback = function() vim.cmd('wa') end, }) local colemakdh_binds = { -- movement { modes = { 'n', 'o', 'x' }, lhs = 'n', rhs = 'h', }, { modes = { 'n', 'o', 'x' }, lhs = 'e', rhs = 'j', }, { modes = { 'n', 'o', 'x' }, lhs = 'i', rhs = 'k', }, { modes = { 'n', 'o', 'x' }, lhs = 'o', rhs = 'l', }, { modes = { 'n' }, lhs = 'N', rhs = '^', }, { modes = { 'n' }, lhs = 'O', rhs = '$', }, -- closing the loop of overwritten binds { modes = { 'n', 'o', 'x'}, lhs = 'j', rhs = 'e', }, { modes = { 'n', 'o', 'x'}, lhs = 'k', rhs = 'n', }, { modes = { 'n', 'o', 'x'}, lhs = 'K', rhs = 'N', }, { modes = { 'n', 'o', 'x'}, lhs = 'h', rhs = 'o', }, { modes = { 'n', 'o', 'x'}, lhs = 'H', rhs = 'O', }, { modes = { 'n', 'o', 'x'}, lhs = 'l', rhs = 'i', }, { modes = { 'n', 'o', 'x'}, lhs = 'L', rhs = 'I', }, } for _, bind in ipairs(colemakdh_binds) do for _, mode in ipairs(bind.modes) do vim.keymap.set(mode, bind.lhs, bind.rhs) end end -- disable man mode remaps vim.g.no_man_maps = 1 vim.keymap.set('n', '', 'cnext') vim.keymap.set('n', '', 'cprev') vim.keymap.set('n', 'c', 'make') vim.keymap.set('n', 'w', 'w') vim.api.nvim_create_autocmd('TextYankPost', { desc = 'Highlight when yanking (copying) text', group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), callback = function() vim.hl.on_yank() end, }) local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim' if not (vim.uv or vim.loop).fs_stat(lazypath) then local lazyrepo = 'https://github.com/folke/lazy.nvim.git' local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath } if vim.v.shell_error ~= 0 then error('Error cloning lazy.nvim:\n' .. out) end end local rtp = vim.opt.runtimepath rtp:prepend(lazypath) require('lazy').setup({ require 'plugins.nvim-mini', require 'plugins.catppuccin', require 'plugins.treesitter', require 'plugins.telescope', require 'plugins.lspconfig', require 'plugins.gruber-darker', require 'plugins.transparent', }) vim.cmd.colorscheme 'miniwinter'