local function rest_title(punc) return function() local line = vim.fn.getline(".") vim.fn.append(".", { string.rep(punc, vim.fn.strdisplaywidth(line)), "" }) end end vim.opt_local.suffixesadd:append(".rst") vim.opt_local.shiftwidth = 2 vim.keymap.set("n", "s0", rest_title("#"), { buffer = true }) vim.keymap.set("n", "s1", rest_title("="), { buffer = true }) vim.keymap.set("n", "s2", rest_title("-"), { buffer = true }) vim.keymap.set("n", "s3", rest_title("~"), { buffer = true }) vim.keymap.set("n", "s4", rest_title([["]]), { buffer = true }) vim.keymap.set("n", "s5", rest_title("'"), { buffer = true })