doc: 阅读vim tab文档

This commit is contained in:
asahi
2025-07-25 01:56:01 +08:00
parent 4cbfb1bda2
commit 449caf7a6c

View File

@@ -114,3 +114,66 @@ vim f1
- `:split {filename}` - `:split {filename}`
- `:new {filename}` - `:new {filename}`
### tabs
vim除了支持同时展示多个windows之外也同样支持`tab`。在vim中tab和浏览器/现代编辑器类似tab为对window的布局垂直/水平多个window的布局
在vim中tab并不表示打开的文件即使当tab被关闭文件的buffer仍然会存在。
tab的常用命令如下
#### `:tabnew`
`:tabnew {filename}`用于在新tab中打开文件使用示例如下
```bash
:tabnew file1.txt
```
`:tabnew`并不实际依托于buffer存在可以直接调用`:tabnew`先创建一个tab然后在新tab中调用`:e`打开文件进行编辑。
```bash
:tabnew
:e file2.txt
```
#### `:tabclose`
`:tabclose`命令用于关闭当前tab
#### `:tabnext`
`:tabnext`命令用于切换到下个tab
#### `:tabprevious`
`:tabprevious`命令用于切换到前一个tab
#### `:tablast`
`:tablast`用于切换到最后一个tab
#### `:tabfirst`
`:tabfirst`用于切换到第一个tab
#### `gt`
除了通过命令外,还可以通过快捷键`gt`切换到`下一个tab页面`
#### `gT`
快捷键`gT`则是可以切换到`前一个tab页面`
#### `{n}gt`
`{n}gt`支持通过tab序号快速切换tab例如`3gt`可以切换到第三个tab。
#### `vim -p`
在进入vim时如果想打开多个tab可以添加`-p`选项,示例如下
```bash
vim -p f1.txt f2.txt f3.txt
```
### window和buffer的组合
vim支持同时打开多个window并且`每一个window都包含了一个buffer`。可以通过`ctrl + w + {dir}`快捷键的方式在window之间切换但是`对于当前的焦点window仍可以通过 :buffer {filename} 的方式来切换当前焦点window对应的buffer`
例如当前存在三个windows`w1, w2, w3`,其打开文件分别为`f1, f2, f3`,可以切换到`w2` window并且调用`:b f3`命令,此时会将当前的`w2`的buffer切换到`f3`,此时,`w1, w2, w3`对应的打开文件则变成了`f1, f3, f3`
> 通常在图形操作系统中使用vim其`terminal`(如`windows系的Windows Terminal`和`Linux系的KConsole`,其终端本身就支持`tab`功能此时可以无需使用vim本身的tab功能。
>
> 但是在非图形化系统如通过ssh访问服务器此时在服务端未提供图形支持的前提下可以使用vim tab来实现多tab打开。