From d4677b4cb0f367c871eed674c50eb9555cc8adeb Mon Sep 17 00:00:00 2001 From: Marcelo Date: Thu, 3 Apr 2025 23:49:35 -0300 Subject: Improve Zettelkasten notes keybind situation. --- after/ftplugin/markdown.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 after/ftplugin/markdown.lua (limited to 'after/ftplugin') diff --git a/after/ftplugin/markdown.lua b/after/ftplugin/markdown.lua new file mode 100644 index 0000000..8fbe798 --- /dev/null +++ b/after/ftplugin/markdown.lua @@ -0,0 +1,25 @@ +if require("zk.util").notebook_root(vim.fn.expand("%:p")) ~= nil then + vim.keymap.set("n", "", vim.lsp.buf.definition, + { buffer = true, noremap = true, silent = false, desc = "Open the link under the caret." }) + + -- Create a new note in the same directory as the current buffer, using the current selection for title. + vim.keymap.set("v", "zn", ":'<,'>ZkNewFromTitleSelection { dir = vim.fn.expand('%:p:h') }", + { buffer = true, noremap = true, silent = false, desc = "Create a new note using the current selection for title." }) + + -- Create a new note in the same directory as the current buffer, + -- using the current selection for note content and asking for its title. + vim.keymap.set("v", "zN", + ":'<,'>ZkNewFromContentSelection { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }", + { buffer = true, noremap = true, silent = false, desc = "Create a new note using the current selection for contents." }) + + vim.keymap.set("n", "zb", "ZkBacklinks", + { buffer = true, noremap = true, silent = false, desc = "Open notes linking to the current buffer." }) + + -- Alternative for backlinks using pure LSP and showing the source context. + -- The results will appear in the quickfix list. + vim.keymap.set("n", "zB", vim.lsp.buf.references, + { buffer = true, noremap = true, silent = false, desc = "Open notes linking to the current buffer with LSP." }) + + vim.keymap.set("n", "zl", "ZkLinks", + { buffer = true, noremap = true, silent = false, desc = "Open notes linked by the current buffer." }) +end -- cgit v1.2.3