Vim扫盲: buffer,window,tab

Vim 中的 windowtab 非常具有迷惑性,跟我们平时所说的 “窗口” 和 “标签页” ,是完全不同的两个概念,请看 vimdoc 给出的定义:

A buffer is the in-memory text of a file.
A window is a viewport on a buffer.
A tab page is a collection of windows.

简单来说就是:

  • buffer 可以看做是内存中的文本文件,在没写到磁盘上时,所有的修改都发生在内存中;
  • window 用来显示 buffer,同一个 buffer 可以被多个 window 显示(一个 window 只能显示一个 buffer);
  • tab page 包含了一系列的 window,其实叫 layout 更合适,看 这里

来看 Vim 官网上的一幅图:

Tabs-windows-buffers.png

如何选择

目前在 Vim 中比较成熟的方案是使用 buffer 来模拟我们平时所说的 “标签页”,这样在终端中使用 Vim 的时候,也可以获得一致的体验。有很多的插件可以供选择:

我比较推荐 vim-bufferline + vim-airline 的组合,下面给一张截图供参考:

vim-airline-bufferline.png

可以在 ~/.vimrc 中添加如下配置,来使用 \ + [1-9] 在 “tab” 中切换:

let g:airline#extensions#tabline#buffer_idx_mode = 1
nmap <leader>1 <Plug>AirlineSelectTab1
nmap <leader>2 <Plug>AirlineSelectTab2
nmap <leader>3 <Plug>AirlineSelectTab3
nmap <leader>4 <Plug>AirlineSelectTab4
nmap <leader>5 <Plug>AirlineSelectTab5
nmap <leader>6 <Plug>AirlineSelectTab6
nmap <leader>7 <Plug>AirlineSelectTab7
nmap <leader>8 <Plug>AirlineSelectTab8
nmap <leader>9 <Plug>AirlineSelectTab9

参考链接

前往独立博客阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值