Запуск команд по імені

Команди Emacs, які застосовуються часто або повинні швидко набиратися, привязуються до ключів – коротким послідовностям знаків – для зручності використання Інші команди Emacs, що не потребують стислості, не привязані до ключів щоб запустити їх, ви повинні звернутися до них по імені

За угодою імя команди створюється з одного або більше слів, розділених дефісами наприклад, auto-fill-mode або manual-entry Використання англійських слів робить імена команд більш легкими для запамятовування, ніж складені з незрозумілих знаків ключі, навіть якщо слова довше набирати

Щоб запустити на виконання команду по імені, спочатку наберіть Mx, за ним імя команди і закінчите набором hRETi M-x використовує мінібуфер для читання імені команди hRETi  виходить з мінібуфера і запускає команду на виконання Рядок M-x показується на початку буфера як підказка, щоб нагадати вам, що ви повинні ввести імя команди, яка буде запущена на виконання Див Глава 5 [мінібуфер], с 45, для повної інформації про властивості мінібуфера

При введенні імені команди ви можете використовувати завершення Наприклад, команда

forward-char може бути запущена по імені за допомогою

M-x forward-char hRETi

або

M-x forw  hTABi  c hRETi

Зауважимо, що forward-char – це та ж сама команда, яку ви викликаєте за допомогою ключа Cf Будь-яка команда Emacs може бути викликана по імені з використанням Mx незалежно від того, чи існує повязаний з нею ключ

Якщо під час зчитування імя команди ви набираєте Cg, то ви відкидаєте команду

Mx і залишаєте мінібуфер, по завершенні піднімаючись на верхній рівень

Щоб передати числовий аргумент команді, яку ви викликаєте за допомогою Mx, задайте числовий аргумент перед Mx Mx передає аргумент команді, яку викликає Значення аргументу зявляється в підказці в той час, коли зчитується імя команди

Якщо набирається вами команда привязана до власного ключу, Emacs говорить про це в луна-області через дві секунди після завершення команди (якщо ви до цього нічого не ввели) Наприклад, якщо ви надрукуєте Mx forward-word, ви отримаєте повідомлення, яке говорить, що цю ж команду можна запустити більш просто, ввівши Mf Ви можете відключити ці повідомлення, встановивши suggest-key-bindings в значення nil

У цьому керівництві при описі команд, що запускаються по імені, ми зазвичай опускаємо hRETi, Який необхідний для обмеження імені Тобто ми частіше пишемо Mx auto-fill-mode, а не Mx auto-fill-mode hRETi Ми згадуємо hRETi, Тільки коли необхідно підкреслити його присутність, наприклад при описі послідовності введення, яка містить імя команди і наступні за ним аргументи

Mx визначений на виконання команди execute-extended-command, яка відповідає за зчитування імені іншої команди і її запуск

7 Довідка

Emacs надає широкі можливості надання довідки, які доступні через один знак, Ch Ch – це префіксний ключ, який використовується тільки для команд друку документації Знаки, які ви можете набрати після Ch, називаються параметрами довідки Одним з них є C-h c його допомогою ви запитуєте інформацію про використання Ch Функціональна клавіша hF1i  служить еквівалентом C-h

Ch Ch (help-for-help) друкує список всіх можливих параметрів довідки з коротким описом кожного з них До набору параметра довідки ви можете перегорнути цей список за допомогою hSPCабо hDELi

C-h або hF1означає допомога також і в багатьох інших контекстах Наприклад, в процесі роботи query-replace вони описують доступні можливі дії над поточним знайденим збігом Після префіксного ключа вони виводять перелік варіантів, які можуть слідувати за цим префіксним ключем (Деякі префіксние ключі не підтримують Ch, тому що вони визначають для нього інші значення але всі вони підтримують hF1i)

Більшість довідкових буферів використовують спеціальний основний режим, режим

Help, який дозволяє вам зручно робити прокрутку за допомогою hSPCі hDELi

Нижче наведено огляд всіх визначених команд для отримання довідки

C-h a regexp hRETi

Показати список команд, чиї імена відповідають регулярному виразу

