My vim configuration
git clone https://github.com/m-col/vim-misc
Files | Refs | Readme

Commit dd628963560709a9e8831630f033eec5b637c993
Parent: 170794da722445a24ef2bf209059187658fc4324
Author: matt colligan <mlv@posteo.net>
Date: 2025-06-16 15:36:39 +0100
Committer: matt colligan <mlv@posteo.net>
Committed: 2025-06-16 15:36:39 +0100

more changes

start/self/plugin/theme.vim Modified

@@ -2,59 +2,8 @@
 " Ricing                                                           "
 "------------------------------------------------------------------"
 
-"" statusline
-"set laststatus=2			    " always show status bar
-"set statusline =
-"if $USER == 'root'
-"    let hostname = hostname()
-"    exec 'set statusline +=%7*\ ' . $USER . '@' . hostname . '\ %*'
-"endif
-"if ! empty($TMUX)
-"    set statusline +=%6*%*
-"endif
-
-"set statusline +=%1*\ \ %<%F\ \ %*	    " full path
-"set statusline +=%2*\ \ %y%*                " file type
-"set statusline +=%2*\ %m\ %*                " modified flag
-"set statusline +=%3*%{noscrollbar#statusline(12,'\ ','-')}
-"set statusline +=%4*%=%*		    " centre padding
-"set statusline +=%5*\ \ %l\ /\ %L\ \ %*	    " current / total lines
-"set statusline +=%1*\ %n\ %*		    " buffer number 
-
-"hi User1 ctermfg=0 ctermbg=5 cterm=none
-"hi User2 ctermfg=0 ctermbg=4 cterm=none
-"hi User3 ctermfg=0 ctermbg=14 cterm=none
-"hi User4 ctermfg=0 ctermbg=2 cterm=none
-"hi User5 ctermfg=0 ctermbg=3 cterm=none
-"hi User6 ctermfg=3 ctermbg=5 cterm=none
-"hi User7 ctermfg=0 ctermbg=9 cterm=none
-
-"" tab bar
-"hi TabLineFill ctermfg=0 ctermbg=1
-"hi TabLine ctermfg=0 ctermbg=13
-"hi TabLineSel ctermfg=0 ctermbg=12
-"hi Title ctermfg=0 ctermbg=12
-
-"" vimdiff  " commented out as it was disrupting git gutter
-""hi DiffAdd      cterm=none ctermfg=0 ctermbg=2
-""hi DiffChange   cterm=none ctermfg=0 ctermbg=4
-""hi DiffText     cterm=none ctermfg=0 ctermbg=6
-""hi DiffDelete   cterm=bold ctermfg=0 ctermbg=1
-
-"" folds
-"hi Folded ctermbg=8 ctermfg=4 cterm=none
-
 "" visual mode highlighting
-"hi Visual ctermbg=7 ctermfg=0
-
-"" title highlighting needs changing so that text doesn't go invisible due to cursor line
-"hi Title ctermfg=3 ctermbg=0
-
-"" matched brackets
-"hi MatchParen ctermfg=7 cterm=underline ctermbg=0 
-
-"" github copilot
-"hi CopilotSuggestion ctermfg=4
+hi Visual gui=reverse
 
 " line numbers
 set number relativenumber
@@ -68,14 +17,6 @@
     au WinLeave * setlocal nocursorline
 augroup END
 
