mathieu revised this gist . 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