Різноманітні команди – ЧАСТИНА 1

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

301  Gnus

Gnus – це пакет Emacs, розроблений в першу чергу для читання і відправки новин Usenet Його також можна використовувати для читання і написання відповідей на повідомлення з багатьох інших джерел – пошти, віддалених каталогів, дайджестів та інших

Тут ми даємо введення в Gnus і описуємо деякі основні можливості Для отримання детальної інформації про Gnus наберіть Mx info і виберіть потім керівництво по Gnus

Щоб запустити Gnus, надрукуйте Mx gnus hRETi

3011  БуфериGnus

На противагу більшості звичайних пакетів Emacs, Gnus використовує для показу інформації та отримання команд кілька різних буферів Велику частину часу користувачі проводять в трьох буферах: буфері груп, буфері резюме і буфері статті

Буфер груп містить перелік груп Це перший буфер, який Gnus показує після запуску Звичайно в ньому показані тільки ті групи, на які ви підписані, і в яких є непрочитані статті Використовуйте цей буфер для вибору конкретної групи

Буфер резюме построчно перераховує статті однієї групи За замовчуванням для кожної статті показуються автор, заголовок і число рядків, але це можна налаштувати на свій смак, як і більшу частину того, що відображає Gnus Буфер резюме створюється, коли ви обираєте групу в буфері груп, і знищується, коли ви залишаєте цю групу Використовуйте цей буфер для вибору статті

Буфер статті показує саму статтю При звичайному використанні Gnus ви не вибираєте цей буфер – всі корисні команди, призначені для дій над статтею, працюють з буфера резюме Але ви можете вибрати буфер статті та виконувати всі команди Gnus з нього, якщо хочете

3012  Коли Gnus запускається

При запуску Gnus зчитує ваш файл ініціалізації новин . Newsrc і намагається встановити звязок з локальним сервером новин, який служить сховищем статей Сервер новин не зобовязаний бути тим же компютером, на який ви ввійшли

Якщо ви запустили Gnus і зєдналися з сервером, але не бачите в буфері груп жодної групи, наберіть L або A k, щоб отримати перелік всіх груп Потім натискайте u, щоб перемикати підписку на групи

Коли ви запускаєте Gnus перший раз, він підписує вас на кілька обраних груп Всі інші групи спочатку знищені з вашої точки зору ви можете отримати їх перелік за допомогою A k Всі нові групи, що зявляються в подальшому на сервері, стають для вас зомбовані наберіть A z, щоб отримати їх перелік Ви можете підписатися на групи, показані в цих списках, використовуючи команду u

Коли ви залишаєте Gnus за допомогою q, він автоматично записує в ваших файлах ініціалізації . Newsrc і . Newsrceld статус підписки всіх груп Зазвичай вам не варто редагувати ці файли вручну, але ви можете це робити, якщо знаєте як

3013  Огляд команд Gnus

Читання новин – це двокроковий процес:

1 Виберіть групу в буфері груп

2 Вибирайте статті в буфері резюме Кожна обрана стаття показується в буфері статті в великому вікні під буфером резюме в маленькому вікні

Кожен буфер Gnus має свої особливі команди проте, сенс будь-якого даного ключа в різних буферах Gnus зазвичай аналогічний, навіть якщо і розрізняється Ось команди буферів груп і резюме:

q У буфері груп, оновлює файл ініціалізації . newsrc і покидає Gnus

У буфері резюме, покидає поточну групу і повертає в буфер груп Та-

ким чином, двічі натиснувши q, ви вийдете з Gnus

L В буфері груп, перераховує всі доступні групи на вашому сервері новин

(Крім тих, що ви знищили) Це може бути довгий список

l У буфері груп, перераховує тільки ті групи, на які ви підписані, і які містять непрочитані статті

u В буфері груп, скасовує підписку (або встановлює її) на групу, перераховану в рядку, в якій знаходиться точка Коли ви виходите з Gnus, натиснувши q, Gnus перераховує у вашому файлі . newsrc ті групи, на які ви підписані При наступному запуску Gnus ви не побачите цю групу, тому що зазвичай Gnus показує тільки групи, на які ви підписані

Ck У буфері груп, знищує групу на поточному рядку – навіть не перераховує її відтепер в . Newsrc. Це зачіпає як поточний сеанс Gnus, так і наступні

Коли ви залишаєте Gnus за допомогою q, Gnus записує інформацію у файлі

‘. Newsrc, описуючи всі групи, крім тих, що ви знищили.

hSPCi              У буфері груп, вибирає групу на рядку під курсором і показує першу Непрочитані статтю в цій групі

У буфері резюме,

Вибирає статтю під курсором, якщо жодна ще не вибрана

Прокручує текст поточної статті (якщо така є)

