Просмотр man-страниц в textmate
мануал о том как использовать textmate для просмотра мануалов
man
Часто, читая man’ы, я чувствую себя этаким гиком 70-ых. В дебрях терминала, среди черно-белых текстовых полотен. Ни подсветки текста, ни удобной навигации. Кто-то скажет, что, читая man, люди меньше всего думают об интерфейсе. Но с другой стороны, сегодня многие люди предпочитают google, и различные приложения-справочники, олдскуллным консольным man-страницам. Я попробую сделать чтение man’ов более привлекательным.
Использование textmate2 для чтения man’ов
«Использовать один редактор — это хорошо».
Pragmatic Programmer
Для меня, бесспорно, главным и единственным редактором кода является textmate2. Я попробую научить этот редактор читать маны. В этой статье речь пойдет именно о второй версии TextMate. У меня сейчас установлен TextMate Version 2.0 (9090).
Установка бандла
Для начала я установил в TextMate бандл для чтения man-страниц. Скачал, проверил, что название папки заканчивается на .tmbundle
. Скопировал бандл в папку.<pre>~/Library/Application Support/TextMate/Managed/Bundles
</pre> Перезапустил TextMate.
Использование бандла
Выбираю в меню Bundles->Man Pages->View Man Page
. В появившемся окне набираю название shell-команды, например man
, и умиляюсь открывшейся TextMate man-страницей. Для того, что бы воспользоваться второй командой бандла - Visit man Page
- нужно выделить какую-нибудь shell-команду в тексте. По нажатию на хоткей, либо выбрав в меню Bundles->Man Pages->Visit man Page
, откроется новая вкладка со справкой по выделенной команде.
Для гиков и перфекционистов: настройка бандла
Для меня совершенно неудобно тянуться к тэчпаду или мыши, и выделять руками команду. Это лечится настройкой входных данных. Выбираю в меню <pre>Bundles->Edit Bundles…->Man Pages->Menu Actions->Visit Man Page</pre> Слева в настройках нужно установить значение поля input
равным word
.
Здесь же, в редакторе бандлов, можно настроить удобные хоткеи. Они задаются в поле Key Equivalent
. Не стоит обделять гуманным сочетанием клавиш и View Man Page
. Да, что бы заставить хоткеи работать - мне пришлось удалить значение поля Scope Selector
.
Учим textmate читать маны из консоли.
И вроде бы, когда я пишу код в TextMate, все круто: если мне нужна справка - жму хоткей - читаю, просвещаюсь, жгу дальше дальше. Но что мне делать, если я тщетно пытаюсь заставить что-то работать прямо в консоли? Получается, что мне и man там же читать? Нет, это никуда не годится. Я решил использовать bash-скрипт, на котором базируется бандл “Man Pages” как обертку к стандартной команде man.
Для начала узнаем, где лежит оригинальный ман.
which man
Скорее всего это /usr/bin/man
. Думаю, что бывают исключения.
Для всех скриптов, к которым я лично приложил руку - у меня есть специальный каталог ~/.scripts
. Каталог прописан в переменной окружения $PATH
. Я нахожу это удобным. Краткая инструкция о создании такого каталога:
mkdir ~/.scripts # Создаем директорию
mate ~/.profile # Добавляем ее в $PATH
В открывшемся окне TextMate нужно дописать строчку <pre>export PATH=$HOME/.scripts:$PATH
</pre> Либо, если export PATH
уже есть, то дописать в нем, сразу после =
$HOME/.scripts:
. Создадим в ~/.scripts
ссылку на наш скрипт:
ln -s /Users/shuvalov/Library/Application\ Support/TextMate/Managed/Bundles/textmate-man-pages.tmbundle/Support/mman ~/.scripts/man
В этот момент, так как я определил директорию с нашим скриптом раньше всего, стандартный man
перестанет работать. Вместо него будет выполняться наш скрипт. Теперь осталось изменить в скрипте вызов man
на /usr/bin/man
(либо путь до оригинальной команды man). Отрываю файл <pre>~/Library/Application\ Support/TextMate/Managed/Bundles/textmate-man-pages.tmbundle/Support/mman
</pre> и отредактируем его. (мой пример).
Набираем man man
и видим результат труда - man-страница открывается в новом окне textmate, переливаясь чинной подсветкой синтаксиса.
Напоследок. Если, просматривая man в textmate, нажать shift+cmd+t
, то откроется меню навигации по ману. Только вот, что бы заставить его работать, нужно в последней строчке скрипта изменить значение sleep на 180, продлив время жизни временной страницы:
(sleep 180; rm -f $tmp) > /dev/null 2>&1 </dev/null &
Заключение.
Читать маны в textmate2 эпически удобно. Так же, удобно уметь использовать один редактор для всех своих задач и не распыляйться.
Похожие статьи:
-
Установка rmate для TextMate2
Инструкция по установке и использованию скрипта rmate для TextMate
-
Интерлиньяж в TextMate2
Инструкция о том, как уменьшить интерлиньяж в популярном текстовом редакторе textmate 2
-
mate и rmate в TextMate 2
-
Музыка для работы #5
Немного мурашек по спине…
-
Белый шум
Баттхёрта нить начинается здесь
-
CommonJS для браузера
Видео моего доклада на MoscowJS
-
Музыка для работы #4
Трогательный chillwave, dream pop & glich
-
Instapaper и Pocket
К чёртовой матери ссылки!