{"Boofny/teleport.nvim"}https://github.com/Boofny/teleport.nvim.git- Need git installed
- File marks can be used on non git repo projects BUT will not be saved for later use
- If a git project is moved to a different directory the saved marks will reset and can be altered in ~/.local/share/nvim/teleport/
- the following code should be placed in your configs init.lua BEFORE the plugins require module in order to get this plugin working correctly
vim.cmd("delmark ABCD") local tele = require("teleport")
vim.keymap.set("n", "<leader>a", tele.add_mark)
vim.keymap.set("n", "<leader>t", tele.list_mark_files)
vim.keymap.set("n", "<leader>1", function() tele.nav:nav_mark(1) end)
vim.keymap.set("n", "<leader>2", function() tele.nav:nav_mark(2) end)
vim.keymap.set("n", "<leader>3", function() tele.nav:nav_mark(3) end)
vim.keymap.set("n", "<leader>4", function() tele.nav:nav_mark(4) end)
-- tab iteration
vim.keymap.set("n", "<A-n>", function() tele.nav:next() end)
vim.keymap.set("n", "<A-p>", function() tele.nav:prev() end)
-- select picker
vim.keymap.set("n", "<leader>gt", tele.find_marks)
-- optional mark override for file pos
vim.keymap.set("n", "<leader>k1", function() tele.add_mark_override(1) end)
vim.keymap.set("n", "<leader>k2", function() tele.add_mark_override(2) end)
vim.keymap.set("n", "<leader>k3", function() tele.add_mark_override(3) end)
vim.keymap.set("n", "<leader>k4", function() tele.add_mark_override(4) end)
local tele = require("teleport")
-- default opts
tele.setup({
preselect = false, -- keeping cursor on current mark when opening menu
border = "single", -- border for the main list
position = "center", -- top, center, bottom center being default
preview_length = 50, -- previewing files length
save_warning = true, -- get a reminder that marks are not saved in non git repos
file_modify_status = true, -- show [+] modify status inline the list_mark_files menu
file_git_status = true, -- showing XY of git status inline the the list menu
file_git_status_color = true, -- XY git status symbols being colored in
exclude = {} -- paths to programs that are excluded from marks
-- must have no trailing slash in full path ex: /home/<owner_name>/project_name
})
{
function ()
local ok, teleport = pcall(require, 'teleport.markings')
if not ok then return '' end
local current = teleport.status_line_current_mark() -- just returns mark 1..4 or -1 for a non mark
if current == -1 then
return ''
end
return "T: " .. current
end
},| Command | Description |
|---|---|
:AddMark |
Add a new mark at the cursor position |
:ClearMarks |
Remove all marks |
:ListMarkFiles |
List files using marks |
:FindMarks |
Search marks |
:ManageTeleport |
Open the UI to manage marks |
In neovim type the help command
:help teleportOr go to the doc file