(这个问题在google的vim_mac用户群里发过,但是没找到解决方法)
在关键字上按 <K> 时,在终端 vim 中它将正确生成手册页。但是,在 MacVim 中,它会生成警告:
WARNING: terminal is not fully functional
Run Code Online (Sandbox Code Playgroud)
然后显示 ANSI 控制序列,但未正确转义。可以在此处找到屏幕截图。
需要帮助,谢谢!
所述ConqueTerm Vim的插件提供的基于GUI的实例的Vim具有相当坚固的终端仿真。它需要使用或编译的Vim 7.0+(Windows 7.3+);MacVim满足这些要求。+python
+python3
这是一个K
使用 ConqueTerm重新实现普通模式命令功能的函数和绑定(你可以把它放在你的 中.vimrc
):
:function! ConqueMan()
let cmd = &keywordprg . ' '
if cmd ==# 'man ' || cmd ==# 'man -s '
if v:count > 0
let cmd .= v:count . ' '
else
let cmd = 'man '
endif
endif
let cmd .= expand('<cword>')
execute 'ConqueTermSplit' cmd
:endfunction
:map K :<C-U>call ConqueMan()<CR>
:ounmap K
Run Code Online (Sandbox Code Playgroud)
如果没有大量编程就无法解决这个问题,因为正如该线程所述,MacVim 创建了自己的“终端”,该“终端”不符合任何 terminfo 条目,因此less
无法正确处理它。您可以尝试$TERM
通过 戳入 MacVim :set term=...
,但我认为没有任何适合 MacVim 的值。
如果您有一些图形手册页查看器,您可以将其设置为keywordprg
. 请参阅:h keywordprg
了解更多详情。