前言
之前已经了解了VIM的基本操作,发现实际使用的时候每次都要同时打开多个文件进行操作,打开多个会话有比较麻烦。那么有没有一种方法可以多文件多窗口操作?
打开分屏
从shell中打开分屏
命令
vim -On [FILE_1] [FILE_2] ...
vim -on [FILE_1] [FILE_2] ...
说明
-O:垂直分割(vertical)
-o: 水平分割(默认horizontal)
n: 表示分几个屏,可以缺省不写,
默认按后面要分割的文件数来决定分几个屏
[FILE_1][FILE_2]: 需要打开文件
从VIM中打开分屏
命令 / 快捷键 | 效果 |
---|---|
:new | 创建空白分屏 |
:sp+fname | 水平分屏(split)打开fname文件 |
:vs+fname | 垂直分屏(vertical split)打开fname文件 |
[CTRL] [W] s | 水平打开当前文件 |
[CTRL] [W] v | 垂直打开当前文件 |
分屏调整
命令(快捷键) | 说明 |
---|---|
[CTRL] [W] + | 扩大窗口 |
[CTRL] [W] - | 缩小窗口 |
[CTRL] [W] h | 跳转到左边的窗口 |
[CTRL] [W] j | 跳转到下边的窗口 |
[CTRL] [W] k | 跳转到上边的窗口 |
[CTRL] [W] l | 跳转到右边的窗口 |
[CTRL] [W] t | 跳转到最顶上的窗口 |
[CTRL] [W] b | 跳转到最顶下的窗口 |
[CTRL] [W] w | 切换不同分屏 |
:res(ize) num | :res 5,显示行数调整为5行 |
:res(ize)+num | 把当前窗口高度增加num行 |
:res(ize)-num | 把当前窗口高度减少num行 |
:vertical res(ize) num | 指定当前窗口为num列 |
:vertical res(ize)+num | 把当前窗口增加num列 |
:vertical res(ize)-num | 把当前窗口减少num列 |
:f filename | 给窗口重命名 |
:ls | 列出打开的文件 |
bn | 显示第n个文件 |
:bp | 显示下一个文件 |
:shell | 可以在不关闭vi的情况下切换到shell命令行 |
:exit | 从shell回到vi |
关闭分屏
命令(快捷键) | 说明 |
---|---|
:q! / :w! / :x | 关闭窗口 |
[CTRL] [W] q | 关闭窗口 |
:c | 暂时关闭窗口,其内容还在缓存中 |
[CTRL] [W] c | 关闭窗口,不能关闭最后一个 |
:tabc | 关闭当前窗口 |
:tabo | 关闭所有窗口 |