如何在VIM的正常模式下使用"K"按钮?

Léo*_* 준영 10 vim manuals

K用于打开手册.我很感兴趣你如何使用它.你可以将它用于所有类型的手册,如C,Java和其他东西吗?

Lau*_*ves 13

简单地说,K在光标下的"word"上运行'keywordprg'选项指定的命令(其中"word"是一个连续的字母,数字块和'iskeyword'选项指定的任何其他字符).

在基于Unix的系统上,'keywordprg'默认为'man',因此可以在此默认设置中使用K查找'man'命令返回有用手册的任何内容.大多数Unix系统都有C库的手册页,因此您可以非常轻松地查找C库函数.

但是,大多数系统没有Java的手册页,因此要查找Java文档,您需要安装Java的手册页或更改'keywordprg'设置以调用将显示的程序(除"man"之外) Java文档.

这是您可以使用的Python脚本:

#!/usr/bin/python

import urllib, os, sys, commands

os.system('firefox' + commands.mkarg(
  'http://www.google.com/search?q='
  + urllib.quote_plus(' '.join(sys.argv[1:]))
  + '+site%3Ajava.sun.com+inurl%3Ajavase%2F6%2Fdocs%2Fapi&btnI=')
  + ' &')
Run Code Online (Sandbox Code Playgroud)

保存为javaman.py,chmod +x javaman.py将其放在您的路径中,然后在vim中:

:setlocal keywordprg=javaman.py
Run Code Online (Sandbox Code Playgroud)

然后按K将调用javaman.py,而javaman.py将在Google上搜索相关的Java API文档"我感觉很幸运".

在非Unix系统上,您可能需要在命令中包含python:

:let &keywordprg='python javaman.py'
Run Code Online (Sandbox Code Playgroud)

您可能还需要修改脚本(例如,它当前使用"&"到后台firefox,这是一个Unix-ism).


sou*_*rge 6

:help K 可以给你比其他人更多的解释