-"" change cursor shape in insert mode
-"let &t_SI = "\e[4 q" "underscore
-"let &t_EI = "\e[2 q" "block
-"augroup myCmds
-"    au!
-"    autocmd VimEnter * silent !echo -ne "\e[2 q"
-"augroup END
-
 "" character for split barrier
 "set fillchars=vert:\ 
 "hi VertSplit cterm=bold term=bold ctermbg=12

start/self/plugin/settings.vim Modified

@@ -103,3 +103,4 @@
 
 " used by Ctrl-P, likely among other things
 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,node_modules,target,.mypy_cache
+set notermguicolors

start/self/plugin/keybindings.vim Modified

@@ -16,7 +16,7 @@
 nnoremap <Leader>v :ls<CR>:vert sb<space>
 nnoremap <Leader>j :bnext<CR> 
 nnoremap <Leader>k :bprevious<CR>
-nnoremap <Leader><BS> :w<CR>:bdelete<CR>
+"nnoremap <Leader><BS> :w<CR>:Bdelete<CR>
 
 " move between tabs
 nnoremap <Leader>n gT
@@ -139,3 +139,6 @@
 " marks
 nnoremap mm mM
 nnoremap `m `M
+
+" buffer write close
+nnoremap <silent> <leader><BS> :write<CR>:BuffCls<CR>

start/self/plugin/init.lua Modified

@@ -64,6 +64,12 @@
   { 'neovimhaskell/haskell-vim' },
   { 'dense-analysis/ale' },
   {
+    'm-col/buffer-closer.nvim',
+    opts = {
+      close_key = '<BS>',
+    },
+  },
+  {
     'nvim-telescope/telescope.nvim',
     tag = '0.1.8',
     dependencies = { 'nvim-lua/plenary.nvim' },
@@ -88,20 +94,12 @@
   {
       'ludovicchabant/vim-gutentags',
   },
-  --{
-  --    'prichrd/netrw.nvim',
-  --    dependencies = { 'nvim-tree/nvim-web-devicons' },
-  --    opts = {},
-  --    use_devicons = true,
-  --},
-  --{
-  --    'nvim-tree/nvim-tree.lua',
-  --    lazy = false,
-  --    dependencies = {
-  --      "nvim-tree/nvim-web-devicons",
-  --    },
-  --    opts = {},
-  --},
+  {
+      'prichrd/netrw.nvim',
+      dependencies = { 'nvim-tree/nvim-web-devicons' },
+      opts = {},
+      use_devicons = true,
+  },
   {
     "supermaven-inc/supermaven-nvim",
     opts = {
@@ -112,54 +110,57 @@
     },
   },
   {
-  "yetone/avante.nvim",
-  event = "VeryLazy",
-  version = false,
-  opts = {
-    provider = "claude",
-    --providers = {
-    --  openai = {
-    --    endpoint = "https://api.openai.com/v1",
-    --    model = "gpt-4o", -- your desired model (or use gpt-4o, etc.)
-    --    extra_request_body = {
-    --      timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models
-    --      temperature = 0.75,
-    --      max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models)
-    --      --reasoning_effort = "medium", -- low|medium|high, only used for reasoning models
-    --    },
-    --  },
-    --},
-  },
-  dependencies = {
-    "nvim-treesitter/nvim-treesitter",
-    "stevearc/dressing.nvim",
-    "nvim-lua/plenary.nvim",
-    "MunifTanjim/nui.nvim",
-    --- The below dependencies are optional,
-    "nvim-telescope/telescope.nvim", -- for file_selector provider telescope
-    "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
-    "nvim-tree/nvim-web-devicons",
-    {
-      -- support for image pasting
-      "HakonHarnes/img-clip.nvim",
-      event = "VeryLazy",
-      opts = {
-        default = {
-          embed_image_as_base64 = false,
-          prompt_for_file_name = false,
-          drag_and_drop = {
-            insert_mode = true,
+    "yetone/avante.nvim",
+    event = "VeryLazy",
+    version = false,
+    opts = {
+      provider = "claude",
+      --providers = {
+      --  openai = {
+      --    endpoint = "https://api.openai.com/v1",
+      --    model = "gpt-4o", -- your desired model (or use gpt-4o, etc.)
+      --    extra_request_body = {
+      --      timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models
+      --      temperature = 0.75,
+      --      max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models)
+      --      --reasoning_effort = "medium", -- low|medium|high, only used for reasoning models
+      --    },
+      --  },
+      --},
+    },
+    dependencies = {
+      "nvim-treesitter/nvim-treesitter",
+      "stevearc/dressing.nvim",
+      "nvim-lua/plenary.nvim",
+      "MunifTanjim/nui.nvim",
+      --- The below dependencies are optional,
+      "nvim-telescope/telescope.nvim", -- for file_selector provider telescope
+      "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
+      "nvim-tree/nvim-web-devicons",
+      {
+        -- support for image pasting
+        "HakonHarnes/img-clip.nvim",
+        event = "VeryLazy",
+        opts = {
+          default = {
+            embed_image_as_base64 = false,
+            prompt_for_file_name = false,
+            drag_and_drop = {
+              insert_mode = true,
+            },
           },
         },
       },
-    },
-    {
-      'MeanderingProgrammer/render-markdown.nvim',
-      opts = {
-        file_types = { "markdown", "Avante" },
+      {
+        'MeanderingProgrammer/render-markdown.nvim',
+        opts = {
+          file_types = { "markdown", "Avante" },
+        },
+        ft = { "markdown", "Avante" },
       },
-      ft = { "markdown", "Avante" },
     },
-  },
-}
+  }
 })
+
+--local colors = require("catppuccin.palettes").get_palette("mocha")
+--vim.cmd("highlight CursorLine gui=reverse")

start/self/plugin/bclose.vim Deleted

@@ -1,80 +0,0 @@
-"------------------------------------------------------------------"
-" :bclose                                                          "
-"------------------------------------------------------------------"
-
-" Delete buffer while keeping window layout (don't close buffer's windows).
-" Version 2008-11-18 from http://vim.wikia.com/wiki/VimTip165
-if v:version < 700 || exists('loaded_bclose') || &cp
-    finish
-endif
-let loaded_bclose = 1
-if !exists('bclose_multiple')
-    let bclose_multiple = 1
-endif
-
-" Display an error message.
-function! s:Warn(msg)
-    echohl ErrorMsg
-    echomsg a:msg
-    echohl NONE
-endfunction
-
-" Command ':Bclose' executes ':bd' to delete buffer in current window.
-" The window will show the alternate buffer (Ctrl-^) if it exists,
-" or the previous buffer (:bp), or a blank buffer if no previous.
-" Command ':Bclose!' is the same, but executes ':bd!' (discard changes).
-" An optional argument can specify which buffer to close (name or number).
-function! s:Bclose(bang, buffer)
-    if empty(a:buffer)
-	let btarget = bufnr('%')
-    elseif a:buffer =~ '^\d\+$'
-	let btarget = bufnr(str2nr(a:buffer))
-    else
-	let btarget = bufnr(a:buffer)
-    endif
-    if btarget < 0
-	call s:Warn('No matching buffer for '.a:buffer)
-	return
-    endif
-    if empty(a:bang) && getbufvar(btarget, '&modified')
-	call s:Warn('No write since last change for buffer '.btarget.' (use :Bclose!)')
-	return
-    endif
-    " Numbers of windows that view target buffer which we will delete.
-    let wnums = filter(range(1, winnr('$')), 'winbufnr(v:val) == btarget')
-    if !g:bclose_multiple && len(wnums) > 1
-	call s:Warn('Buffer is in multiple windows (use ":let bclose_multiple=1")')
-	return
-    endif
-    let wcurrent = winnr()
-    for w in wnums
-	execute w.'wincmd w'
-	let prevbuf = bufnr('#')
-	if prevbuf > 0 && buflisted(prevbuf) && prevbuf != w
-	    buffer #
-	else
-	    bprevious
-	endif
-	if btarget == bufnr('%')
-	    " Numbers of listed buffers which are not the target to be deleted.
-	    let blisted = filter(range(1, bufnr('$')), 'buflisted(v:val) && v:val != btarget')
-	    " Listed, not target, and not displayed.
-	    let bhidden = filter(copy(blisted), 'bufwinnr(v:val) < 0')
-	    " Take the first buffer, if any (could be more intelligent).
-	    let bjump = (bhidden + blisted + [-1])[0]
-	    if bjump > 0
-		execute 'buffer '.bjump
-	    else
-		execute 'enew'.a:bang
-	    endif
-	endif
-    endfor
-    silent! execute 'bdelete'.a:bang.' '.btarget
-    silent! execute wcurrent.'wincmd w'
-endfunction
-command! -bang -complete=buffer -nargs=? Bclose call s:Bclose('<bang>', '<args>')
-
-
-autocmd BufDelete * if len(filter(range(1, bufnr('$')), 'empty(bufname(v:val)) && buflisted(v:val)')) == 1 | quit | endif
-
-nnoremap <silent> <BS> :Bclose<CR>