{"id":20548545,"url":"https://github.com/kenkundert/vdiff","last_synced_at":"2025-04-14T10:53:21.205Z","repository":{"id":20135066,"uuid":"23405235","full_name":"KenKundert/vdiff","owner":"KenKundert","description":"Interactive file diff tool based on vim","archived":false,"fork":false,"pushed_at":"2023-11-08T21:03:52.000Z","size":109,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T00:11:09.255Z","etag":null,"topics":["vim"],"latest_commit_sha":null,"homepage":"http://nurdletech.com/linux-utilities/vdiff","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KenKundert.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-27T20:59:10.000Z","updated_at":"2024-01-15T22:02:38.000Z","dependencies_parsed_at":"2023-02-17T15:25:15.281Z","dependency_job_id":null,"html_url":"https://github.com/KenKundert/vdiff","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KenKundert%2Fvdiff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KenKundert%2Fvdiff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KenKundert%2Fvdiff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KenKundert%2Fvdiff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KenKundert","download_url":"https://codeload.github.com/KenKundert/vdiff/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248868774,"owners_count":21174756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vim"],"created_at":"2024-11-16T02:13:49.647Z","updated_at":"2025-04-14T10:53:21.184Z","avatar_url":"https://github.com/KenKundert.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Vdiff\n=====\n\n:Author: Ken Kundert\n:Version: 2.6.1\n:Released: 2022-06-19\n\n\nOpens two files in *vimdiff* and provides single-stroke key mappings to make \nmoving differences between two files efficient. Up to two additional files may \nbe opened at the same time, but these are generally used for reference purposes.\n\nUsage\n-----\n\n``vdiff`` [options] \u003cfile1\u003e \u003cfile2\u003e [\u003cfile3\u003e [\u003cfile4\u003e]]\n\nOptions\n-------\n\n-v, --vim        Use vim (rather than default).\n-g, --gvim       Use gvim (rather than default).\n-f, --force      Edit the files even if they are the same.\n-q, --quiet      Issue only error messages.\n-h, --help       Print this helpful message.\n\n\nRelevant Key Mappings\n---------------------\n\n==========    =========================================================\n``Ctrl-j``    Move down to next difference\n``Ctrl-k``    Move up to previous difference\n``Ctrl-o``    Obtain difference\n``Ctrl-p``    Push difference\n``{``         Update file1 to match file2\n``}``         Update file2 to match file1\n``S``         Save any changes in all files and quit\n``Q``         Quit without saving any file\n``=``         Make all panes the same size and rotate between them\n``+``         Update differences\n==========    =========================================================\n\nWhen comparing 3 or 4 files, you must prepend the buffer number to the push or\nobtain command. The buffers are numbered from the left to the right starting\nwith 1.  For example, to obtain the difference from buffer 3, move to that\ndifference and type '3 Ctrl-o'.\n\n\nDefaults\n--------\n\nDefaults will be read from ~/.config/vdiff/settings.nt if it exists. This is \na NestedText_ file can contain three variables: *vimdiff*, *gvimdiff*, and \n*gui*.  The first two contain the commands used to invoke vimdiff and gvimdiff.  \nThe third is a Boolean that indicates which should be the default. If *gui* is \n*yes*, gvimdiff is used by default, otherwise vimdiff is the default. An example \nfile might contain::\n\n    vimdiff: gvimdiff -v\n    gvimdiff: gvimdiff -f\n    gui: yes\n\nThese values also happen to be the default defaults.\n\nAs a Package\n------------\n\nYou can also use *vdiff* in your own Python programs. To do so, you would do \nsomething like the following::\n\n    from inform import display, Error\n    from vdiff import Vdiff\n\n    with Vdiff(l_filename, r_filename) as vdiff:\n        try:\n            if vdiff.differ():\n                vdiff.edit()\n            else:\n                display('%s and %s are the same.' % (l_filename, r_filename))\n        except KeyboardInterrupt:\n            pass\n        except Error as err:\n            err.report()\n\nYou can also use *vdiff* to compare strings::\n\n    from inform import display, Error\n    from vdiff import Vdiff\n\n    with Vdiff(l_identifier, r_identifier) as vdiff:\n        try:\n            if vdiff.differ():\n                vdiff.compare_strings(l_string, r_string):\n            else:\n                display('%s and %s are the same.' % (l_identifier, r_identifier))\n        except Error as err:\n            err.report()\n\n\nUsing Vdiff with Mercurial\n--------------------------\n\nTo use Vdiff with Mercurial_ , merge the following entries into your ~/.hgrc \nfile::\n\n    [ui]\n    merge = vdiff\n\n    [extensions]\n    extdiff =\n\n    [extdiff]\n    cmd.vdiff = vdiff\n    opts.vimdiff = -g\n\nThese will result in Vdiff being used whenever a merge conflict occurs. It also \nallows you to use 'hg vdiff' to view differences between versions.\n\n\nUsing Vdiff with Git\n--------------------\n\nTo use Vdiff with Git_ , merge the following entries into your ~/.gitconfig \nfile::\n\n    [merge]\n        tool = vdiff\n    [mergetool \"vdiff\"]\n        cmd = vdiff_executable $LOCAL $REMOTE\n\nThese will result in Vdiff being used whenever a merge conflict occurs.\n\n\nUsing Vdiff with Emborg\n-----------------------\n\nTo use Vdiff with Emborg_ , merge the following entries into your \n~/.config/emborg/settings file::\n\n    manage_diffs_cmd = \"vdiff -g\"\n\nThis results in Vdiff being used for interactive compare operations.\n\n\nInstallation\n------------\n\nRuns only on Unix systems.  Requires Python 3.6 or later.\nInstall by running './install' or 'pip3 install vdiff'.\n\n\n.. _NestedText: https://nestedtext.org\n.. _Mercurial: https://www.mercurial-scm.org\n.. _Git: https://git-scm.com\n.. _Emborg: https://emborg.readthedocs.io\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenkundert%2Fvdiff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkenkundert%2Fvdiff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenkundert%2Fvdiff/lists"}