草庐IT

vi 丢失的 Git 提交消息

我是一个笨拙的打字员,我不经常使用vi/vim,但我确实将它用于提交消息。但是,如果您在编辑提交消息时输入了错误的命令(例如:Wq,而不是:wq),当您在vim中正确关闭提交消息时:wq或:x,你得到这个:error:Therewasaproblemwiththeeditor'vi'.Pleasesupplythemessageusingeither-mor-Foption.通常,像:W这样的错误命令是没有问题的——vim会忽略它,你可以继续使用文件并保存它,但是一旦我输入错误,就会在gitcommit消息中,我已经不可挽回地丢失了提交消息。这是怎么回事,我该如何解决?(通过自制软件使

Git - 当我提交时,颜色在 vi 中有什么意义吗?

我在Windows上使用GitBash,当我运行gitcommit时,vi编辑器打开,允许我编写Commit注释。我注意到我写的文字的第一行是黄色的(虽然不是全部,只有前30或40个字符),第二行是红底白字,从第三行开始是灰色的。这种颜色编码意味着什么,还是只是某种奇怪的故障?我来自SVN背景,其中Commit评论是纯文本,我没想到会出现这种“彩虹”。:)预先感谢您的回答。 最佳答案 Vi会提示您“正确”格式化您的提交消息。虽然没有特定的消息样式w.r.t.强制执行。另一个,“traditionally”Git提交消息的结构如下:描

git - 如何让vi重绘屏幕?

当我使用gitcommit--amend它会进入一个vi窗口,让我输入注释进行提交,问题是vi窗口会显示一些来自以前的shell背景的脏字符。所以我想知道如何让vi重新加载或重绘屏幕使屏幕正常显示。到目前为止,我尝试了重置终端和Ctrl+L,它有效,但我想知道是否有针对这种情况的最佳答案? 最佳答案 强制刷新屏幕:redraw! 关于git-如何让vi重绘屏幕?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

git - 当 VI 在屏幕上等待提交消息时,如何停止 Git 提交?

我已经要求Git从gitbash中执行提交,它像往常一样调出了VI。我现在想取消提交,如何阻止从此时继续提交? 最佳答案 你有两个选择:提供一个空的提交信息。如果这是一个新的提交并且您还没有保存消息,您可以简单地使用:q!(退出而不保存)。如果您已经保存(或者您正在修改之前的提交),只需删除整个日志消息并再次保存。这可以在Vim中使用ggdG+:wq来完成。让编辑器以非零退出代码退出。在Vim中,您可以使用:cq(以错误代码退出)。值得注意的是,您始终可以使用gitresetHEAD^将工作副本重置为提交前的状态。

linux - 为什么 "cat a.txt | xargs vi"会破坏 bash?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭9年前。Improvethisquestiona.txt的内容:ba.txt当我输入cata.txt|xargsvi,vi打开ba.txt一切正常...但是当我退出vi的时候,我

c - vi/vim - 根据代码中特殊文件或标签的存在自定义格式

问题有没有一种简单/可靠的方法让VIM在项目/目录特定的基础上要么检测一个特殊文件(即:自定义.vimrc和一对设置),或者根据c开头的注释中存在的特殊标记/字符串/散列来更改运行时设置源文件(.c)还是头文件(.h)?字符串/哈希必须映射到.vimrc文件中的函数/设置,并且不得包含实际设置本身。背景我有一个多开发者项目,我们都有一组通用的代码样式设置供我们的各种编辑器使用(主要是emacs和vim),我们都严格遵守这些设置,例如换行样式(CR与CR+LF)、缩进(长度、硬制表符与扩展为空格),等等。问题我正在创建一些新项目,由于我们无法控制的原因(即:我们必须使用静态代码分析工具)

linux - 如何在 vi 编辑器或 linux 中查找和删除两个文件中的重复行

我有2个文件A和B,都超过100行。我想删除两个文件之间的公共(public)行。答:asdf123fdsa123rrrr456yyyy555乙:fdsa123hhhh888yyyy555所以现在文件应该是A1:asdf123rrrr456B1:hhhh888 最佳答案 您可以为此使用grep:$grep-vfab#orgrep-vfab>b1tosaveithhhh888$grep-vfba#orgrep-vfba>a1tosaveitasdf123rrrr456请注意,grep-ffile1file2检查file1中出现在fil

linux - 不断撤消 vi

我正在使用vi(不是Vim),我想不断撤销所做的更改。u用于单个命令撤消,U用于单行撤消。但是有没有办法像vim(我记得vim中的命令甚至可以按时间撤消更改!)在vi中连续撤消?提前致谢。编辑:我正在使用vi版本3.10 最佳答案 使用.键重复撤消操作。 关于linux-不断撤消vi,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3059361/

linux - 有没有办法在不关闭窗口的情况下退出无模式vi?

作为初学者,我开始学习有关vim的一些新命令选项,并通过键入命令vim-y[nameofthefiletoedit]尝试使用无模式vi我没有找到返回终端但关闭终端的方法。我知道上面的命令运行vim在不允许命令模式的情况下处于插入模式,但我的问题是有什么方法可以在同一终端中退出vi吗? 最佳答案 CTRL-L让vim回到正常模式。然后:q退出或:q!退出而不保存。 关于linux-有没有办法在不关闭窗口的情况下退出无模式vi?,我们在StackOverflow上找到一个类似的问题:

linux - 如何在 vi 中切换不同的配色方案?

如何在vi中切换不同的配色方案? 最佳答案 你可以像这样尝试不同的配色方案:https://kb.mediatemple.net/questions/1565/Enabling+vi+syntax+colors#gs我的问题是默认配色方案中只有深蓝色注释颜色,所以我只更改了:cd~vi.vimrchighlightcommentctermfg=lightblue或将浅蓝色更改为青色或其他颜色 关于linux-如何在vi中切换不同的配色方案?,我们在StackOverflow上找到一个类似