Fix keymaps and folding
This commit is contained in:
@@ -1,3 +1,33 @@
|
||||
-- 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
|
||||
-- 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,
|
||||
})
|
||||
|
||||
@@ -9,21 +9,12 @@ 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>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)
|
||||
map({ "n", "v" }, "<leader>y", [["+y]], { noremap = true, silent = true, desc = "Copy to system clipboard" })
|
||||
|
||||
-- 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" })
|
||||
|
||||
vim.keymap.set("n", "<leader>cc", function()
|
||||
local file1 = vim.fn.expand("%")
|
||||
|
||||
|
||||
@@ -49,11 +49,6 @@ opt.statusline = "%f %m %r %=%-14.(%l,%c%V%) %P"
|
||||
-- Persistent signcolumn to avoid text shifting
|
||||
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
|
||||
opt.winbar = "%=%m %f"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user