obsidian-nvim-keymap.lua
· 2.9 KiB · Lua
Raw
-- Obsidian
-- Move to ~/Notes/all
vim.api.nvim_create_user_command('MoveNoteToAll', function()
local file = vim.fn.expand '%:p' -- Obtenir le chemin complet du fichier ouvert
local target_dir = vim.fn.expand '~/Notes/all/' -- Résoudre le chemin du dossier cible
-- Vérifier si le fichier existe
if vim.fn.filereadable(file) == 1 then
-- Utiliser une commande shell pour déplacer le fichier
local cmd = 'mv ' .. vim.fn.shellescape(file) .. ' ' .. vim.fn.shellescape(target_dir)
vim.fn.system(cmd)
-- Vérifier si la commande s'est bien exécutée
if vim.fn.filereadable(target_dir .. vim.fn.fnamemodify(file, ':t')) == 1 then
-- Fermer le buffer après déplacement si le fichier a bien été déplacé
vim.cmd 'bdelete!'
else
print "Erreur : Le fichier n'a pas été déplacé."
end
else
print 'Impossible de déplacer : fichier non valide.'
end
end, { nargs = 0 })
-- Delete note
vim.api.nvim_create_user_command('DeleteNote', function()
local file = vim.fn.expand '%:p' -- Obtenir le chemin complet du fichier ouvert
-- Vérifier si le fichier existe
if vim.fn.filereadable(file) == 1 then
-- Utiliser une commande shell pour supprimer le fichier
local cmd = 'rm ' .. vim.fn.shellescape(file)
vim.fn.system(cmd)
-- Fermer le buffer après suppression
vim.cmd 'bdelete!'
else
print 'Impossible de supprimer : fichier non valide.'
end
end, { nargs = 0 })
-- Obsidian keymaps
vim.keymap.set('n', '<leader>on', '<cmd>ObsidianNew<CR>', { desc = '[N]ouvelle note' })
vim.keymap.set('n', '<leader>oj', '<cmd>ObsidianToday<CR>', { desc = 'Note [J]ournalière' })
vim.keymap.set('n', '<leader>ow', '<cmd>ObsidianDailies<CR>', { desc = '[W] Notes Journalières' })
vim.keymap.set('n', '<leader>oq', '<cmd>ObsidianQuickSwitch<CR>', { desc = '[Q]uick switch' })
vim.keymap.set('n', '<leader>os', '<cmd>ObsidianSearch<CR>', { desc = '[S]earch notes' })
vim.keymap.set('n', '<leader>ot', '<cmd>ObsidianNewFromTemplate<CR>', { desc = 'new from [T]emplate ' })
vim.keymap.set('n', '<leader>oa', '<cmd>ObsidianTags<CR>', { desc = 'T[a]gs picker' })
vim.keymap.set('n', '<leader>oc', '<cmd>ObsidianTOC<CR>', { desc = 'Table of [C]ontent' })
vim.keymap.set('n', '<leader>ob', '<cmd>ObsidianBacklinks<CR>', { desc = '[B]acklinks' })
vim.keymap.set('n', '<leader>oi', '<cmd>ObsidianLinks<CR>', { desc = 'L[i]nks' })
vim.keymap.set('n', '<leader>or', '<cmd>ObsidianRename<CR>', { desc = '[R]enomer la note' })
vim.keymap.set('n', '<leader>od', '<cmd>DeleteNote<CR>', { desc = '[D]elete note' })
vim.keymap.set('n', '<leader>ov', '<cmd>MoveNoteToAll<CR>', { desc = '[V]alider la note' })
-- visual mode obsidian
vim.keymap.set('v', '<leader>ol', '<cmd>ObsidianLink<CR>', { desc = '[L]ien' })
vim.keymap.set('v', '<leader>oo', '<cmd>ObsidianLinkNew<CR>', { desc = '[O]bs. nouveau lien' })
vim.keymap.set('v', '<leader>oe', '<cmd>ObsidianExtractNote<CR>', { desc = '[E]xtraire la note' })
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' }) |