dotfiles

my active dotfiles
git clone git://git.jakekoroman.com/dotfiles
Log | Files | Refs | README

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'