在 git 中选择默认编辑器时为什么要使用“--wait”?
Why should I use "--wait" when selecting my default editor in git?
我知道等待标志将使编辑器保持打开状态,直到我们关闭应用程序。
为什么这有用或重要?如果我不应用标志会怎样?在 git 中等待标志是否还有其他有用的情况?
等待标志示例:git config --global core.editor "code --wait"
你不应该。或者,你应该。这不是真正的 Git 问题。
如果你的编辑器有一个--wait
标志,--wait
标志的含义取决于你的编辑器.
在这种情况下,您的特定编辑器具有某种“功能”:
运行 作为 code
,它生成一个新的编辑器 window 并立即 returns 到调用程序。调用程序重新获得对现有 window 的控制。编辑可能还没有完成打开新的window。
运行 作为 code --wait
,然而,它会生成一个新的编辑器 window,然后 等待 。它等待新编辑器 window 发出信号,表明正在使用该编辑器 window 编辑某个文件的用户已 完成文件编辑 。 然后,然后才return控制调用程序。
当调用程序是您自己的 shell 时,您在其中键入命令时,默认设置(“不要等待”)允许您键入更多命令,这很好。但是当调用程序是 git commit
时,调用程序 假设提交消息现在是你想要的 ,因为 Git 相信编辑器 不会 return 直到文件被写出。
围绕 Git 设计的编辑器,例如 vim
和(旧版本)emacs
,在完成编辑之前不要 return文件。所以 Git 假设所有的编辑器都是这样的。如果您的编辑器有这种行为,那就太好了! Git的假设成立,我们就完成了。
如果您的首选编辑器没有这样的行为,我们就有问题了。我们需要这样的东西:
- 调用您喜欢的编辑器,然后
- 等到编辑发出您已完成编辑的信号,然后
- returns 控制到
git commit
或 git rebase --interactive
.
如果那个程序是 code --wait
,太好了!我们完成了。如果不是,请找到它 是 的任何程序。将其设置为您的 core.editor
设置。
我知道等待标志将使编辑器保持打开状态,直到我们关闭应用程序。
为什么这有用或重要?如果我不应用标志会怎样?在 git 中等待标志是否还有其他有用的情况?
等待标志示例:git config --global core.editor "code --wait"
你不应该。或者,你应该。这不是真正的 Git 问题。
如果你的编辑器有一个--wait
标志,--wait
标志的含义取决于你的编辑器.
在这种情况下,您的特定编辑器具有某种“功能”:
运行 作为
code
,它生成一个新的编辑器 window 并立即 returns 到调用程序。调用程序重新获得对现有 window 的控制。编辑可能还没有完成打开新的window。运行 作为
code --wait
,然而,它会生成一个新的编辑器 window,然后 等待 。它等待新编辑器 window 发出信号,表明正在使用该编辑器 window 编辑某个文件的用户已 完成文件编辑 。 然后,然后才return控制调用程序。
当调用程序是您自己的 shell 时,您在其中键入命令时,默认设置(“不要等待”)允许您键入更多命令,这很好。但是当调用程序是 git commit
时,调用程序 假设提交消息现在是你想要的 ,因为 Git 相信编辑器 不会 return 直到文件被写出。
围绕 Git 设计的编辑器,例如 vim
和(旧版本)emacs
,在完成编辑之前不要 return文件。所以 Git 假设所有的编辑器都是这样的。如果您的编辑器有这种行为,那就太好了! Git的假设成立,我们就完成了。
如果您的首选编辑器没有这样的行为,我们就有问题了。我们需要这样的东西:
- 调用您喜欢的编辑器,然后
- 等到编辑发出您已完成编辑的信号,然后
- returns 控制到
git commit
或git rebase --interactive
.
如果那个程序是 code --wait
,太好了!我们完成了。如果不是,请找到它 是 的任何程序。将其设置为您的 core.editor
设置。