Vim逃犯:切换“开关”:Gblame“;作用
我对vim还是有点陌生,所以我希望这个问题不是太基本,但我在《逃犯的文档》中找不到答案。。 我希望添加一个切换功能,该功能可执行以下操作:Vim逃犯:切换“开关”:Gblame“;作用,vim,vim-fugitive,Vim,Vim Fugitive,我对vim还是有点陌生,所以我希望这个问题不是太基本,但我在《逃犯的文档》中找不到答案。。 我希望添加一个切换功能,该功能可执行以下操作: if :Gblame buffer is open: close buffer else execute "normal :Gblame<CR>" endif map gb :call (the above function)<CR> 如果:Gblame缓冲区打开: 闭合缓冲区 其他的 执行“正常:Gblam
if :Gblame buffer is open:
close buffer
else
execute "normal :Gblame<CR>"
endif
map gb :call (the above function)<CR>
如果:Gblame缓冲区打开:
闭合缓冲区
其他的
执行“正常:Gblame”
恩迪夫
map gb:call(上述函数)
我正在考虑添加一个变量,该变量根据我使用“gb”映射的次数在1或0之间变化。但我真正想要的是一种检查缓冲区是否打开的方法。这可能吗?逃犯插件在边栏缓冲区中设置一个自定义的
'filetype'
(到逃犯缓冲区;通过:setlocalfiletype?
查询,或通过&l:filetype
特殊变量在Vimscript中设置)。这仅在当前处于侧边栏中时有效。为了使主窗口也能使用此功能,您必须检查缓冲区名称(例如,通过bufwinnr('sentivedull')!=-1
),然后在调用:close
(或使用:bdelete
,通过bufnr('sentivedull')
获得缓冲区编号)
函数!s:toggledull()
if&l:filetype==#“文件类型”
关
其他的
Gblame
恩迪夫
端功能
nnoremap gb:call-togglebull()
笔记
:Gblame
是一个(自定义)Ex命令;您可以像在Vimscript中一样调用它;这里不需要:正常
- 关闭侧边栏只需
:如上所述,当您在侧边栏中时关闭
- 我已经定义了一个脚本本地函数;cp
- );它使映射不受重映射和递归的影响
可能希望在窗口内使用:normal gq
,因为它将关闭“责备”窗口,然后将文件恢复到工作树(如:Gedit
)。请参见:h逃犯-:Gblame
。然而,我想我应该只做一个映射到:Gblame
,然后学会在窗口内使用gq
。
function! s:ToggleBlame()
if &l:filetype ==# 'fugitiveblame'
close
else
Gblame
endif
endfunction
nnoremap gb :call <SID>ToggleBlame()<CR>