Intelligently restore your cursor position when reopening files in Neovim
{
"nxhung2304/lastplace.nvim",
config = function()
require("lastplace").setup({
-- your configuration here
})
end,
}
use {
"nxhung2304/lastplace.nvim",
config = function()
require("lastplace").setup()
end,
}
Plug 'nxhung2304/lastplace.nvim'
require("lastplace").setup({
-- Filetypes to ignore
ignore_filetypes = {
"gitcommit", "gitrebase", "svn", "hgcommit", "xxd", "COMMIT_EDITMSG"
},
-- Buffer types to ignore
ignore_buftypes = {
"quickfix", "nofile", "help", "terminal"
},
-- Center cursor after jumping
center_on_jump = true,
-- Only jump if target line is not visible
jump_only_if_not_visible = false,
-- Minimum lines required to enable jumping
min_lines = 10,
-- Maximum line to jump to (0 = no limit)
max_line = 0,
-- Open folds after jumping
open_folds = true,
-- Enable debug messages
debug = false,
})
require("lastplace").setup({
debug = true,
-- Watch debug messages with :messages
})
| Command | Description |
|---|---|
:LastPlaceJump |
Manually jump to last cursor position |
:LastPlaceToggle |
Toggle cursor centering feature |
:LastPlaceInfo |
Show current plugin status and config |
:LastPlaceReset |
Reset configuration to defaults |
local lastplace = require("lastplace")
-- Setup with custom config
lastplace.setup({
center_on_jump = false,
ignore_filetypes = {"dart", "kotlin"},
})
-- Manual operations
lastplace.jump() -- Jump to last position
lastplace.is_ignored() -- Check if current buffer is ignored
local config = lastplace.config() -- Get current configuration
-- Conditional jumping
vim.api.nvim_create_autocmd("BufReadPost", {
pattern = {"*.lua", "*.py", "*.js"},
callback = function()
local lastplace = require("lastplace")
if not lastplace.is_ignored() then
lastplace.jump()
end
end,
})