doc: 阅读vim tab文档
This commit is contained in:
63
vim/vim.md
63
vim/vim.md
@@ -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打开。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user