" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
local augroups = {}
augroups.restore_position {
restore_cursor_position = {
event = "BufRead",
pattern = "*",
command = [[call setpos(".", getpos("'\""))]],
},
}
for group, commands in pairs(augroups) do
local augroup = vim.api.nvim_create_augroup("AU_"..group, {clear = true})
for _, opts in pairs(commands) do
local event = opts.event
opts.event = nil
opts.group = augroup
vim.api.nvim_create_autocmd(event, opts)
end
end
4条答案
按热度按时间muk1a3rh1#
你会想读this vim tip。
vlf7wbxs2#
我经常使用这些命令:
CTRL-O转到[count]跳转列表中较早的光标位置(不是运动命令)。
CTRL-I转到跳转列表中的[count]个较新的光标位置(不是运动命令)。
ma在光标位置设置标记
a
(不移动光标,这不是运动命令)。'a跳转到当前缓冲区中的标记
a
。gi在当前缓冲区中上次停止插入模式的位置插入文本。
kadbb4593#
请阅读:
:help last-position-jump
fjaof16o4#
将这几行放在~/.vimrc文件中
这只会帮助你下次打开vim恢复你的光标位置。
另一个方法是将它放在你的~/.bashrc上
它将允许您打开上次编辑的文件。
更新!
上面的别名将在命令模式
-c
下打开vim,以编辑替代文件#
,在本例中是第一个<1
,也就是最后一个。对于neovim我有这个:
在您的
init.lua
中在您的lua目录中创建一个名为
autocmds.lua
的文件: