切换到 VIM 中的最后一个活动选项卡

问题描述 投票:0回答:5

在 Vim 中,有没有办法在当前选项卡和最后一个活动选项卡之间快速切换? '' 在当前行和最后一个活动行之间切换的方式。插件/键盘映射/巫术都可以接受。

vim tabs
5个回答
72
投票

把这个放在你的.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
切换到您上次查看的选项卡。


6
投票

修复标签关闭时的潜在问题:

" 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>

3
投票

我使用缓冲区而不是选项卡,但我可以使用

: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 

0
投票

这里有一个 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
})

0
投票

在正常模式下按

g<Tab>
转到以前访问过的选项卡。这是标准命令。无需对配置进行任何更改。

© www.soinside.com 2019 - 2024. All rights reserved.