Compare commits

...
2 Commits
Author SHA1 Message Date
romanzy313 3769e95cf0 refresh shortcuts 2026-09-08 03:13:05 +02:00
romanzy313 9ce38fd7ca better buffer mangement 2026-09-08 03:07:36 +02:00
4 changed files with 33 additions and 9 deletions
+8 -4
View File
@@ -23,10 +23,7 @@ Split shortcuts:
Resize shortcuts:
- `<leader>rh` make the current window narrower
- `<leader>rl` make the current window wider
- `<leader>rj` make the current window shorter
- `<leader>rk` make the current window taller
- `<leader>r-hjkl` to resize
- `<leader>re` equalize split sizes
Buffer shortcuts:
@@ -34,6 +31,8 @@ Buffer shortcuts:
- `<leader>bp` previous buffer
- `<leader>bn` next buffer
- `<leader>bd` delete the current buffer
- `<leader>bc` force close all non-visible buffers
- `<leader>bf` find buffers
Telescope shortcuts:
@@ -55,6 +54,11 @@ Toggle shortcuts:
- `<leader>ti` toggle inline diagnostics
- `<leader>tv` toggle virtual diagnostics
Refresh shortcuts (oil and buffers):
- `gR` refresh the current buffer
- `<F5>` refresh the current buffer
Oil usage:
- `<leader>dl` opens the file browser
@@ -0,0 +1,19 @@
local M = {}
function M.close_hidden()
local visible_buffers = {}
for _, tabpage in ipairs(vim.api.nvim_list_tabpages()) do
for _, window in ipairs(vim.api.nvim_tabpage_list_wins(tabpage)) do
visible_buffers[vim.api.nvim_win_get_buf(window)] = true
end
end
for _, buffer in ipairs(vim.api.nvim_list_bufs()) do
if vim.bo[buffer].buflisted and not visible_buffers[buffer] then
vim.api.nvim_buf_delete(buffer, { force = true })
end
end
end
return M
+5 -5
View File
@@ -44,6 +44,8 @@ map("n", "<leader>re", "<C-w>=", { desc = "equalize buffer sizes" })
map("n", "<leader>bp", "<Cmd>bprevious<CR>", { desc = "prev buffer" })
map("n", "<leader>bn", "<Cmd>bnext<CR>", { desc = "next buffer" })
map("n", "<leader>bd", "<Cmd>bdelete<CR>", { desc = "delete buffer" })
map("n", "<leader>bc", require("romanzy.custom.buffers").close_hidden, { desc = "close hidden buffers" })
map("n", "<leader>bf", telescope_picker("buffers"), { desc = "find buffers" })
map({ "n", "v" }, "<leader>y", '"+y', { desc = "yank to system clipboard" })
map("n", "<leader>Y", '"+Y', { desc = "yank line to system clipboard" })
@@ -57,9 +59,7 @@ map("n", "<C-h>", "<C-w>h", { desc = "window left" })
map("n", "<C-j>", "<C-w>j", { desc = "window down" })
map("n", "<C-k>", "<C-w>k", { desc = "window up" })
map("n", "<C-l>", "<C-w>l", { desc = "window right" })
map("n", "gR", function()
vim.cmd.normal({ args = { vim.keycode("<C-l>") }, bang = true })
end, { desc = "refresh current view" })
map("n", { "gR", "<F5>" }, "<Cmd>edit<CR>", { desc = "refresh current buffer" })
-- this is needed to disable refresh behavior for <C-l> for navigation
vim.api.nvim_create_autocmd("FileType", {
@@ -102,8 +102,8 @@ vim.api.nvim_create_autocmd("LspAttach", {
map("n", "gd", vim.lsp.buf.definition, { buffer = ev.buf, desc = "goto definition" })
map("n", "gD", vim.lsp.buf.declaration, { buffer = ev.buf, desc = "goto declaration" })
map("n", "gfr", vim.lsp.buf.references, { buffer = ev.buf, desc = "find references" })
map("n", "grn", rename_without_default, { buffer = ev.buf, desc = "rename symbol completely" })
map("n", "gRN", vim.lsp.buf.rename, { buffer = ev.buf, desc = "rename symbol starting with whatever is there" })
map("n", "grn", rename_without_default, { buffer = ev.buf, desc = "rename symbol (from empty)" })
map("n", "grN", vim.lsp.buf.rename, { buffer = ev.buf, desc = "rename symbol (from current)" })
map({ "n", "x" }, "<leader>ca", vim.lsp.buf.code_action, { buffer = ev.buf, desc = "code actions" })
map("n", "<leader>cf", function()
@@ -27,6 +27,7 @@ require("oil").setup({
["<C-k>"] = false,
["<C-l>"] = false,
["gR"] = "actions.refresh", -- replaces default <C-l> behavior
["<F5>"] = "actions.refresh",
["<C-s>"] = false,
["<C-p>"] = { "actions.preview", opts = { vertical = true, split = "belowright" } },
["<BS>"] = { "actions.parent", mode = "n" },