From 82092fe19a0ff0d0e4bed2ccfd4351cbb2d10d9e Mon Sep 17 00:00:00 2001 From: Alec Goncharow Date: Thu, 29 Feb 2024 22:57:46 -0500 Subject: embrace autocomplete defaults, add nocheckin pre-commit hook --- .config/nvim/init.lua | 2 +- .config/nvim/lua/autocomplete.lua | 23 ----------------------- .config/nvim/lua/buffers.lua | 36 ++++++++++++++++++++++++++++++++++++ .config/nvim/lua/fzf.lua | 2 ++ .config/nvim/lua/jabs_conf.lua | 2 +- .config/nvim/lua/mappings.lua | 1 + 6 files changed, 41 insertions(+), 25 deletions(-) create mode 100644 .config/nvim/lua/buffers.lua (limited to '.config') diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index d77bcd5..d9b5cc6 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,4 +1,3 @@ --- TODO SPEED require('plugins') require('settings') require('mappings') @@ -15,6 +14,7 @@ require('nerdcommenter_conf') require('bqf_conf') require('autosession_conf') require('autoclose_conf') +require('buffers') if vim.g.neovide then require('neovide_conf') diff --git a/.config/nvim/lua/autocomplete.lua b/.config/nvim/lua/autocomplete.lua index 8531258..8d624fa 100644 --- a/.config/nvim/lua/autocomplete.lua +++ b/.config/nvim/lua/autocomplete.lua @@ -28,29 +28,6 @@ cmp.setup({ [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - [""] = cmp.mapping(function(fallback) - if vim.fn.pumvisible() == 1 then - feedkey("", "n") - elseif cmp.visible() then - cmp.select_next_item() - else - fallback() - end - end, { - "i", - }), - [""] = cmp.mapping(function(fallback) - if vim.fn.pumvisible() == 1 then - feedkey("", "n") - elseif cmp.visible() then - cmp.select_prev_item() - else - fallback() - end - end, { - "i", - }), }), sources = cmp.config.sources({ { name = 'nvim_lsp' }, diff --git a/.config/nvim/lua/buffers.lua b/.config/nvim/lua/buffers.lua new file mode 100644 index 0000000..ca593a7 --- /dev/null +++ b/.config/nvim/lua/buffers.lua @@ -0,0 +1,36 @@ +--Nmap("b", ':buffer ') + +-- stolen from https://www.reddit.com/r/neovim/comments/12c4ad8/closing_unused_buffers/ +local id = vim.api.nvim_create_augroup("startup", { + clear = false +}) + +local persistbuffer = function(bufnr) + bufnr = bufnr or vim.api.nvim_get_current_buf() + vim.fn.setbufvar(bufnr, 'bufpersist', 1) +end + +vim.api.nvim_create_autocmd({ "BufRead" }, { + group = id, + pattern = { "*" }, + callback = function() + vim.api.nvim_create_autocmd({ "InsertEnter", "BufModifiedSet" }, { + buffer = 0, + once = true, + callback = function() + persistbuffer() + end + }) + end +}) + +vim.keymap.set('n', 'o', + function() + local curbufnr = vim.api.nvim_get_current_buf() + local buflist = vim.api.nvim_list_bufs() + for _, bufnr in ipairs(buflist) do + if vim.bo[bufnr].buflisted and bufnr ~= curbufnr and (vim.fn.getbufvar(bufnr, 'bufpersist') ~= 1) then + vim.cmd('bd ' .. tostring(bufnr)) + end + end + end, { silent = true, desc = 'Close unused buffers' }) diff --git a/.config/nvim/lua/fzf.lua b/.config/nvim/lua/fzf.lua index 7d2c50c..170158a 100644 --- a/.config/nvim/lua/fzf.lua +++ b/.config/nvim/lua/fzf.lua @@ -1,4 +1,6 @@ local fzf = require('fzf-lua') +vim.keymap.set('n', '', fzf.buffers, {}) +vim.keymap.set('n', 'fb', fzf.lines, {}) vim.keymap.set('n', 'ff', fzf.files, {}) vim.keymap.set('n', 'fg', fzf.live_grep, {}) vim.keymap.set('n', 'fw', fzf.grep_cword, {}) diff --git a/.config/nvim/lua/jabs_conf.lua b/.config/nvim/lua/jabs_conf.lua index 2b2ffff..4962b2a 100644 --- a/.config/nvim/lua/jabs_conf.lua +++ b/.config/nvim/lua/jabs_conf.lua @@ -66,4 +66,4 @@ require 'jabs'.setup { } -Nmap('', ':JABSOpen') +Nmap('b', ':JABSOpen') diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua index a5f50b2..a031328 100644 --- a/.config/nvim/lua/mappings.lua +++ b/.config/nvim/lua/mappings.lua @@ -40,6 +40,7 @@ Nmap(">", ":vertical:resize +1") -- pane spawn Nmap("t", ':split:wincmd j:term') Nmap("s", ':vs:wincmd l') +Nmap("", ':only') -- escape terminal mode easier Tmap('', '') -- cgit v1.2.3-70-g09d2