问题标签 [vimdiff]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - 让 gVim 的 vimdiff 忽略大小写
我正在尝试比较两个汇编文件,其中一个全部大写,另一个小写。许多行与大小写和空格相同。
我尝试了以下方法,而两个缓冲区处于差异模式:
空白的东西似乎运作良好,但忽略案例并没有发挥作用。例如,在以下两行中:
[第一行以 12 个空格开头,第二行以单个制表符开头]
为什么?我能做些什么?
更新:刚刚注意到在这两行中所有差异都被忽略了:
vim - 通过 Vim/gVim 中的函数调用激活备用 Diff 模式
在最近的一个问题中,我询问了如何让 vimdiff 在比较时忽略多余的空格。在回答和进一步阅读之后,我尝试执行以下操作:
.1。找到 _vimrc
并找到MyDiff()
函数定义。它包含以下行:
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
.2. 复制中的函数MyDiff2()
,_vimrc
同时将该行更改为:
if &diffopt =~ 'iwhite' | let opt = opt . '--ignore-all-space ' | endif
.3. 以 Diff 模式打开带有两个文件的gVim ,然后:
:set diffexpr=MyDiff2()
:set diffopt+=iwhite
:call MyDiff2()
并且:
:diffupdate
我希望这会使 vimdiff 忽略诸如:
r3=r2;
vs之类的差异r3 = r2;
,但事实并非如此。这是为什么?
我的设置如下:
diffexpr=MyDiff2()
diffopt=filler,iwhite,icase
linux - 如何在 Vimdiff 中展开/折叠差异部分?
我今天开始使用 vimdiff,并且想做一些我在基于 Windows 的差异编辑器上认为理所当然的事情(例如展开/折叠差异部分,具有完整的文件扩展/仅具有三个上下文行的差异或下面等)。我目前只知道以下命令:
键盘快捷键:
do- 从其他窗口获取更改到当前窗口。
dp- 将当前窗口的更改放入另一个窗口。
]c- 跳转到下一个更改。
[c- 跳转到上一个更改。
Ctrl+ W, w- 切换到另一个拆分窗口(Ctrl+ W, Ctrl+做同样的事情,以防你稍后W放开键)Ctrl
有人可以指出我正确的方向,以便我可以复制类似的功能吗?
例如,如果我可以在差异周围展开/折叠线,那就太好了。
vim - 有没有办法将多对文件排队以与 vimdiff 进行比较?
我有几十个文件需要与 vimdiff 进行比较和合并。有没有办法将成对的文件排队进行比较,以便我可以一次打开它们,而不是一次又一次地返回 shell 来打开每对文件?
这可以通过在自己的标签中打开每对来完成吗?我的外壳是 Bash。
windows-xp - 为什么“Diff with Vim”命令不起作用?
我在 WinXP 上运行 gVim。
我打开一个文件夹,选择两个文件,然后单击“Diff with Vim”。截屏:
gVim GUI 启动,每个文件都在其自己的选项卡中。我注意到每个选项卡都处于 DIFF 模式。但是,没有在两个选项卡之间进行比较。这两个文件完全不同,但没有突出显示,什么都没有——只有左边的一条灰线,我将其解释为“DIFF”模式:
到底是怎么回事?我的vimdiff不工作还是其他原因?
我的解决方案
早些时候,当我需要使用 Windows 上下文菜单在多个选项卡中打开文件时,我遵循了海报的建议,并将以下行添加到我的.vimrc文件中::autocmd BufReadPost * tab ball
虽然这允许我在一个 Vim 窗口的不同选项卡中打开两个文件,但如果我愿意的话,我失去了区分这两个文件的能力。打开这两个功能的解决方案是autocmd
仅在我不想区分这两个文件的情况下启用上述功能,这种情况发生在&diff==0
. 因此,当我将.vimrc文件中的代码修改为以下代码时,我重新获得了具有 Vim功能的Diff :
我还在上面提到的Vim Wikia 链接的评论部分添加了这个解决方案。
windows - vim 中的不同窗口
我正在编写一个相当复杂的脚本。我怀疑有几个部分的代码几乎相同。我可以(以及如何)在vim中打开文件,缓冲区上有两个(或更多)窗口,并在同一个文件上区分窗口的内容吗?vimdiff 似乎只适用于两个文件。如果我制作文件的副本并尝试 vimdiff 两个版本,则差异来源仍锁定在文件的开头。虽然我可以取消滚动锁定窗口,并将窗口移动到我想要比较的文件部分,但没有显示出来。任何提示或提示?我可以将要比较的部分剪切并粘贴到不同的文件,然后应用 vimdiff,但是当我尝试将单独的文件修补在一起时,我可能会迷失在哪个部分来自哪里,我确信必须有一个更简单的,更简单的方法。
linux - Vimdiff: How to put all changes inside a particular function from one file to another?
In Vimdiff, I know I can use "do" or "dp" to move changes from one file to the other...but these are for individual changes. If I have to undo all changes inside a specific scope/selection (say undo all changes to a particular function, but leave the rest untouched), is there a way to do it in one go ?
vim - 使用 vimdiff 替换整个文件?
我正在使用 vimdiff 进行 git 合并。有没有一种快速的方法来选择要使用的 1 个文件,现在我只是从一个缓冲区中选择所有内容,用它替换 $MERGE,然后保存。我想我可以宏化,但想知道是否有更好的方法。谢谢!
mercurial - 自从编写 hg 书以来,`hg backout` 的行为是否发生了变化?
我创建了一个新的存储库,test-backout
,并在其中添加了一个新文件,file
. 然后我每次进行 4 次提交,将提交的编号附加到file
使用
实际上,文件具有:
根据 hg 书,如果我运行hg backout --merge 2
,我应该:
但相反,它无法合并并打开我的 difftool (vimdiff),我得到 3 个选项:
我最初尝试使用该--merge
选项,然后再次尝试没有它。我现在的问题是,我还有办法得到:
我只是犯了一个错误或错过了什么,还是我坚持这些选择?