-- Keymaps are automatically loaded on the VeryLazy event -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Add any additional keymaps here -- Terminal keymaps ( toggle with 99-count float, tt, ft) -- are registered by the snacks-terminal-ctl plugin (lua/plugins/terminal.lua). -- copy the current file name to the system clipboard (OSC52-aware, so it -- also works over ssh/tmux); C variant drops the extension local copy_file_name = function(with_extension) local name = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":t") if not with_extension then name = vim.fn.fnamemodify(name, ":r") end vim.fn.setreg("+", name) vim.notify("Copied: " .. name) end vim.keymap.set("n", "fc", function() copy_file_name(true) end, { desc = "Copy file name" }) vim.keymap.set("n", "fC", function() copy_file_name(false) end, { desc = "Copy file name (no extension)" })