当我退出 VIM 并再次打开同一文件时,我位于文件的开头。如何保留最后的光标位置?
取自http://amix.dk/vim/vimrc.html
" Return to last edit position when opening files (You want this!)
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
“开箱即用”
.vimrc
通过以下语句实现了这一点:
source $VIMRUNTIME/vimrc_example.vim
您可能只需要在您的
.vimrc
中恢复此声明。无论如何,请参阅 vimrc_example.vim
以及 Vim 手册中的 line()
函数,了解其工作原理的讨论。
-- Restore cursor position
vim.api.nvim_create_autocmd({ "BufReadPost" }, {
pattern = { "*" },
callback = function()
vim.api.nvim_exec('silent! normal! g`"zv', false)
end,
})
我正在向 @Mariano 答案添加更完整的示例
为了支持其他帖子,在 neovim init.lua 中工作的版本是: vim.api.nvim_create_autocmd('BufReadPost', { command = "静音!正常!g`"zv" })