Привет, коллеги. Вим может взять слово из-под курсора и что-то с ним сделать. Мы уже обсуждали команды gf и gF, которые переходят в файл, имя которого записано в тексте; это удобно для переходов по разным include-ам. Команды <C-A> и <C-X> распознают в тексте число и могут его увеличить или уменьшить на единицу. См. заметку: там много интересного, ведь число считается целым, зато может быть в разных системах счисления, а кроме того, числом может быть текст: a+1=b. Но сегодня мы обсудим другую возможность.
В Unix есть встроенная утилита man. Это не от слова "мужчина" и даже не от смысла "человек", а сокращение от manual. Просмотрщик встроенной справки. Вы можете почитать информацию по командам прямо из командной строки терминала: man ln
Очень интересно почитать про саму утилиту: man man
Так вот, вы можете открыть системную справку по любому слову в тексте прямо из Вим! Для этого предусмотрена команда (основного режима) K. Если вы пишете стихи, научные статьи или программы, вам это не столь уж и нужно, однако и в этом случае можно изменить Вим под себя: см. далее. А вот если вы часто работаете с конфигурационными файлами, редактируете makefile, пишете и редактируете системные скрипты — может быть очень полезно.
Команда K запускает внешнюю программу, имя которой указано в опции keywordprg. По умолчанию там man. И передает ей слово, которое под курсором. Словом считается последовательность букв, цифр и символов, перечисленных в опции iskeyword.
В принципе, вы можете указать любое имя, например, perldoc, и получать справку по нужной вам теме "не отходя от станка". Если опция не содержит значения вообще, то используется вимовская команда :help. Если же значение man (по умолчанию), то число-повторитель, указанное перед K, передается утилите перед тем словом, которое под курсором. Дело в том, что есть разные справочные страницы, и man запрашивает, если их больше одной, какую вы желаете. Можно сразу указать страницу: man 2 ln. Вот для этого и сделан этот трюк: вы нажимаете 2K, поставив курсор на слово ln, к примеру. Но это только для man (почему-то) и еще для варианта "man -s" (можно и такое имя указать, да). При этом, если повторитель не указан, то и -s удаляется.
Если не считать этой магии, то команда просто пропускает слово под курсором через указанную внешнюю утилиту. Это не обязана быть какая-то справка: вы можете, например, выписывать те или иные слова нажатием на одну клавишу или смотреть слово в словаре. Скажем, напишите скрипт, который будет записывать переданные ему "слова" в файл; так можно удобно выписывать слова при чтении книги, скажем. Да и вообще, все зависит только от вашей фантазии! Учитывая, что можно применить K к выделению (не более одной строки).
Удачи, коллеги.
Отдельно хорошие научно-популярные каналы