- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
就我而言,我有两个文件 file1 和 file2。使用 vimdiff,我想合并更改,如下所示:
Listing 2
和 List 2
应该是 List 2
后跟 Listing 2
在合并文件。快照如下所示。
我们如何使用 vimdiff 来实现这一点?
最佳答案
您可以使用以下基本命令进行合并:
do - 将其他窗口的更改获取到当前窗口。
dp - 将当前窗口的更改放入另一个窗口。
]c - 跳转到下一个更改。
[c - 跳转到上一个更改。
zo - 打开折叠线。
zc - 关闭折叠线。
zr - 完全展开两个文件。
zm - 完全折叠两个文件。
Ctrlww - 更改窗口。
:only | wq
- 退出其他窗口,写入并退出。
如果您正处于变革阶段(或者只是一行更改下的一行)在正常模式下,但在可视模式下则不然。
撤消命令仅在已更改的缓冲区中起作用,因此,如果您使用 dp 并且改变了主意,则需要切换到要撤消的其他缓冲区。
:diffupdate
将重新扫描文件中的更改(Vim 可能会感到困惑,并显示虚假内容)。
在可视模式下选择文本行时,必须使用普通命令:
:'<,'>diffget
和:'<,'>diffput
.例如:
:diffput
将选定的行推送到其他文件或 :diffget
从另一个文件中获取选定的行。详细说明一下:这意味着如果存在由多行组成的更改 block ,则选择行的子集并发出 :diffput
只会在其他缓冲区中应用这些更改。
( :diffget
和 :diffput
也接受范围,有关更多信息,请参阅 :h copy-diffs
。)
如果您分片加载两个文件( :vs
或 :sp
),您可以执行 :diffthis
。在每个窗口上并实现已加载到缓冲区中的文件的差异。
:diffoff
可用于关闭 diff 模式。
This Vimcasts post and video在实践中展示这一点。
确保所有参与缓冲区均处于 diff 模式(请参阅 :h start-vimdiff
)
a。获取从缓冲区到当前缓冲区的更改: :%diffget <buffer-number>
b。将当前缓冲区中的所有更改放入另一个缓冲区中: :%diffput <buffer-number>
( :%
是选择整个文件的范围;请参阅 :h :%
。:ls
将显示当前打开的缓冲区。)
关于vim - 使用 vimdiff 合并更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832630/
vimdiff file1 file2 除了差异之外,这两个文件还显示相同的行。是否可以隐藏它们?怎么做? 最佳答案 由于Vim是文本编辑器(不是专用的diff查看器),因此将保留两个文件的全部内容(
vimdiff 有助于以图形方式显示两个文件的差异,并允许我们从左到右/从右到左选择更改。 我正在处理的文件是巨大的文件,除少数之外,大多数差异 vimdiff 报告都可以自动合并。因为在 vimdi
vimdiff 能否支持同一行上的差异合并(以便我得到它们的集合?) 示例:以下列冲突标记开头: I like apples peaches >>>>>> diverge for supper 在上面
在我的 .subversion/config文件,我已经设置了 diff-cmd作为调用 vimdiff 的脚本查看更改。 以下是我的问题: 我正在查看两个 svn URLS 之间的差异,它们修改了
用作 mergetool for Git 时,vimdiff 中与 kdiff3 的“从 A/B/C 中选择行”等效的是什么? kdiff3 中是否有类似 Ctrl+1/2/3 的快捷方式? 最佳答案
我正在使用 vimdiff 来查看两个文件之间的差异。我想知道是否可以从左侧选项卡(第一个文件)复制一行并将其粘贴到第二个选项卡(第二个文件)中。实际上,我什至无法访问第二个选项卡。 谢谢! 最佳答案
在 Vimdiff 中,我知道我可以使用“do”或“dp”将更改从一个文件移动到另一个文件...但这些是针对个别更改的。如果我必须撤消特定范围/选择内的所有更改(比如撤消对特定功能的所有更改,但保持其
我的设置是使用vim(特别是图形模式下的MacVim)来编辑源文件,然后我使用vimdiff(再次在图形模式下)进行(mercurial)存储库差异。有时,当我做 diff 时,vim 会给我错误:
当我跑 vimdiff我得到了一个非常糟糕的语法突出显示(不可读): 在 MacVim 上运行要好一些,但仍然很糟糕。 这是因为我的配色方案(目前使用明夜)吗? 如果是这样,有没有办法修改 vimdi
有时我使用 vimdiff 并想抓取代码并将其放在第三个窗口/缓冲区中以供以后引用。但是,当该窗口打开时,几乎所有内容都被标识为差异(因为它故意与其他两个文件不同)。使用vimdiff时如何以非差异模
scmdiff标记文件的 checkin 版本和正在编辑的文件之间的差异。它通过为更改的线条着色来标记它。有什么方法可以使用 vimdiff 查看更改吗? -style split 而不是仅仅为改变的
我有一个非常大的 csv 文件,其中每个字段的宽度都相同(因此每行的宽度都相同)。我需要找到特定列中的差异。 当我在 vimdiff 中打开 2 个文件时,大多数行都被标记为 diff,因为有一个定期
vimdiff 显示两个或多个相同文件之间的差异。是否可以看到两对文件的差异。例如,当查看 .H 中的差异时文件和 .C文件,来回查看差异会很方便。一种方法是打开old.C new.C old.H n
我有几十个文件需要用 vimdiff 进行比较和合并。有什么方法可以将成对的文件排队进行比较,以便我可以一次打开它们,而不是一次又一次地返回 shell 来打开每对文件? 可以通过在自己的选项卡中打开
如何强制 vimdiff 始终逐行比较两个文件而不识别添加或删除的行? 问题是,如果两个文件之间的差异很大,但碰巧文件中的两行匹配,vimdiff 认为这些行是相同的,只是将其余行视为添加或删除的行,
在 vim 中比较两个文件时(例如 vim -d file1 file2),我希望忽略所有空格。 我几乎是按照 Adam Katz 在这个问题中的建议来实现的: Is there a way to c
过去我用谷歌搜索过多次,但一直没有找到答案。有没有办法保存 vimdiff 的输出(最好在保持颜色、高光等的同时)?我想将这个输出文件发送给其他人并告诉他们“只需打开这个文件,这里是差异,并排并突出显
在 vimdiff 中,您可以使用 [c 和 ]c 转到上一个或下一个更改,但是在进行三向合并时,许多更改并不冲突。是否有一个命令可以转到下一个冲突,而不是下一个更改,例如万花筒? 最佳答案 您指的是
就我而言,我有两个文件 file1 和 file2。使用 vimdiff,我想合并更改,如下所示: 第一个区别是,将文件 1 中的行放在文件 2 中的行上方。这意味着差异,例如 file2 中的 Li
I already know如何使用 diffopt 变量启动具有水平/垂直分割的 diff 模式,但当我已经打开两个文件进行比较时,如何在两者之间切换。 我尝试了 this older post 中
我是一名优秀的程序员,十分优秀!