问题标签 [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.
git - 通过 Git 使用 Vimdiff 时如何获取 bufspec
我已经阅读了 Vimdiff和Viewing Differences with Vimdiff以及使用“vimdiff multiple”、“vimdiff git”、“vimdiff commands”等内容进行各种谷歌搜索。
使用 do 或 diffg 时,我收到错误“在 diff 模式下有两个以上的缓冲区,不知道要使用哪一个”。
使用 diffg v:fname_in 时,我得到“v:fname_in 没有匹配的缓冲区”。
从 vimdiff 文档:
:[range]diffg[et] [bufspec]
修改当前缓冲区以撤销与另一个缓冲区的差异。如果给出 [bufspec],则使用该缓冲区。如果 [bufspec] 指的是当前缓冲区,那么什么也不会发生。否则,这只适用于在差异模式下存在另一个缓冲区的情况。
和更多:
当 'diffexpr' 不为空时,Vim 求值以获得上述格式的 diff 文件。这些变量设置为使用的文件名:
v:fname_in 原始文件
v:fname_new 相同文件的新版本
v:fname_out 产生的差异文件
因此,我需要获取 bufspec 的名称,但未设置默认变量(fname_in、fname_new 和 fname_out)。
我通过终端在 linux 机器上运行了命令 git mergetool 。
[编辑] 产生更多问题的部分解决方案。我在缓冲区底部使用了“文件名”。这只是一半的答案,因为偶尔我会收到文件不存在错误。我相信它始终是“不存在”的文件的远程版本。我怀疑这与 git 和索引有关。
在通过 git-mergetool 使用 vimdiff 时,如何始终如一地获得 bufspec 值?
vim - 如何在 vim 中退出 vimdiff 模式,特别是对于 Fugitive?
我正在使用带有逃犯扩展名的 vim 。它有一个 :Gdiff 命令可以让您进入 vimdiff 模式,但是关闭/退出 vimdiff 模式的正确/快速方法是什么?
即,假设我正在编辑 Git 存储库下的文件 FooBar.txt。我启动 :Gdiff,查看我在 vimdiff 中的更改,然后我想返回并继续编辑 FooBar.txt 或任何其他文件 :)
更新1:我将在下一个工作日尝试这些快速组合:)
UPDATE2:我当前的映射(仅关闭差异窗口!)
另外,请帮助我确定以下是否应该是一个答案:https ://stackoverflow.com/a/15975201/275980
git - 如何取消外部 git diff?
我已经将 vim 设置为我的外部差异工具:
假设我有 300 个文件已被修改;通过 bash,我输入“git diff”。它依次启动 300 个 vimdiff,我该如何中止它?
vim - 如何在 Vim 的同一个文件中“区分”两个子例程?
是否有可能diff
甚至vimdiff
两个非常相似的子程序出现在同一个文件中?如果是这样,怎么做?
我可以考虑将两个子例程复制到两个单独的文件中,然后再复制diff
它们,但是有没有办法在原始文件中执行此操作?
vim - 在 vimdiff 中打开一个非差异窗口
有时我正在使用 vimdiff 并想要获取代码并将其放在第三个窗口/缓冲区中以供以后参考。但是,当该窗口打开时,几乎所有内容都被标识为差异(因为它故意与其他两个文件不同)。如何在使用 vimdiff 时以非差异模式打开窗口?
git - 使用 vimdiff 查看所有 `git diffs`
我设置git diff
包装到 vimdiff,使用“ Git Diff with Vimdiff ”作为指导,它按预期工作,除非有很多文件有更改。
当有多个文件有更改并且我运行git diff
时,它会打开第一个文件,并且在退出 vimdiff 的第一个实例后,我会看到以下消息:
这是与我习惯的完全不同的行为。过去我使用 SVN 进行了类似的设置,当比较多个文件时,我会查看第一个文件,然后写入并退出使用:wq
,下一个有差异的文件会打开。
这不是 Git 的情况。我试过:n[ext]
了,但这样做不会用原始文件填充左侧窗口,以便可以将其与修改后的版本进行比较。
vim - 比较 Vim 中两个垂直打开的窗口
我打开了两个文件。它们以垂直模式打开,紧挨着下一个。我可以在不离开或关闭 Vim 的情况下立即区分这两个文件吗?
linux - 如何忽略 diff 命令中的一些差异?
diff
有一个选项-I regexp
,它忽略仅插入或删除与给定正则表达式匹配的行的更改。当更改在两行之间(而不是插入或删除行)时,我需要一个类似的情况。
例如,对于给定的and ,我想忽略所有的差异,例如 between "abXd"
and 。"abYd"
X
Y
似乎diff
没有这种能力。有没有合适的替代品diff
?
vim - 为什么 VimDiff 如此有限?
凭借 Vim 的所有高级编辑功能,我很难相信 VimDiff 没有从/向右/向左复制的方法!difftool 还能用来做什么?任何想法?VimDiff 的功能是什么?
另外,我什至看不到转移到下一个/上一个差异的方法!
svn - 配置 vim-diff 以在将其用于 svn-diff 时显示不同的颜色
我已通过添加以下行将“vimdiff”设置为我的默认 svn-diff 工具~/.subversion/config
diffwrap.sh
但是,vimdiff 会使用所有难看的颜色来显示差异。我有黑色背景和绿色字体颜色,如何修改 vimdiff 以显示此差异的自定义颜色?我想要一个更愉快的体验。