Vim是Linux下非常常用的文本编辑器。虽然对初学者不友好,但是通过一些插件的配合,可以打造一个非常强大的IDE。良旭曾经介绍过三个非常常用的插件,可以点击以下链接查看:3个Vim编辑器好用的插件本文介绍了Vim编辑器中一个非常强大的插件——VIMFugitive。这个插件可以让你在不退出Vim的情况下直接在Vim编辑器中完成Git操作。更多Linux精选干货电子书可在公众号“良墟Linux”后台回复“资讯”获取。本插件是一个开源项目,我们可以在以下地址获取源码:https://github.com/tpope/vim-fugitive安装方法:cd~/.vim/bundlegitclonehttps://github.com/tpope/vim-fugitive.gitvim-uNONE-c"helptagsvim-fugitive/doc"-cq现在进行一些基本的功能演示。假设有这样一段代码:1packagemain23import"fmt"45funcmain(){6x:=true7items:=[]string{"tv","pc","tablet"}89ifx{10for_,i:=rangeitems{11fmt.Println(i)12}13}14}现在我们删除第6行,修改第9行,在第11行之后添加一行代码。现在我们想要查看这些更改。和往常一样,我们先保存文档,然后退出,然后执行gitstatus。但是现在,我们不必退出,只要在命令模式下输入:Gstatus,就可以直接看到变化:1#Onbranchmaster2#yourbranchisupdatewith'origin/master'。3#4#未暂存提交的更改:5#(使用“gitadd...”更新将要提交的内容)6#(使用“gitcheckout--...”丢弃更改在工作目录中)7#8#modified:vim-5plugins/examples/test1.go9#10没有添加到提交的更改(使用“gitadd”和/或“gitcommit-a”)------------------------------------------------------------------------------------------------------1packagemain23import"fmt"4_5funcmain(){6items:=[]string{"tv","pc","tablet"}7~8iflen(items)>0{9for_,i:=rangeitems{10fmt.Println(i)+11fmt.Println("------")12}13}14}结果如图,VimFugitive打开了一个界面upper和lower分屏,上半部分和我们平时执行gitstatus看到的结果是一样的,下半部分是具体的启动内容,类似gitdiff。2020精选阿里/腾讯等一线公司面试、简历、进阶、电子书公众号“良旭Linux”后台回复屏幕下半部分“信息”免费获取,有三个符号:_表示第5行和第6行之间的代码被删除,~表示第8行代码被修改,+表示第11行增加了代码。同样,我们可以使用gitblame查看每一行代码是谁修改的,这里对应的是Gblame。e9949066(AlvinYan2019-6-718:17:19-0500)│1包maine9949066(AlvinYan2019-6-718:17:19-0500)│2e9949066(AlvinYan2019-6-718:17:19-0500)│3import"fmt"e9949066(AlvinYan2019-6-718:17:19-0500)│4e9949066(AlvinYan2019-6-718:17:19-0500)│_5funcmain(){e9949066(AlvinYan2019-6-718:17:19-0500)│6items:=[]string{"tv","pc","tablet"}e9949066(AlvinYan2019-6-718:17:19-0500)│700000000(NotCommittedYet2019-6-718:55:00-0500)│~8iflen(items)>0{e9949066(AlvinYan2019-6-718:17:19-0500)│9for_,i:=rangeitems{e9949066(AlvinYan2019-6-718:17:19-0500)│10fmt.Println(i)00000000(尚未提交)2019-6-718:55:00-0500)│+11fmt.Println("------")e9949066(AlvinYan2019-6-718:17:19-0500)│12}e9949066(AlvinYan2019-6-718:17:19-0500)│13}e9949066(AlvinYan2019-6-718:17:19-0500)│14}我们还看到第8行和第11行还没有提交现在我们要提交我们的更改,我们可以键入:Gcommit命令。VimFugitive将打开另一个区域,我们可以在其中写入要提交的信息。1vim-5plugins:更新了test1.go示例文件2#请为您的更改输入提交信息。以'#'开头的3#行将被忽略,并且一条空消息将中止提交。4#5#在分支master6#你的分支是最新的'origin/master'。7#8#Changestobecommitted:9#modified:vim-5plugins/examples/test1.go10#然后我们可以执行:wq结束提交。[masterc3bf80f]vim-5plugins:更新了test1.go示例文件1个文件改了,2个插入(+),2个删除(-)PressENTERortypecommandtocontinue我们还可以继续使用:gstatus查看提交后的状态,您还可以使用:Gpush将提交推送到远程存储库。1#在分支master上2#你的分支比'origin/master'领先1个提交。3#(使用"gitpush"来发布你的本地提交)4#5nothingtocommit,workingtreeclean这些是VimFugitive最基本的用法,如果你想了解它更高级的用法,可以去它的Github仓库查看,里面有更详细的教程。看到的都是真爱,走之前怎么不竖个大拇指?您的“三通”是良旭继续创作的最大动力!关注原创公众号《良序Linux》,第一时间获取最新Linux干货!公众号后台回复【信息】【面试】【简历】获取精选一线大厂的面试、自我提升、简历等信息。关注我的博客:lxlinux.net