在vim中常常需要查找一些man手册,比如库函数和系统调用,往往需要切换出来,敲很多命令,本来是打算希望能够直接通过获取system("man 3 socket")的文本,然后采用正则表达式之类的解析方式,直接把函数声明与需要引入的include文件直接插入到当前buffer中来,但是在这个过程中遇到一些问题,通过system过去的文本中有很多不可读的稀奇古怪的字符,最后也没有搞定,如下:
如果有高手知道如何处理,一定请指教。
最后只能退而求其次,直接将man 3 socket的命令在shell中输出,得到结果,粗糙了很多。不过比以前方便很多,在socket单词上面按下z-2就可以弹出man手册的相关说明。z-3是库函数调用的,同理。
function <SID>ShowManInfoByShell(tag,manual)
let cmd="man ".a:manual." ".a:tag
execute ":!".cmd
endfunction
function <SID>ShowMan2Info()
call <SID>ShowManInfoByShell(expand("<cword>"),2)
endfunction
function <SID>ShowMan3Info()
call <SID>ShowManInfoByShell(expand("<cword>"),3)
endfunction