Как вы используете K-кнопку в обычном режиме VIM?

K используется для открытия руководств. Мне интересно, как вы используете это. Можете ли вы использовать его для всех видов руководств, таких как C, Java и другие вещи?

3 ответа

Решение

Проще говоря, K запускает команду, указанную опцией 'keywordprg' для "слова" под курсором (где "слово" - это непрерывный блок букв, цифр и любых других символов, указанных опцией "iskeyword").

В системах на основе Unix ключевое слово "prpr "по умолчанию имеет значение" man ", поэтому все, для чего команда" man "возвращает полезное руководство, можно найти с помощью K в этой настройке по умолчанию. Большинство систем 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=')
  + ' &')

Сохранить это как javaman.py, chmod +x javaman.pyпоместите его на свой путь, а затем в vim:

:setlocal keywordprg=javaman.py

Затем нажатие K вызовет javaman.py, который, в свою очередь, выполнит поиск "Мне повезет" в Google для поиска соответствующих документов по API Java.

В не-Unix системах вам может понадобиться включить python в команду:

:let &keywordprg='python javaman.py'

Возможно, вам также понадобится изменить скрипт (например, в настоящее время он использует "&" для фонового Firefox, который является Unix-изм).

:help K может дать вам больше объяснений, чем кто-либо еще может здесь

Да. Вам нужно обновить переменную keywordprg, чтобы она указала на программу, которая может искать ключевое слово на выбранном вами языке. В общем, вы можете Google для конкретных языков и решений. Вот пара из них

Другие вопросы по тегам