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

发布于 2024-08-19 01:28:00 字数 108 浏览 2 评论 0 原文

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

In Vim, is there a way to quickly toggle between the current tab and the last-active tab? Sort of the way '' toggles between the current line and the last-active line. Plugins / keyboard mappings / voodoo all acceptable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

往昔成烟 2024-08-26 01:28:00

将其放入您的 .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 切换到您上次查看的选项卡。

Put this in your .vimrc:

if !exists('g:lasttab')
  let g:lasttab = 1
endif
nmap <Leader>tl :exe "tabn ".g:lasttab<CR>
au TabLeave * let g:lasttab = tabpagenr()

Then, in normal mode, type \tl to swap to the tab you viewed last.

没︽人懂的悲伤 2024-08-26 01:28:00

在正常模式下按 g 可转到之前访问过的选项卡。这是在 v8.2.1401 中添加的标准命令。无需对配置进行任何更改。

Press g<Tab> in Normal mode to go to previously visited tab. This is a standard command added in v8.2.1401. No need to make any changes to config.

把时间冻结 2024-08-26 01:28:00

修复关闭选项卡时的潜在问题:

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

Fix the potential issue when a tab is closed:

" 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>
天气好吗我好吗 2024-08-26 01:28:00

我使用缓冲区而不是制表符,但我可以使用 :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 

I use buffers and not tabs, but I am able to switch between the current and latest used buffer using :b#
Basics of using buffers are:

: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 
奢华的一滴泪 2024-08-26 01:28:00

对于使用 neovim 的人来说,这里有一个 lua 解决方案,同时确保将 更改为到您最喜欢的键绑定。

-- 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
})

here's a solution in lua for folks that uses neovim also make sure to change <A-S-b> to your favorite keybinding.

-- 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
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文