regexp (apropos-command)

Ch b Показати таблицю всіх привязок ключів, діючих на даний момент в наступному порядку: привязки поточних другорядних режимів, привязки основного режиму і глобальні привязки (describe-bindings)

C-h c ключ

Надрукувати імя команди, яку запускає на виконання заданий ключ (describe-key-briefly) Тут c означає character (знак) Для отримання більш докладної інформації про ключ, використовуйте Ch k

C-h f функція hRETi

Показати документацію на лісповскую функцію з імям функція (describefunction) Так як команди є лісповскімі функціями, ви можете використовувати імя команди

Ch h Вивести файл hello, який показує приклади різних наборів зна-

ков

Ch i Запустити Info, програму для перегляду файлів документації (info) Пол-

ве керівництво по Emacs існує як діалоговий файл в Info

C-h k ключ

Показати імя та опис команди, яку запускає ключ (describe-key)

Ch l Показати опис останніх 100 набраних вами знаків (view-lossage)

Ch m Показати опис поточного основного режиму (describe-mode)

Ch n Показати опис змін у Emacs, першим саме останнє (view-emacsnews)

Ch p Знайти пакет за ключовим словом (finder-by-keyword)

Ch s Показати поточний зміст синтаксичної таблиці і пояснити, що воно означає (describe-syntax) Див Розділ 316 [Синтаксис], с 366

Ch t Увійти в інтерактивний самовчитель по Emacs (help-with-tutorial)

C-h v пров hRETi

Показати опис лісповской змінної пров (describe-variable)

C-h w команда hRETi

Надрукувати, які ключі запускають на виконання команду з імям команда

(where-is)

C-h C кодування hRETi

Вивести опис системи кодування з імям кодування (describecoding-system)

C-h C hRETi

Описати використовувану в даний момент систему кодування

C-h I метод hRETi

Описати метод введення (describe-input-method)

C-h L мовнаСереда hRETi

Показати відомості про набори знаків, системах кодування і методи введення,

використовуваних у мовнійсередовищі (describe-language-environment)

Ch Cc Показати умови копіювання GNU Emacs

Ch Cd Показати інформацію про отримання нових версій GNU Emacs

C-h C-f функція hRETi

Увійти в Info і перейти до ноді, яка описує функцію Emacs з імям функція

(Info-goto-emacs-command-node)

C-h C-k ключ

Увійти в Info і перейти до ноді, яка описує задану послідовність ключів (Info-goto-emacs-key-command-node)

Ch Cp Показати інформацію про Проект GNU

C-h hTABмовноїсимвол hRETi

Показати документацію Info на мовнійсимвол відповідно до мови про-

граммирования, на якому ви пишіть (info-lookup-symbol)

71  Описи для ключів

Основними параметрами для Ch є Ch c (describe-key-briefly) і Ch k (describe-key) Ch c ключ друкує в луна-області імя команди, до якої привязаний ключ Наприклад, C-h c C-f друкує Forward-char. Оскільки імена команд вибираються так, щоб вони описували дію команди, це зручний спосіб отримати дуже короткий опис того, що робить ключ

Ch k ключ схожа на попередню, але дає більше інформації Вона показує рядок документації команди, а також її імя Це занадто багато для луна-області, тому для показу використовується вікно

Ch c і Ch k працюють для будь-яких видів ключів, включаючи функціональні клавіші і події від миші

72  Довідка по імені команди або змінною

Ch f (describe-function) читає імя функції Лиспа, використовуючи мінібуфер, потім показує рядок документації цієї функції у вікні Так як команди – це лісповскіе функції, ви можете користуватися цим для отримання опису команди, відомої по імені Наприклад,

C-h f auto-fill-mode  hRETi

видає документацію для auto-fil-mode Це єдиний спосіб побачити документацію команди, яка не привязана до якого-небудь ключу (однією з тих, яких ви зазвичай викликаєте за допомогою Mx)

