如何让 git 在 vi​​m 中显示更改,就像 hg 使用 hgeditor 脚本那样?

2024-04-23

Mercurial 的一个有趣的功能是能够查看将在 vim split 中提交的更改(请参阅VIM 中的 DiffsInCommitMessage https://www.mercurial-scm.org/wiki/DiffsInCommitMessageInVIM).

关于如何使用 git 执行此操作有任何提示吗?


假设您已启用语法,Vim 会将 git 提交消息检测为文件类型。从突出显示中应该可以明显看出这一点。不太明显的部分是它还有一个用于 git 提交(和其他 git 东西)的文件类型插件。确保您已启用这些(filetype plugin on),然后将定义一个有用的命令:DiffGitCached。只要运行它,它就会将差异扔到预览窗口中。

插件中该命令定义旁边的注释:

自动比较可以通过以下方式完成:

autocmd FileType gitcommit DiffGitCached | wincmd p

文件类型插件存储在 /vimXX/ftplugin/git*.vim 中,例如/usr/share/vim/vim70/ftplugin/gitcommit.vim,如果你好奇的话就来看看吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 git 在 vi​​m 中显示更改,就像 hg 使用 hgeditor 脚本那样? 的相关文章

随机推荐

  • Spring data JPA和hibernate分离实体传递以持久化ManyToMany关系

    我正在尝试保留一个与已保留的其他对象具有多对多关系的对象 这是我的持久化对象 它们已经持久化在数据库中 这是一个 MySql Product Entity Table name PRODUCT public class Product pr
  • Mat-table 排序演示不起作用

    我正在尝试获取mat table排序在本地工作 虽然我可以让数据按预期显示 但单击标题行不会像在线示例那样进行排序 根本没有发生任何事情 我正在尝试让这个演示在本地运行 https material angular io component
  • 仅当通过 AWS CLI 调用 Lambda 时,目标才有效

    我有一个 hello world 测试 Lambda 配置为 触发 API网关 目的地 亚马逊 SQS 一个队列表示成功 另一个队列表示失败 import json def lambda handler event context prin
  • 如何在flyway创建的postgresql jdbc连接上设置时区?

    我有一个 postgresql 数据库 我使用 Flyway 将脚本部署到该数据库 我使用 Maven Flyway 插件启动针对目标数据库的数据库构建 在该构建中 我有一些脚本可以执行以下操作 create table my table
  • 在 OpenGL 中移动相机时出现故障

    我正在为 iPhone 编写一个基于图块的游戏引擎 除了以下故障之外 它基本上可以正常工作 基本上 相机将始终将玩家保持在屏幕中央 并且它会移动以正确跟随玩家并在静止时正确绘制所有内容 然而 当玩家移动时 玩家行走的表面瓷砖会出现故障 如下
  • Rails 嵌套单一资源路由

    我有一个简单的用户模型 带有单个嵌套的配置文件资源 因此在我的routes rb 中我有 resources users do resource profile only gt edit update show end 这会生成预期的路线
  • Octave/Matlab:向向量添加新元素

    有一个向量x我必须添加一个元素 newElem 有什么区别吗 x end 1 newElem and x x newElem x end 1 newElem更稳健一些 x x newElem 仅当x是行向量 如果它是列向量x x newEl
  • 删除方法二叉搜索树

    我正在尝试为我一直在研究的 BST 结构实现一个删除方法 下面是查找 插入和删除方法的代码 public class BST BSTNode root new BSTNode root public void insert BSTNode
  • 如何在 android dexDebug 或 dexRelease 任务之后执行 gradle 任务

    我想在 android 构建过程中在 dexRelease 或 dexDebug 任务之后运行 Gradle 任务来执行一些 shell 脚本 我尝试过以下方法 task taskAfterDex type Exec workingDir
  • AVD 硬件按钮未启用

    I just downloaded and installed the new Android SDK When I start the emulator on the emulator screen it says Hardward Bu
  • 广播接收器在 android oreo 中不工作

    我的广播接收器无法在奥利奥上工作 但它在奥利奥下工作 工作正常 我对此进行了很多搜索 但找不到合适的解决方案 有没有人遇到同样的问题 这是我的关于已实现广播的服务的代码 请建议我如何在奥利奥中工作 这是班级 public int onSta
  • Android开发-SQLite存储float

    当我存储浮点值 widt SQLiteDatabase insert 时 存储的值将与原始值不同 请参见下文 我有一个数据库宽度 db execSQL CREATE TABLE IF NOT EXISTS info values BaseC
  • 如何防止 Angular 2 站点上的浏览器缓存?

    我们目前正在开发一个定期更新的新项目 我们的一位客户每天都在使用该项目 这个项目是使用 Angular 2 开发的 我们面临着缓存问题 也就是说我们的客户在他们的机器上看不到最新的更改 主要是 js 文件的 html css 文件似乎得到了
  • 在 VsCode 中更新笔记本上的环境变量

    我正在使用 VsCode 上的笔记本和 env 文件开发一个 Python 项目 我在尝试刷新笔记本中的环境变量时遇到问题 我找到了一种方法 但非常棘手 我的项目 env 文件包含 MY VAR HELLO ALICE 包含一个单元格的 t
  • 如何测量脚本的执行时间? [复制]

    这个问题在这里已经有答案了 如何测量脚本从开始运行到结束所需的时间 start timing CODE end timing EDIT 2011 年 1 月 这是最佳的可用解决方案 其他解决方案 例如performance now 现在应该
  • Android TimePicker AM/PM 按钮不调用 onTimeChanged

    我在应用程序中实现 TimePicker 时遇到一些问题 该应用程序允许用户在插入数据库记录之前更改数据库记录的时间 问题是 当按下 AM PM 按钮时 不会调用 onTimeChanged View int int 方法 然而 每当我更改
  • Oracle SQL Developer:如何查看引用游标的结果?

    如果我有一个返回查询引用游标的函数 我如何在 SQL Developer 中查看其结果集 Toad 有一个特殊的选项卡 用于查看参考光标的结果 这是我想要找到的功能 SET SERVEROUTPUT ON VARIABLE X REFCUR
  • 为什么 tSQLt 测试在 Visual Studio 测试资源管理器中会通过,而它应该失败?

    我正在编写一些 tSQLt 测试并通过 Visual Studio 的测试资源管理器运行它们tSQLt 测试适配器 https the agilesql club blogs Ed Elliott tSQLt Visual Studio T
  • Heroku Gem 安装后无法使用

    我正在尝试让 heroku 在 Ubuntu 9 10 上运行 I typed sudo gem install heroku 一切正常 但是当我去跑步时 heroku list I get heroku 找不到命令 run 宝石环保看看哪
  • 如何让 git 在 vi​​m 中显示更改,就像 hg 使用 hgeditor 脚本那样?

    Mercurial 的一个有趣的功能是能够查看将在 vim split 中提交的更改 请参阅VIM 中的 DiffsInCommitMessage https www mercurial scm org wiki DiffsInCommit