两个不同vim之间复制内容

本文介绍了一种在Vim编辑器中通过窗口分割来高效复制粘贴代码的方法,包括分割窗口、打开文件、切换窗口及复制粘贴的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常规想法是打开两个vim,然后进行yy和p操作,但是实践证明根本是不行的。此时,我们需要分割窗口,然后就可以复制粘贴了。步骤如下:

假设我要把srv.c文件的readline函数整体复制到cli.c文件中。 
1. 分割:此时先打开srv.c,然后在命令界面下输入sp 
mark 
2. 打开:输入e cli.c,这样就打开了cli.c 
mark 
3. 切换窗口:CTRL+w+方向键(上下左右)就可以切换窗口了。 
4. 进行有效的复制:如果想要复制一个函数到另外一个窗口,可以如下操作

    • 找到开头:找到函数入口或者出口的”{“,输入Shift+V进入可视化模式 
      mark
    • 拉动鼠标滑轮到想要复制的函数末尾 
      mark
    • 进行常规的复制yy 
      mark
    • ctrl+w+方向键(上下左右)切换回cli.c,选择合适位置,粘贴p 
      mark

 

原文链接:http://blog.youkuaiyun.com/u010296036/article/details/70591639

转载于:https://www.cnblogs.com/duex/p/8284656.html

### 如何使用 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、付费专栏及课程。

余额充值