我正在使用带有逃逸扩展的 vim .它有一个:Gdiff命令,它带你进入vimdiff模式,但关闭/退出vimdiff模式的正确/快速方法是什么?
即,假设我正在编辑Git存储库下的文件FooBar.txt.我启动:Gdiff,检查我在vimdiff中的更改,然后我想回来继续编辑FooBar.txt或任何其他文件:)
更新1:我将在下一个工作日试试这些快速组合:)
"vimdiff current vs git head (fugitive extension)
nnoremap <Leader>gd :Gdiff<cr>
"switch back to current file and closes fugitive buffer
nnoremap <Leader>gD :diffoff!<cr><c-w>h:bd<cr>
Run Code Online (Sandbox Code Playgroud)
UPDATE2:我当前的映射(仅关闭diff窗口!)
"vimdiff current vs git head (fugitive extension)
nnoremap <Leader>gd :Gdiff<cr>
"switch back to current file and closes fugitive buffer
nnoremap <Leader>gD <c-w>h<c-w>c
Run Code Online (Sandbox Code Playgroud)
此外,请帮助我决定以下是否应该是anwser:https://stackoverflow.com/a/15975201/275980
vim-fugitive并排git diff非常适合查看未分段文件的差异.
我如何使用vim-fugitive来git diff
该命令:Gdiff相当于git diff在该文件上运行.
什么相当于git diff --staged或git diff --cached?
我知道:Glog将使用当前缓冲区中的文件的所有版本填充quickfix列表,并且我可以点击<enter>这些以查看该特定版本的文件,但是有一种简单的方法可以查看特定版本的差异以前的版本(轻松查看已更改的内容)?
编辑:我所追求的是在vim的垂直差异中看到这些变化中的每一个:git log -p -- path/to/file.txt.
我正在编辑分别打开三个窗口的文件.我想将它们提交到存储库中.有没有命令可以做到这一点?
目前,如果我型:Glog我得到的名单修订为当前文件.
如果我型:Glog --我得到的名单提交的所有文件.
我需要做什么输入获得的提交对当前文件?
当我在Windows上时,我一直在使用git和fugitive.vim来管理代码.但是,我遇到了一个问题.根据文档,:GDiff命令应该是一个diff窗口,并允许我只放置文件的一部分.但是,当我在包含更改的文件中发出命令时,我收到以下错误消息:

这是windows的问题吗?VIM?逃犯?msysgit?文件权限?有人知道吗?
Fugitive.vim允许我运行git grep命令; 不幸的是,结果没有存储在quickfix-list中,所以我需要:cw在a之后运行:Ggrep才能拥有一个易于解析的结果列表.
我想键入:Ggr "def my_function"而不是:
:Ggrep "def my_function"
:cw
Run Code Online (Sandbox Code Playgroud)
如何:Ggr在.vimrc文件中定义此命令?
编辑
一旦:Ggr定义了命令,我就可以映射到git grep光标下的单词,这真的很棒:
nnoremap <C-F> :Ggr <cword><CR>
Run Code Online (Sandbox Code Playgroud) 我有一个巨大的文件,我修改了几行,并保存了它.逃犯知道哪些线被修改,只是在它们之间跳转是非常有用的.是否有现有的热键,或者我可以以某种方式映射它?
我真的很喜欢 Fugitive(VIM git 包装插件)但是我想创建一个启动 vim 然后运行的脚本
:Gstatus
Run Code Online (Sandbox Code Playgroud)
立即地。但是当我尝试
vim -c Gstatus
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息,指出Gstatus 不是编辑器命令