Ch f також корисна для лісповскіх функцій, які ви плануєте використовувати в програмі на Ліспі Наприклад, якщо ви просто написали вираз (make-vector len) і хочете бути впевненими в тому, що ви вірно використовували make-vector, наберіть Ch f make-vector hRETi Так як Ch f сприймає імена всіх функцій, а не тільки імена команд, то ви можете виявити, що деякі з ваших улюблених скорочень, які працюють в Mx, не працюють в Ch f Скорочення можуть бути унікальними серед імен команд і вже не бути унікальними, коли розглядаються також і імена інших функцій

Імя функції для Ch f має значення за замовчуванням, яке використовується, якщо ви наберете hRETi, Залишаючи мінібуфер порожнім За умовчанням це буде функція, викликана найглибшим лісповскім виразом в буфері в районі точки, за умови, що це правильне, певне імя функції Лиспа Наприклад, якщо точка розташована слідом за текстом (make-vector (car x), то найглибший список, що містить точку, це той, що починається з (make-vector; таким чином, за замовчуванням буде описана функція make-vector

Ch f часто корисна просто для перевірки правильності написання імені функції з точки зору орфографії Якщо Ch f згадує у підказці значення за замовчуванням, то ви набрали імя певної лісповской функції Якщо це все, що ви хотіли дізнатися, просто наберіть Cg, щоб скасувати команду Ch f і продовжити редагування

C-h w команда hRETi  повідомляє вам, які ключі привязані до команди Вона друкує список ключів в луна-області Якщо вона говорить, що команда не привязана ні до одного ключу, ви повинні використовувати для виклику цієї команди M-x C-h w запускає команду where-is

Ch v (describe-variable) схожа на Ch f, але описує змінні Лиспа, а на функції Її значення за замовчуванням – це лісповскій символ поблизу або перед точкою, але тільки якщо це імя відомої лісповской змінної Див Розділ 312 [Змінні], с 343

73  Пошук по контексту

Більш складний вид запитів – це питання ніби Які команди використовуються для роботи з файлами” Щоб поставити таке питання, наберіть Ch a file hRETi, Яка покаже список всіх імен команд, які містять file, такі як copy-file, find-file і так далі Разом з імям команди показується короткий опис того, як її використовувати, і які ключі її запускають Наприклад, вам повідомлять, що ви можете запустити find-file, набравши Cx Cf Тут а в Ch – це скорочення для Apropos, Ch a запускає на виконання функцію command-apropos Ця команда перевіряє тільки команди (інтерактивні функції) якщо ви задасте префіксний аргумент, вона перегляне також і Неінтерактивні функції

Так як Ch a шукає тільки функції, чиї імена містять задану вами рядок, ви повинні бути винахідливі у виборі рядків Якщо ви шукаєте команди для знищення

у зворотному напрямку, і Ch a kill-backward hRETнічого не показує, не зневіряйтеся Спробуйте просто kill, або просто backward або просто back Будьте наполегливі Вдаючи, що ви граєте в Adventure Також відзначимо, що для більшої гнучкості ви можете використовувати як аргумент регулярний вираз (див Розділ 125 [Регулярні вирази], с 91)

Тут представлений набір аргументів для передачі в Ch a, який охоплює безліч класів команд, так як існують суворі угоди для імен стандартних команд Emacs Даючи вам відчути прийняті угоди про іменування, цей набір також повинен служити вам допомогою у вдосконаленні технічних прийомів для підбору рядків apropos

char, line, word, sentence, paragraph, region, page, sexp, list, defun, rect, buffer, frame, window, face, file, dir, register, mode, beginning, end, forward, backward, next, previous, up, down, search, goto, kill, delete, mark, insert, yank, fill, indent, case, change, set, what, list, find, view, describe, default

Для отримання переліку всіх користувальницьких змінних, які відповідають регулярному виразу, використовуйте команду Mx apropos-variable Ця команда показує за замовчуванням тільки користувальницькі змінні якщо ви задасте префіксний аргумент, вона перегляне всі змінні

Щоб перелічити всі лісповскіе символи, які містять збіг з регулярним виразом, а не тільки ті, що визначені як команд, використовуйте команду Mx apropos, а не Ch a За замовчуванням ця команда не перевіряє привязки ключів якщо ви хочете дізнатися їх, задайте цій команді префіксний аргумент

Команда apropos-documentation схожа на apropos, але справляє пошук збігів з регулярним виразом не тільки в іменах символів, але і в рядках опису

Команда apropos-value діє як apropos, за винятком того, що шукає збіги з регулярним виразом в значеннях символів Ця команда за замовчуванням не перевіряє визначення функцій або списки властивостей задайте їй числовий аргумент, якщо ви хочете перевірити і їх

Якщо змінна apropos-do-all не дорівнює nil, то всі описані вище команди ведуть себе так, як-ніби їм заданий префіксний аргумент

Якщо ви хочете отримати більше інформації про визначення функції, про змінної або про властивості символу, перерахованих в буфері Apropos, ви можете клацнути на них Mouse-2 або переміститися туди і натиснути hRETi

74  Пошук в бібліотеках Лиспа за ключовими словами

Команда Ch p дозволяє вам проводити пошук в стандартних бібліотеках Emacs Lisp за тематичними ключовими словами Ось неповний перелік ключових слів, які ви можете використовувати:

abbrev – управління скороченнями, швидкі клавіші, макроси bib – підтримка обробника бібліографій bib

c – підтримка мов Сі і Сі + +

calendar – підтримка календаря та операцій з часом comm – комунікації, мережі, віддалений доступ до файлів data – підтримка редагування файлів з даними

docs – підтримка документації Emacs emulations – емуляція інших редакторів extensions – розширення мови Emacs Lisp

faces – підтримка різних накреслень (шрифтів і кольорів)

frames – підтримка фреймів і віконних систем games – ігри, жарти і розваги

hardware – підтримка інтерфейсів з екзотичною апаратурою help – підтримка інтерактивних довідкових систем

hypermedia – підтримка для посилань усередині тексту i18n – підтримка різних мов і алфавітів

internal – внутрішній код Emacs, збірка, значення за замовчуванням

languages ​​- спеціалізовані режими для редагування коду lisp – підтримка використання Лиспа (включаючи Emacs Lisp)

local – бібліотеки, локальні для вашої системи

maint – засоби підтримки для групи розробників Emacs mail – режими для роботи з електронною поштою

matching – пошукові програми

news – підтримка читання і відправки мережевих новин

non-text – підтримка для редагування нетекстових файлів oop – підтримка обєктно-орієнтованого програмування outlines – перегляд ієрархічної структури тексту

processes – процеси, оболонка, компіляція і керування завданнями terminals – підтримка різних типів терміналів

tex – підтримка для програми компютерного набору TEX tools – утиліти для програмування

unix – інтерфейси або емулятори можливостей Unix vms – підтримка VMS

wp – обробка тексту

75  Довідка про підтримку різних мов

Для отримання довідки про підтримку певної мовної середовища використовуйте команду Ch L (describe-language-environment) Див Розділ 183 [Мовні середовища], с 162 Ця команда говорить вам, для яких мов корисна ця мовна середа, і перераховує набори знаків, системи кодування і методи введення, які використовуються в цьому середовищі Вона також показує зразок тексту для демонстрації його зовнішнього вигляду

Команда Ch h (view-hello-file) відображає файл etc / HELLO, який показує,

як сказати Привіт на різних мовах

Команда Ch I (describe-input-method) описує метод введення, або заданий явно, або, за замовчуванням, який використовується в даний момент Див Розділ 184 [Методи введення], с 163

Команда Ch C (describe-coding-system) описує систему кодування, або задану явно, або, за замовчуванням, використовувані в даний момент Див Розділ 187 [Системи кодування], с 165

76  Команди режиму Help

Довідкові буфери надають команди режиму View (див Розділ 1410 [Файли

Різне], с 132) плюс кілька власних особливих команд

hSPCi              Прокручує вперед

hDELi              Прокручує назад

hRETi             Переходить по перехресної засланні в точці

hTABi              Переміщує вперед до наступної перехресної посиланням

S-hTABi         Переміщує назад до попередньої перехресної посиланням

Mouse-2 Переходить по перехресної посиланням, на якій ви клацнули

Коли в описі зявляється імя команди (див Глава 6 [], с 53) або імя змінної (див Розділ 312 [Змінні], с 343), воно зазвичай показується в парних одиночних лапках Ви можете клацнути на імені за допомогою Mouse-2 або пересунути до нього точку і натиснути hRETi, Щоб переглянути документацію на цю команду або змінну Використовуйте Cc Cb для повернення

Є зручні команди для переміщення точки до перехресним посиланнях в тексті довідкиhTABi  (Help-next-ref) пересуває точку вперед до наступної перехресної посиланням Щоб перемістити точку до попередньої посиланням, використовуйте S-hTABi  (help-previousref)

77  Інші команди для отримання довідки

Ch i (info) запускає на виконання програму Info, яка використовується для перегляду структурованих файлів документації Усередині Info мається повне керівництво по Emacs Зрештою там буде доступна вся документація по системі GNU Щоб запустити самовчитель з використання Info, наберіть h після входу в Info

Якщо ви задасте числовий аргумент, Ch i запитає імя файлу документації Таким чином ви зможете переглянути файл, для якого немає входження в меню Info верхнього рівня Це також зручно, коли вам потрібно отримати документацію швидко, і ви знаєте точне імя цього файлу

Існують дві спеціальні довідкові команди для отримання документації по Emacs через Info C-h C-f функція hRETi  входить в Info і переходить безпосередньо до опису функції Emacs з імям функція Ch Ck ключ входить в Info і переходить до опису ключа Ці ключі запускають команди Info-goto-emacs-command-node і Infogoto-emacs-key-command-node

При редагуванні програми, якщо у вас є Info-версія керівництва для цієї мови програмування, ви можете використовувати команду Ch Ci для перегляду опису символу (ключового слова, функції або змінної) Деталі роботи цієї програми залежать від основного режиму

Якщо відбувається щось дивне, і ви не впевнені, яку команду ви набрали, використовуйте Ch l (view-lossage) Ch l друкує останні 100 набраних вами командних знаків Якщо ви побачили команди, які вам не знайомі, ви можете використовувати Ch c, щоб відшукати інформацію про те, що вони роблять

Emacs має безліч основних режимів, кожен з яких перевизначає кілька ключів і робить деякі інші зміни в роботі редактора Ch m (describe-mode) друкує документацію про поточному основному режимі, в якій зазвичай описані всі команди, змінені в цьому режимі

Ch b (describe-bindings) і Ch s (describe-syntax) надають іншу інформацію про поточний режим Emacs Ch b показує список всіх привязаних ключів, що діють в даний момент спочатку йдуть локальні привязки поточних другорядних режимів, за ними локальні привязки поточного основного режиму і, нарешті, глобальні привязки (див Розділ 314 [Привязки ключів], с 356) Ch s показує вміст синтаксичної таблиці з поясненням синтаксису кожного знака (див Розділ 316 [Синтаксис], с 366)

Ви можете отримати подібний перелік для конкретного префіксного ключа, набравши після нього Ch (Є кілька префіксних ключів, для яких це не працює – вони надають свої привязки для Ch Один з них – це hESCi, Тому що hESCCh насправді еквівалентний CMh, який позначає визначення функції)

Інші параметри Ch показують різноманітні файли з корисною інформацією Ch Cw показує подробиці про відсутність гарантій для GNU Emacs С-hn (view-emacsnews) показує файл emacs / etc / NEWS, який містить опис змін у Emacs,

сортувати в хронологічному порядку Ch F (view-emacs-FAQ) виводить список часто відповідають питань про Emacs Ch t (help-with-tutorial) показує навчальне керівництво по Emacs C-h C-c (describe-copying) показує файл emacs / etc / COPYING, який пояснює умови, які ви повинні виконати при поширенні копій Emacs Ch Cd (describe-distribution) показує файл emacs / etc / DISTRIB, в якому розповідається, як ви можете замовити копію останньої версії Emacs Ch Cp (describe-project) виводить загальну інформацію про Проект GNU

Джерело: Річард Столмен, Керівництво по GNU Emacs

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*