Last active 1730130161

obsidian-nvim-keymap.lua Raw
1-- Obsidian
2-- Move to ~/Notes/all
3vim.api.nvim_create_user_command('MoveNoteToAll', function()
4 local file = vim.fn.expand '%:p' -- Obtenir le chemin complet du fichier ouvert
5 local target_dir = vim.fn.expand '~/Notes/all/' -- Résoudre le chemin du dossier cible
6
7 -- Vérifier si le fichier existe
8 if vim.fn.filereadable(file) == 1 then
9 -- Utiliser une commande shell pour déplacer le fichier
10 local cmd = 'mv ' .. vim.fn.shellescape(file) .. ' ' .. vim.fn.shellescape(target_dir)
11 vim.fn.system(cmd)
12
13 -- Vérifier si la commande s'est bien exécutée
14 if vim.fn.filereadable(target_dir .. vim.fn.fnamemodify(file, ':t')) == 1 then
15 -- Fermer le buffer après déplacement si le fichier a bien été déplacé
16 vim.cmd 'bdelete!'
17 else
18 print "Erreur : Le fichier n'a pas été déplacé."
19 end
20 else
21 print 'Impossible de déplacer : fichier non valide.'
22 end
23end, { nargs = 0 })
24
25-- Delete note
26vim.api.nvim_create_user_command('DeleteNote', function()
27 local file = vim.fn.expand '%:p' -- Obtenir le chemin complet du fichier ouvert
28
29 -- Vérifier si le fichier existe
30 if vim.fn.filereadable(file) == 1 then
31 -- Utiliser une commande shell pour supprimer le fichier
32 local cmd = 'rm ' .. vim.fn.shellescape(file)
33 vim.fn.system(cmd)
34
35 -- Fermer le buffer après suppression
36 vim.cmd 'bdelete!'
37 else
38 print 'Impossible de supprimer : fichier non valide.'
39 end
40end, { nargs = 0 })
41
42-- Obsidian keymaps
43vim.keymap.set('n', '<leader>on', '<cmd>ObsidianNew<CR>', { desc = '[N]ouvelle note' })
44vim.keymap.set('n', '<leader>oj', '<cmd>ObsidianToday<CR>', { desc = 'Note [J]ournalière' })
45vim.keymap.set('n', '<leader>ow', '<cmd>ObsidianDailies<CR>', { desc = '[W] Notes Journalières' })
46vim.keymap.set('n', '<leader>oq', '<cmd>ObsidianQuickSwitch<CR>', { desc = '[Q]uick switch' })
47vim.keymap.set('n', '<leader>os', '<cmd>ObsidianSearch<CR>', { desc = '[S]earch notes' })
48vim.keymap.set('n', '<leader>ot', '<cmd>ObsidianNewFromTemplate<CR>', { desc = 'new from [T]emplate ' })
49vim.keymap.set('n', '<leader>oa', '<cmd>ObsidianTags<CR>', { desc = 'T[a]gs picker' })
50vim.keymap.set('n', '<leader>oc', '<cmd>ObsidianTOC<CR>', { desc = 'Table of [C]ontent' })
51vim.keymap.set('n', '<leader>ob', '<cmd>ObsidianBacklinks<CR>', { desc = '[B]acklinks' })
52vim.keymap.set('n', '<leader>oi', '<cmd>ObsidianLinks<CR>', { desc = 'L[i]nks' })
53vim.keymap.set('n', '<leader>or', '<cmd>ObsidianRename<CR>', { desc = '[R]enomer la note' })
54vim.keymap.set('n', '<leader>od', '<cmd>DeleteNote<CR>', { desc = '[D]elete note' })
55vim.keymap.set('n', '<leader>ov', '<cmd>MoveNoteToAll<CR>', { desc = '[V]alider la note' })
56-- visual mode obsidian
57vim.keymap.set('v', '<leader>ol', '<cmd>ObsidianLink<CR>', { desc = '[L]ien' })
58vim.keymap.set('v', '<leader>oo', '<cmd>ObsidianLinkNew<CR>', { desc = '[O]bs. nouveau lien' })
59vim.keymap.set('v', '<leader>oe', '<cmd>ObsidianExtractNote<CR>', { desc = '[E]xtraire la note' })