Fix keymaps and fold

This commit is contained in:
Fabio Scotto di Santolo
2025-08-13 12:10:58 +02:00
parent b0d1bb1d73
commit 16f2dbbe3d
3 changed files with 32 additions and 14 deletions

View File

@@ -1,3 +1,32 @@
-- Autocmds are automatically loaded on the VeryLazy event -- Autocmds are automatically loaded on the VeryLazy event
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
-- Add any additional autocmds here -- Add any additional autocmds here
local augroup = vim.api.nvim_create_augroup
local autocmd = vim.api.nvim_create_autocmd
local view_group = augroup("auto_view", { clear = true })
autocmd({ "BufWinLeave", "BufWritePost", "WinLeave" }, {
desc = "Save view with mkview for real files",
group = view_group,
callback = function(args)
if vim.b[args.buf].view_activated then
vim.cmd.mkview({ mods = { emsg_silent = true } })
end
end,
})
autocmd("BufWinEnter", {
desc = "Try to load file view if available and enable view saving for real files",
group = view_group,
callback = function(args)
if not vim.b[args.buf].view_activated then
local filetype = vim.api.nvim_get_option_value("filetype", { buf = args.buf })
local buftype = vim.api.nvim_get_option_value("buftype", { buf = args.buf })
local ignore_filetypes = { "gitcommit", "gitrebase", "svg", "hgcommit" }
if buftype == "" and filetype and filetype ~= "" and not vim.tbl_contains(ignore_filetypes, filetype) then
vim.b[args.buf].view_activated = true
vim.cmd.loadview({ mods = { emsg_silent = true } })
end
end
end,
})

View File

@@ -9,17 +9,11 @@ map("n", "<leader>bn", ":bnext<CR>", { noremap = true, silent = true, desc = "Ne
map("n", "<leader>bp", ":bprevious<CR>", { noremap = true, silent = true, desc = "Previous buffer" }) map("n", "<leader>bp", ":bprevious<CR>", { noremap = true, silent = true, desc = "Previous buffer" })
map("n", "<leader>bd", ":bdelete<CR>", { noremap = true, silent = true, desc = "Delete buffer" }) map("n", "<leader>bd", ":bdelete<CR>", { noremap = true, silent = true, desc = "Delete buffer" })
-- Window navigation (splits)
map("n", "<leader>sh", "<C-w>h", { noremap = true, silent = true, desc = "Window left" })
map("n", "<leader>sj", "<C-w>j", { noremap = true, silent = true, desc = "Window down" })
map("n", "<leader>sk", "<C-w>k", { noremap = true, silent = true, desc = "Window up" })
map("n", "<leader>sl", "<C-w>l", { noremap = true, silent = true, desc = "Window right" })
-- Quick save
map("n", "<leader>w", ":w<CR>", { noremap = true, silent = true, desc = "Save file" })
-- Copy to system clipboard (if not already mapped) -- Copy to system clipboard (if not already mapped)
map({ "n", "v" }, "<leader>y", [["+y]], { noremap = true, silent = true, desc = "Copy to system clipboard" }) map({ "n", "v" }, "<leader>y", [["+y]], { noremap = true, silent = true, desc = "Copy to system clipboard" })
-- Paste from system clipboard -- Paste from system clipboard
map("n", "<leader>p", [["+p]], { noremap = true, silent = true, desc = "Paste from system clipboard" }) map("n", "<leader>p", [["+p]], { noremap = true, silent = true, desc = "Paste from system clipboard" })
-- Markdown menu
map("n", "<leader>M", [["+M]], { noremap = true, silent = true, desc = "Markdown" })

View File

@@ -45,11 +45,6 @@ opt.statusline = "%f %m %r %=%-14.(%l,%c%V%) %P"
-- Persistent signcolumn to avoid text shifting -- Persistent signcolumn to avoid text shifting
opt.signcolumn = "yes" opt.signcolumn = "yes"
-- Fold method
opt.foldmethod = "expr"
opt.foldexpr = "nvim_treesitter#foldexpr()"
opt.foldlevel = 99 -- open all folds by default
-- Show file name and modified flag in the window bar -- Show file name and modified flag in the window bar
opt.winbar = "%=%m %f" opt.winbar = "%=%m %f"