vim-fugitive是一个非常优秀的、集成了各种git操作的Vim插件,使用vim-fugitive插件可以在Vim内完成所有跟git相关的操作,在github上超过了10000个star。

一、vim-fugitive安装

vim-fugitive插件托管在github上,所以可以使用Vim插件管理器vundlevim-plug进行管理和安装。

如果使用Vundle安装vim-fugitive,需要在Vim配置文件 ~/.vimrc 中添加 Plugin 'tpope/vim-fugitive',然后执行 :PluginInstall 命令进行安装。

如果使用vim-plug安装vim-fugitive,需要在Vim配置文件 ~/.vimrc 中添加 Plug 'tpope/vim-fugitive 后执行 :PlugInstall 命令进行安装。

二、vim-fugitive命令

Vim命令行模式下使用 :Gstatus 命令可以查看当前工作目录和暂存区的状态,等价于在命令行执行 git status

执行 :Gstatus 命令会打开一个新的窗口,在该窗口中,可以通过 - 来添加或删除文件,可以通过 C 来调用 :Gcommit 来提交当前修改。

在当前Vim窗口执行 :Gread 命令会将当前文件添加到git工作区,等价于 git add 操作;在当前窗口执行 :Gwrite 命令会重新检出当前文件,相当于对当前文件执行 git checkout

:Gedit 命令可以打开当前文件的index版本 (index是最近一次提交的文件版本,也是下一次commit提交的地方)。

在当前打开的Vim窗口中执行Vim命令行模式命令 :Gvdiff 会出现与vimdiff命令相似的表现形式来对比当前文件和当前文件的 index 版本,index版本的文件位于左边,当前工作文件位于右边。

此外,:Gblame 命令等价于git blame,以交互式垂直分割窗口的方式查看文件的每一行由谁修改,可以在当前行按回车键来提交当前行的更改。

:Gmove 命令等价于 git mv 操作,会移除一个文件并重命名缓冲区;而 :Gdelete 命令相当于执行了 git rm 操作,将删除一个文件的同时删除该缓冲区。

vim-fugitive

由于Vim教程网对git操作不是特别熟悉,因为关于vim-fugitive插件其他命令的作用,可以参考其官方文档

嗯,扫一扫就可以找到小女子我啦~