vim 分屏&对比

实战总结

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.

vsplit和vnew是垂直分割窗口
q,w等加上all可以对所有窗口同时操作

ctrl+w s 水平打开一个窗口
ctrl+w v 垂直打开一个窗口
ctrl+w q 关闭当前窗口

CTRL-W h 跳转到左边的窗口
CTRL-W j 跳转到下面的窗口
CTRL-W k 跳转到上面的窗口
CTRL-W l 跳转到右边的窗口
CTRL-W w在窗口之间跳转

CTRL-W H 把当前窗口移到最左边
CTRL-W J 把当前窗口移到最下边
CTRL-W K 跳转到上面的窗口
CTRL-W L 把当前窗口移到最右边

Ctrl-w + 调大窗口
Ctrl-w - 调小窗口
Ctrl-w = 使得窗口一样大小

vim -o 打开文件时水平分割窗口
vim -O 打开文件时垂直分割窗口
:split file 打开新窗口编辑另一个文件
:new 打开新窗口,编辑默认文件
:only 关闭当前窗口之外的所有矿口

显示差异

vimdiff file1 file2

zc
zo 关闭折叠

:vertical diffsplit main.c~

]c
[c

:dp “diff put” 我改你
:do diff obtain 你改我

标签页

gt Goto Tab
标签页
:tabedit file
:tab split
:tab help gt
“tabonly”

### 如何使用 Vim 对比两个文件 #### 打开并对比两个文件 可以通过 `vimdiff` 命令或者 `-d` 参数启动 Vim 的比较模式来打开两个文件。具体命令如下: ```bash vimdiff file1 file2 ``` 或者 ```bash vim -d file1 file2 ``` 这两种方式都会以分屏形式展示两个文件,并自动高亮显示它们之间的差异[^1][^3]。 如果已经在 Vim 中打开了一个文件,则可以使用以下命令加载另一个文件进行对比: ```vim :vert diffsplit file2 ``` 此命令会在当前窗口旁边垂直分割屏幕并加载指定的文件用于对比。如果不加 `vert` 关键字,窗口将以水平方式分割[^4]。 #### 定位差异点 为了更高效地浏览文件间的区别,Vim 提供了一些快捷键帮助导航至各个差异区域: - `[c`: 移动光标至上一差异处。 - `]c`: 移动光标至下一差异处[^3]^。 #### 切换窗口 当处理多个文件时,在不同窗口之间切换变得尤为重要。以下是几个常用的窗口切换指令: - `Ctrl-W w`: 跳转到下一个窗口。 - `Ctrl-W h/l`: 左右方向移动到相邻窗口。 - `Ctrl-W j/k`: 上下方向移动到相邻窗口[^3]^。 #### 合并与编辑操作 在发现需要调整的地方之后,可以直接通过特定命令实现跨文件内容交换或同步修改: - `dp`: 把当前选中的差异部分复制到对面文件中(Diff Put)。 - `do`: 获取对方文件对应位置的数据覆盖本地数据(Diff Get)。这有助于快速解决冲突或将改动应用到目标文件上[^3]^。 #### 展开折叠区段 由于某些相似但未完全一致的部分会被压缩成折叠状态以便于观察主要变化,因此可能还需要了解如何手动展开这些隐藏起来的信息: - `zo`: 解锁选定行上的折叠项使其可见。 - `zc`: 再次关闭已开放出来的折叠区块返回原始视图^。 另外还可以自定义上下文范围大小影响哪些临近行也会参与到匹配过程中去作为参照依据之一设定参数如下面例子所示改变默认值为三行而非原来的六行长度限制: ```vim :set diffopt=context:3 ``` ### 总结 以上就是关于怎样借助强大的文本编辑器——Vim 来完成对任意两份纯文本资料间异同分析工作的详细介绍说明了。它不仅限于此简单场景下的运用场合,在日常开发维护项目源码库管理等方面同样发挥着不可替代的作用价值所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值