# Day27--我是谁?我在哪?终於离开Vim了

不知不觉commit了很多东西,今天要来面对的,就是这些纪录的修改。

这个篇章大概会分成两个部分:

用rebase召唤互动模式

在用rebase之前,先看一下纪录

git log --oneline

嗯....那假若我今天想要改一些纪录呢?

於是,我输入rebase指令:

git rebase -i 507908b

结果......

不小心堕入无尽Vim的无尽深渊

等等,我进到什麽鬼地方,这里好像按什麽都没有什麽用,这啥鬼?

看着一个陌生的画面,上网查了一下,这才知道这个东西叫做Vim编辑器,据说是一个年纪比我还要大的编辑器。

然後再查查这个要怎麽离开,意外的得知了更多关於Vim编辑器的操作:

原来Vim有两个模式:

  1. 其一是Insert模式
  2. 其二是Normal模式

现在上面这张图就是我们正在insert模式,可以准备编辑、改动一些文字,不过,这是等等要做的事情,我现在想先了解这个是什麽东西。

那....我试试看切过去Normal模式?

按照搜寻资料来源的说法,切过去的方式要先按个:Esc或是ctrl+[

来试试看吧:

这个时候,左下角的--INSERT--就消失了耶,也就是说,我现在可以离开罗?那怎麽离开?

额....搜寻了一下之後,发现在Normal模式中,有一些关键字可以使用:

:w  是存档
:q  离开
:wq 是存档+离开

那我先来试一下:wq好了:

耶,回到人间!

看到这边,大概可以先归纳一些事情,也就是,在Insert模式、Normal模式中,有一些沟通的桥梁:

从Insert模式到Normal模式,只要按下Esc或是Ctrl+[ 就可以去到Normal模式

那反过来呢?

从Normal到Insert模式要怎麽走?

有三个键:i、a、o可以使用:

i的意思就是Insert

a的意思就是append

o的意思就....不是那麽直观,它是「新增一行并开始输入」

好啦,本来要讲编辑历史纪录的,结果掉进这个Vim的深渊,不免还是要来讲一下怎麽逃离,不过Vim还有很多的指令可以用....我们就有机会再说吧

回到正题:修改纪录

还记得我输入了

git rebase -i 507908b

这个指令跑到这里,也就是刚刚的Insert模式,这个时候我要干嘛呢?

在insert模式中,当然是要来改一些东西啊,承继上面所说的,我要来改一些纪录!

我在这边把两个纪录:

05cd6f3
6cbbf58

前面的pick改成了reword,这个时候就会就意味着修改纪录,reword的中文意义也就是所谓的「改写」。

ok,那这个时候我们就跳出这个insert模式吧!

输入:

:wq

嗯?!

怎麽跑出又一页?

原来这个就是要我们改上面的commit纪录

好吧,那就切回insert模式来改:

哦,btw,因为我们刚刚是reword了两个commit,所以也就是说,会跳出两次的commit纪录改写:

弄完了之後,我们就可以看到纪录中又两个commit message是比较不一样的:

fe80f36 fine!change
672ffe6 ok,just change!

嘿嘿,你以为只有这样吗?

下一集还会更精彩喔!

tags: 铁人赛

<<:  Day 27 上传自己的 Image 到 Dockerhub

>>:  【Day27】其他开源资源-审批引擎

开发 App 必备的 4 个免费服务

开发这个 App 至今,已经帮我带来千万以上的收益,但是还是有很多我们常用的服务跟工具,居然到现在都...

LeetCode 双刀流:Stack 与 Queue 的相互实作

Stack 与 Queue 的相互实作 先看一下题目描述 225. Implement Stack...

案例:自动化文件讯息提取

自动化文件讯息提取可帮助您处理包含标题和表格内容的大量业务文档。 例如,使用提取的资料自动处理应付账...

Day03 - Amazon ECS Anywhere 基础说明与建置(上)

这系列主要就是讲Amazon ECS Anywhere 所以先来看看阳春版怎麽建立出来 基础运行元件...

[Day30] 动画篇7

最後来做个暴击效果吧 先改一下Actor,设定一下暴击率: Action: Sprite_Damag...