Last active 1730130161

mathieu's Avatar mathieu revised this gist 1730130161. Go to revision

1 file changed, 59 insertions

obsidian-nvim-keymap.lua(file created)

@@ -0,0 +1,59 @@
1 + -- Obsidian
2 + -- Move to ~/Notes/all
3 + vim.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
23 + end, { nargs = 0 })
24 +
25 + -- Delete note
26 + vim.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
40 + end, { nargs = 0 })
41 +
42 + -- Obsidian keymaps
43 + vim.keymap.set('n', '<leader>on', '<cmd>ObsidianNew<CR>', { desc = '[N]ouvelle note' })
44 + vim.keymap.set('n', '<leader>oj', '<cmd>ObsidianToday<CR>', { desc = 'Note [J]ournalière' })
45 + vim.keymap.set('n', '<leader>ow', '<cmd>ObsidianDailies<CR>', { desc = '[W] Notes Journalières' })
46 + vim.keymap.set('n', '<leader>oq', '<cmd>ObsidianQuickSwitch<CR>', { desc = '[Q]uick switch' })
47 + vim.keymap.set('n', '<leader>os', '<cmd>ObsidianSearch<CR>', { desc = '[S]earch notes' })
48 + vim.keymap.set('n', '<leader>ot', '<cmd>ObsidianNewFromTemplate<CR>', { desc = 'new from [T]emplate ' })
49 + vim.keymap.set('n', '<leader>oa', '<cmd>ObsidianTags<CR>', { desc = 'T[a]gs picker' })
50 + vim.keymap.set('n', '<leader>oc', '<cmd>ObsidianTOC<CR>', { desc = 'Table of [C]ontent' })
51 + vim.keymap.set('n', '<leader>ob', '<cmd>ObsidianBacklinks<CR>', { desc = '[B]acklinks' })
52 + vim.keymap.set('n', '<leader>oi', '<cmd>ObsidianLinks<CR>', { desc = 'L[i]nks' })
53 + vim.keymap.set('n', '<leader>or', '<cmd>ObsidianRename<CR>', { desc = '[R]enomer la note' })
54 + vim.keymap.set('n', '<leader>od', '<cmd>DeleteNote<CR>', { desc = '[D]elete note' })
55 + vim.keymap.set('n', '<leader>ov', '<cmd>MoveNoteToAll<CR>', { desc = '[V]alider la note' })
56 + -- visual mode obsidian
57 + vim.keymap.set('v', '<leader>ol', '<cmd>ObsidianLink<CR>', { desc = '[L]ien' })
58 + vim.keymap.set('v', '<leader>oo', '<cmd>ObsidianLinkNew<CR>', { desc = '[O]bs. nouveau lien' })
59 + vim.keymap.set('v', '<leader>oe', '<cmd>ObsidianExtractNote<CR>', { desc = '[E]xtraire la note' })
Newer Older