Вибирає наступну Непрочитані статтю, якщо поточна стаття скінчи-

лась

Таким чином, ви можете пройти по всіх статтях, послідовно натискаючи

hSPCi

hDELi              У буфері груп, переміщує точку до попередньої групи, що містить непро-

читання статті

У буфері резюме, прокручує текст статті тому

n Переміщає точку до наступної непрочитаної групі або вибирає слідую-

щую непрочитану статтю

p Переміщає точку до попередньої непрочитаної групі або вибирає попе-

дущую непрочитану статтю

C-n

Cp Переміщає точку до наступного або попереднього пункту, навіть якщо він по-

мічений як прочитаний Це не вибирає групу або статтю на тому рядку

s У буфері резюме, починає нарощуваний пошук в тексті поточного буфера статті, точно так само, як якщо б ви переключилися в буфер статті та набрали Cs

M-s regexp hRETi

У буфері резюме, здійснює пошук статей, що містять збіг з regexp

302  Запуск команд оболонки з Emacs

У Emacs є команди для передачі одиночних командних рядків підлеглим процесам оболонки Існує можливість інтерактивного запуску оболонки з введенням і виведенням в буфер Emacs з імям * shell *.

M- кмд hRETi

Запустити командний рядок оболонки кмд і показати її висновок (shellcommand)

M-| кмд hRETi

Запустити командний рядок оболонки кмд з вмістом області в якості введення можлива заміна вмісту області висновком команди (shellcommand-on-region)

Mx shell Запустити подоболочкі з введенням і виведенням через буфер Emacs Потім ви можете задавати команди інтерактивно

3021  Окремі команди оболонки

M- (Shell-command) зчитує в мінібуфер рядок тексту і виконує її як команду оболонки в підоболонці, створеної тільки для цієї команди Стандартний введення команді надходить з нульового пристрою Якщо команда оболонки виробляє небудь висновок, то він надходить в буфер Emacs з імям * Shell Command Output *, який відбивається не в обраному, а в іншому вікні Числовий аргумент, як в M-1 M-, велить команді вставити весь висновок в поточний буфер У цьому випадку точка залишається перед висновком, а мітка встановлюється за ним

Якщо командний рядок оболонки завершується на &, вона виконується асинхронно Для синхронної команди оболонки shell-command повертає вихідне значення цієї команди (0 позначає успіх), коли вона викликається з Лісп-програми

M-| (shell-command-on-region) схожа на M-, Але команді оболонки передається в якості стандартного введення вміст області, а не порожнеча Якщо використовується числовий аргумент, що означає вставку виведення в поточний буфер, то стара область спочатку видаляється, а потім замінюється висновком Вона повертає вихідне значення команди, коли запускається з лісповской програми

Обидві команди M- і M-| використовують оболонку, зазначену змінної shell-file-name При запуску Emacs ця змінна ініціалізується на підставі вашої змінної середовища SHELL Якщо в імені цього файлу не вказується каталог, то проглядаються каталоги в списку exec-path цей список инициализируется при запуску Emacs по змінній середовища PATH Ваш файл . Emacs може скасовувати або одну, або обидві ці ініціалізації за замовчуванням

І M- і M-| очікують завершення команди оболонки Щоб зупинити очікування, використовуйте команду Cg вона завершує команду оболонки сигналом SIGINT – тим же сигналом, який зазвичай генерується оболонкою при введенні C-c Emacs чекає, поки ця

команда насправді завершиться Якщо команда оболонки не зупинилася (тому що вона ігнорує сигнал SIGINT), наберіть Cg знову це пошле сигнал SIGKILL, який неможливо проігнорувати

Щоб вказати систему кодування для M- або M-|, використовуйте команду Cx hRETc

безпосередньо перед ними Див Розділ 189 [Завдання кодування], с 168

Повідомлення команди про помилки зазвичай перемежовуються із звичайним висновком Якщо ви встановите змінну shell-command-default-error-buffer рівний рядку, що є імям буфера, протокол помилок вставлятиметься перед точкою в буфері з цим імям

3022  Інтерактивна підпорядкована оболонка

Для запуску інтерактивної подоболочки із збереженням протоколу в буфері Emacs застосовується Mx shell Ця команда створює (або знову використовує) буфер з імям * shell * і запускає подоболочкі з введенням, що приходять з цього буфера, і виведенням, що йде в нього Тобто, будь-який термінальний введення для подоболочки приходить з тексту в буфері, а будь-який термінальний висновок з подоболочки надходить в буфер, просуваючи точку вперед Для передачі введення в подоболочкі необхідно відправитися в кінець буфера, набрати потрібну і завершити набором hRETi

Джерело: Річард Столмен, Керівництво по 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>

*

*