Руководство пользователя Linux


Руководство пользователя Linux - стр. 73


(global-set-key "\C-c l" 'goto-line)

global-set-key - это функция двух аргументов: клавишная комбинация и соответствующее ей действие. Слово "global" означает, что

- 97 -

эта комбинация будет действовать во всех основных режимах (сущесвует и другая функция, local-set-key, которая задает комбинацию, действующую в пределах одного буфера). Выше я поставил в соответствие C-c l функции goto-line. Эта комбинация описана с помощью некоторой строки. Специальный синтаксис "\C-" означает нажатую клавишу [Control] во время нажатия клавиши . Аналогично, "M-" для мета-клавиши.

Все это хорошо, но как я мог знать, что имя этой функции это "goto-line"? Я могу знать, что хочу сопоставить комбинацию C-c l некоторой функции, которая запрашивает номер строки, а затем перемещает курсор на эту строку, но но как же я узнаю имя этой функции?

Вот здесь как раз самый подходящий случай воспользоваться средствами встроенной помощи. Как только вы определились с тем, какую функцию ищете, вы можете использовать Emacs, чтобы узнать ее точное имя. Вот самый быстрый и "грязный" способ: поскольку Emacs делает завершение имен функций, просто наберите C-h f (что, как вы помните, описывает функцию), а затем просто нажмите [Tab]. Это является запросом для Emacs'а сделать завершение для пустой строки - другими словами, это завершение будет соответствовать любой простой функции! Это может занять немного времени, поскольку Emacs имеет так много встроенных функций, но он отобразит их столько, сколько позволит ваш экран.

Сейчас нажмите C-g, чтобы выйти из "описывателя" функций. Появится буфер, называемый "*Completions*" ("*Завершения*"), который содержит только что сгенерированный список завершений. Переключитесь в этот буфер. Теперь вы можете использовать C-s для поиска похожих функций. Например, можно смело предположить, что функция, которая запрашивает о номере строки и переводит курсор, содержит в своем имени слово "line". Таким образом, просто найдите строку "line", и, в конце концов, найдете то, что искали.




Начало  Назад  Вперед