标签: vimdiff

vimdiff 禁用/启用颜色编码

有什么方法可以快速禁用/启用颜色编码vimdiff?问题是,我有彩色文本vim并且文本是不可见的,因为文本颜色是红色,并且vimdiff太试图将背景颜色设置为红色,使其难以阅读。

所以,我想暂时禁用颜色编码,以验证文本并稍后重新启用它。任何快速,简单的方法来做到这一点?

colors vimdiff

25
推荐指数
5
解决办法
2万
查看次数

vimdiff 比较输出而不是文件

我正在尝试比较两个命令输出(无文件)

vimdiff "$(tail /tmp/cachain.pem)" "$(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)"
Run Code Online (Sandbox Code Playgroud)

我尝试玩重定向,管道,vim - -c但我一定错过了一些东西。有人可以帮忙吗?

vim stdout stdin vimdiff

19
推荐指数
1
解决办法
6636
查看次数

如何知道一个文本文件是否是另一个的子集

我试图找到一种方法来确定一个文本文件是否是另一个文件的子集。

例如:

foo
bar
Run Code Online (Sandbox Code Playgroud)

是一个子集

foo
bar
pluto
Run Code Online (Sandbox Code Playgroud)

尽管:

foo
pluto
Run Code Online (Sandbox Code Playgroud)

foo
bar
Run Code Online (Sandbox Code Playgroud)

不是彼此的子集...

有没有办法用命令来做到这一点?

此检查必须是交叉检查,并且必须返回:

file1 subset of file2 :    True
file2 subset of file1 :    True
otherwise             :    False
Run Code Online (Sandbox Code Playgroud)

diff files file-comparison text vimdiff

13
推荐指数
1
解决办法
7178
查看次数

vimdiff / vim -d -- 如何仅显示差异并折叠所有相同的行?

有没有办法排除以下输出中相同的行?我做了一个 vim -d file1 file2 但它显示了差异以及差异前后的一些添加行。怎么排除呢?

在附加的示例中,两个文件中的 131、132、134、136 等是相同的,但仍然显示出来。

在此处输入图片说明

vim vimdiff

12
推荐指数
1
解决办法
1万
查看次数

识别文件中的重复文本块

是否有一种方便的方法来识别文件中重复或接近重复的文本块?

我想用它来识别代码重复。看起来有具有此功能的专业程序,但我不打算参与其中。

我希望有一个类似于 diff 的工具可以做一种“文件内”差异。更好的是在单个文件中使用 vimdiff。

diff text-processing vimdiff

11
推荐指数
1
解决办法
4176
查看次数

使 vimdiff 将不同的行显示为不同的行(不是部分不同的)

vimdiff 有一个恼人的习惯,就是将两条几乎完全不同的行显示为相同的部分不同的行,仅仅因为它们在开头或结尾共享一个共同的字符。

例如:

foo.txt包含:The quick brown fox jumps over the lazy dogbar.txt包含:This is a completely different line

vimdiff foo.txt bar.txt并排显示这两行Th,除了开头之外的所有内容都突出显示。

有没有办法禁用此行为并仅将不同的行显示为不同的行?

vim vimdiff

10
推荐指数
1
解决办法
2872
查看次数

不同的性格

Linux 中是否有稳定的工具(现有工具的选项/插件:vimdiff、diff 等)来按字符在两个文本文件之间进行区分?

我想看到我的两个文件之间最长的公共子序列突出显示。有一个经典的多项式时间算法,但标准工具似乎只能逐行工作。

diff file-comparison vimdiff

10
推荐指数
1
解决办法
937
查看次数

如何将两个文件之间的差异写入一个文件

说我有两个文件:a.txtb.txt.

内容a.txt

hello world
Run Code Online (Sandbox Code Playgroud)

内容b.txt

hello world
something else
Run Code Online (Sandbox Code Playgroud)

当然我可以用它vimdiff来检查它们的区别,我可以确保它a.txt是 的一个子集b.txt,这意味着它b.txt必须包含 中存在的所有行a.txt(就像上面的例子一样)。

我的问题是如何将存在b.txt但不存在的行记录a.txt到文件中?

diff vimdiff

8
推荐指数
2
解决办法
4万
查看次数

将文件与脚本中的 vimdiff 进行比较

我正在编写一个脚本来递归比较两个目录并vimdiff在发现差异时运行:

#!/bin/bash

dir1=${1%/}
dir2=${2%/}

find "$dir1/" -type f -not -path "$dir1/.git/*" | while IFS= read line; do
    file1="$line"
    file2=${line/$dir1/$dir2}

    isdiff=$(diff -q "$file1" "$file2")

    if [ -n "$isdiff" ]; then
        vimdiff "$file1" "$file2"
    fi
done
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为 vim 会发出警告:“输入不是来自终端。” 我知道我需要提供这个-论点,这有点棘手,但我或多或少地工作了:

#!/bin/bash

dir1=${1%/}
dir2=${2%/}

find "$dir1/" -type f -not -path "$dir1/.git/*" | while IFS= read line; do
    file1="$line"
    file2=${line/$dir1/$dir2}

    isdiff=$(diff -q "$file1" "$file2")

    if [ -n "$isdiff" ]; then
        cat "$file1" | vim - -c ":vnew $file2 | windo …
Run Code Online (Sandbox Code Playgroud)

bash vim shell-script vimdiff

5
推荐指数
1
解决办法
2427
查看次数

是否有适用于 vimdiff 的 sudoedit 等效项?

我试图养成使用sudoedit, 而不是sudo vim. 这有几个优点,其中之一是它使用我用户的~/.vimrc.

是否有等价物,而不是使用sudo vimdiff

我试过的

  • 可以不vimdiff直接使用,而是可以垂直拆分打开两个文件,然后:diffthis在两者中运行。但是,如果我用 . 打开一个文件sudoedit,那么我必须直接打开第二个文件,而不是sudoedit/var/tmp.
  • 也可以使用vim -O file1 file2. 然而,不出所料,sudoedit -O失败了。

vim sudo vimrc sudoedit vimdiff

1
推荐指数
1
解决办法
624
查看次数