diff --git a/.config/nvim/.github/README.md b/.config/nvim/.github/README.md
index ee2cd680..4dd74eae 100644
--- a/.config/nvim/.github/README.md
+++ b/.config/nvim/.github/README.md
@@ -297,6 +297,7 @@
🔖 Marks
- [ThePrimeagen/harpoon](https://dotfyle.com/plugins/ThePrimeagen/harpoon)
+- [tomasky/bookmarks.nvim](https://dotfyle.com/plugins/tomasky/bookmarks.nvim)
diff --git a/.config/nvim/lua/plugins/extras/editor/bookmarks.lua b/.config/nvim/lua/plugins/extras/editor/bookmarks.lua
new file mode 100644
index 00000000..4c30445c
--- /dev/null
+++ b/.config/nvim/lua/plugins/extras/editor/bookmarks.lua
@@ -0,0 +1,43 @@
+return {
+ "tomasky/bookmarks.nvim",
+ config = function()
+ require("bookmarks").setup({
+ save_file = vim.fn.stdpath("state") .. "/bookmarks",
+ keywords = {
+ ["@t"] = " ",
+ ["@w"] = " ",
+ ["@f"] = " ",
+ ["@n"] = " ",
+ },
+ })
+ require("lazyvim.util").on_load("telescope.nvim", function()
+ require("telescope").setup({
+ extensions = {
+ repo = {
+ list = {
+ fd_opts = {
+ "--no-ignore-vcs",
+ },
+ search_dirs = {
+ "~/Repos/",
+ },
+ },
+ },
+ },
+ })
+ require("telescope").load_extension("bookmarks")
+ end)
+ end,
+ -- stylua: ignore
+ keys = {
+ { "fB", "Telescope bookmarks list", desc = "Bookmarks" },
+ { "mm", function() require("bookmarks").bookmark_toggle() end, desc = "Toggle Bookmark" },
+ { "ml", function() require("bookmarks").bookmark_ann() end, desc = "Add/Edit Current Line" },
+ { "mc", function() require("bookmarks").bookmark_clean() end, desc = "Clear All Bookmarks" },
+ { "mn", function() require("bookmarks").bookmark_next() end, desc = "Next Bookmark" },
+ { "mp", function() require("bookmarks").bookmark_prev() end, desc = "Previous Bookmark" },
+ { "]k", function() require("bookmarks").bookmark_next() end, desc = "Next Bookmark" },
+ { "[k", function() require("bookmarks").bookmark_prev() end, desc = "Previous Bookmark" },
+ { "mL", function() require("bookmarks").bookmark_list() end, desc = "List Bookmarks" },
+ },
+}