【问题标题】:vimrc auto-commit w/message promptvimrc 自动提交,带消息提示
【发布时间】:2013-11-13 22:11:06
【问题描述】:

我在我的 vimrc 中使用以下命令在保存时自动提交。我觉得这非常有用。但是我不喜欢我每次都被相同的提交消息卡住。

autocmd BufWritePost * execute ':silent ! if git rev-parse --git-dir > /dev/null 2>&1 ; then git add % ; git commit -m "Auto-commit: saved %"; fi > /dev/null 2>&1'

我希望在保存时收到提示,允许我提供提交消息或按 Enter 并在我赶时间时使用“自动提交:已保存 %”作为默认值。

我玩过input(),但在这个特定的命令中没有任何运气。

我也尝试使用函数返回的值,但也无法让它工作。

【问题讨论】:

  • 这绝不是一个答案,但每次保存文件时自动提交似乎绝对是荒谬的矫枉过正。

标签: vim commit autocommit


【解决方案1】:

input() 是一个内置函数,您将其结果分配给一个变量,然后可以将其内容插入(适当转义)到您的外部 shell 命令中:

autocmd BufWritePost * let message = input('Message? ', 'Auto-commit: saved ' . expand('%')) | execute ':silent ! if git rev-parse --git-dir > /dev/null 2>&1 ; then git add % ; git commit -m ' . shellescape(message, 1) . '; fi > /dev/null 2>&1'

这个会在每一次保存时查询。通过添加条件,您可以在未给出任何消息时使其中止提交。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 2016-05-03
    • 2023-03-10
    相关资源
    最近更新 更多