在 Vim 中,有没有办法在当前选项卡和最后一个活动选项卡之间快速切换? '' 在当前行和最后一个活动行之间切换的方式。插件/键盘映射/巫术都可以接受。
把这个放在你的.vimrc中:
if !exists('g:lasttab')
let g:lasttab = 1
endif
nmap <Leader>tl :exe "tabn ".g:lasttab<CR>
au TabLeave * let g:lasttab = tabpagenr()
然后,在正常模式下,键入
\tl
切换到您上次查看的选项卡。
修复标签关闭时的潜在问题:
" Switch to last-active tab
if !exists('g:Lasttab')
let g:Lasttab = 1
let g:Lasttab_backup = 1
endif
autocmd! TabLeave * let g:Lasttab_backup = g:Lasttab | let g:Lasttab = tabpagenr()
autocmd! TabClosed * let g:Lasttab = g:Lasttab_backup
nmap <silent> <Leader>` :exe "tabn " . g:Lasttab<cr>
我使用缓冲区而不是选项卡,但我可以使用
:b#
:e filename to open file in new buffer
:bn to go to next buffer
:bp to go to previous buffer
:bd to close current buffer
这里有一个 lua 解决方案,适用于使用 neovim 的人,同时确保将
-- switching to last active tab
vim.api.nvim_create_autocmd("TabLeave", {
pattern = "*",
callback = function()
vim.api.nvim_set_keymap('n', '<A-S-b>', '<cmd>tabn ' .. vim.api.nvim_tabpage_get_number(0) .. '<CR>', { noremap = true, silent = true })
end
})
在正常模式下按
g<Tab>
转到以前访问过的选项卡。这是标准命令。无需对配置进行任何更改。