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

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

По-перше, підготовка Усередині Emacs, викличте функцію server-start (Ваш файл

‘. Emacs може робити це автоматично, якщо ви додасте в нього вираз (serverstart)) Потім, ззовні Emacs, встановіть змінну середовища EDITOR рівний emacsclient. (Зауважте, що деякі програми використовують іншу змінну середовища наприклад,

щоб TEX використовував emacsclient, вам потрібно встановити змінну середовища TEXEDIT

рівний emacsclient +% d% s.)

Згодом, коли будь-яка програма викликає зазначену програму EDITOR, в результаті вашому головному Emacs буде відправлено повідомлення, щоб він звернувся до файлу (Програма emacsclient робить саме це) Emacs негайно показує цей буфер, і ви відразу можете почати його редагування

Коли ви завершите редагування цього буфера, наберіть Cx # (server-edit) Це збереже файл і пошле програмі emacsclient повідомлення, що наказує вийти Програми, що використовують EDITOR, очікують, поки Редактор (насправді, emacsclient) вийде Cx # також перевіряє інші відкладені зовнішні запити на редагування різних файлів і вибирає наступний

Ви можете переключитися в серверний буфер вручну, якщо хочете необовязково потрапляти в нього за допомогою Cx # Але Cx # дає єдиний спосіб сказати, що закінчили з поточним

Якщо ви встановите змінну server-window рівний вікна або фрейму, Cx # показуватиме серверний буфер в цьому вікні або фреймі

Поки mail або інший додаток очікує завершення emacsclient, emacsclient не читає термінальний введення Тому термінал, який використовувала mail, як би блокується на цей час Щоб редагувати у вашому головному Emacs, вам потрібна можливість використовувати Emacs без цього терміналу Є два способи домогтися цього:

Використовуючи віконну систему, запускайте mail і головний Emacs в двох різних вікнах

Поки mail очікує emacsclient, вікно, в якому вона запущена, блокується, але ви можете використовувати Emacs, переключивши вікно

Використовуйте для запуску інших програм, таких як mail, режим Shell в Emacs тоді emacsclient блокує тільки подоболочкі в Emacs, і ви можете продовжувати використовувати Emacs для редагування цього файлу

Деякі програми записують для вашого редагування тимчасові файли Після того, як ви відредагували такий тимчасовий файл, програма зчитує його і видаляє Якщо сервер Emacs пізніше попросять відредагувати файл з тим же імям, він не повинен припускати, що цей файл має якесь відношення до попереднього появі цього ж імені Сервер робить це, знищуючи буфер тимчасового файлу, коли ви закінчили з ним Використовуйте змінну server-temp-file-regexp, щоб вказати, які файли є тимчасовими в цьому сенсі її значенням має бути регулярний вираз, що збігається з іменами тимчасових файлів

Якщо ви запускаєте emacsclient з ключем -no-wait, він повертається відразу, не дожі-

даясь, поки ви завершите з буфером в Emacs

304  Висновок твердої копії

Команди Emacs для створення твердої копії дозволяють вам надрукувати весь буфер або тільки його частину із заголовками або без них Дивіться також команди друку Dired (див Розділ 1410 [Інші дії над файлами], с 132) і щоденника (див Розділ 29101 [Команди щоденника], с 313)

M-x print-buffer

Видати роздруківку поточного буфера з заголовками, що містять імя файлу і номер сторінки

M-x lpr-buffer

Видати роздруківку поточного буфера без заголовків сторінок

M-x print-region

Як print-buffer, але друкувати тільки поточну область

M-x lpr-region

Як lpr-buffer, але друкувати тільки поточну область

Всі команди друку (крім використовують Postscript) передають програмі lpr додаткові ключі, що базуються на значенні змінної lpr-switches Її значення має бути списком рядків, причому кожна рядок – це ключ, що починається з -. Наприклад, щоб зробити ширину рядків рівний вісімдесяти стовпцях для всіх роздруківок, одержуваних з Emacs, встановіть lpr-switches так:

(setq lpr-switches  ’(&quot-w80&quot))

Ви можете вказати, який принтер повинен використовуватися, встановивши змінну

printer-name

Мінлива lpr-command задає імя використовуваної програми друку значення за замовчуванням залежить від типу вашої операційної системи На більшості систем це lpr. Мінлива lpr-headers-switches схожим чином задає додаткові ключі для створення заголовків сторінок Мінлива lpr-add-switches вказує, чи потрібно передавати програмі друку ключі -T і -J (відповідні для lpr): nil означає, що додавати їх не треба lpr-add-switches повинна дорівнювати nil, якщо ваша програма друку не сумісна з lpr

305  Друк через Postscript

Ці команди перетворять вміст буфера в Postscript і або друкують його, або залишають в іншому буфері Emacs

M-x ps-print-buffer

Виводить роздруківку поточного буфера у формі Postscript

M-x ps-print-region

Виводить роздруківку поточної області у формі Postscript

M-x ps-print-buffer-with-faces

Виводить роздруківку поточного буфера у формі Postscript, показуючи вико-

ванні в тексті накреслення засобами Postscript

M-x ps-print-region-with-faces

Виводить роздруківку поточної області у формі Postscript, показуючи вико-

ванні в тексті накреслення засобами Postscript

M-x ps-spool-buffer

Генерує Postscript для тексту поточного буфера

M-x ps-spool-region

Генерує Postscript для поточної області

M-x ps-spool-buffer-with-faces

Генерує Postscript для поточного буфера, показуючи використані начер-

танія

M-x ps-spool-region-with-faces

Генерує Postscript для поточної області, показуючи використані начер-

танія

Команди роботи з Postscript, ps-print-buffer і ps-print-region, друкують вміст буфера у формі Postscript Одна команда друкує весь буфер, інша – тільки область Відповідні команди із закінченням -With-faces, ps-print-buffer-withfaces і ps-print-region-with-faces, використовують засоби Postscript для передачі накреслень (шрифтів і кольорів) у властивостях що друкується тексту

Якщо ви використовуєте кольоровий дисплей, ви можете надрукувати буфер, що містить код програми, з колірною підсвічуванням, включивши в цьому буфері режим Font-Lock і викликавши ps-print-buffer-with-faces

Команди, чиї імена містять spool на місці print, генерують висновок Postscript в буфері Emacs, а не посилають його на принтер

306  Змінні, керуючі печаткою в Postscript

Всі команди друку через Postscript використовують змінні ps-lpr-command і pslpr-switches, що вказують, як потрібно друкувати ps-lpr-command задає імя запускається команди, ps-lpr-switches задає ключі командного рядка, а ps-printer-name

задає принтер Якщо ви не встановили перші дві змінні самі, вони отримують свої початкові значення від lpr-command і lpr-switches Якщо ps-printer-name дорівнює nil, використовується printer-name

Мінлива ps-print-header контролює, чи будуть ці команди додавати рядки заголовка для кожної сторінки, – встановіть її рівною nil, щоб вимкнути заголовки Ви можете відключити обробку квітів, встановивши ps-print-color-p в значення nil

Мінлива ps-paper-type вказує, для якого розміру станиці потрібно форматувати допустимі значення включають a4, a3, a4small, b4, b5, executive, ledger, legal, letter, letter-small, statement, tabloid За умовчанням це letter Ви можете визначити додаткові розміри паперу, змінюючи змінну ps-page-dimensionsdatabase

Мінлива ps-landscape-mode вказує орієнтацію тексту на сторінці За умовчанням вона дорівнює nil, що позначає портретний режим Будь-яке відмінне від nil значення задає ландшафтний режим

Мінлива ps-number-of-columns задає число колонок вона грає роль і в портрет-

ном , і в ландшафтному режимі За умовчанням це 1

Мінлива ps-font-family вказує, яке сімейство шрифтів потрібно використовувати при друку звичайного тексту Допустимі значення включають Courier, Helvetica, NewCenturySchlbk, Palatino і Times Мінлива ps-font-size задає розмір шрифту для звичайного тексту За умовчанням це 85 пунктів

Багато інші змінні для настройки цих команд визначені й описані у файлі на Ліспі ps-printel.

307  Сортування тексту

Emacs надає кілька команд для сортування тексту в буфері Всі вони оперують з вмістом області (текстом між точкою і влучною) Ці команди розділяють текст області на велике число записів сортування, визначають ключ сортування для кожного запису і потім переставляють запису в порядку, визначеному ключами сортування Записи розташовуються таким чином, щоб їх ключі знаходилися в алфавітному або, для числової сортування, числовому порядку При алфавітній сортуванні всі букви верхнього регістру від A до Z йдуть перед а нижнього регістра, у відповідності з послідовністю знаків ASCII

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

M-x sort-lines

Розділити область на рядки і відсортувати відповідно з повним тек-

стом рядка Числовий аргумент означає сортування за спаданням

M-x sort-paragraphs

Розділити область на абзаци і відсортувати, порівнюючи текст абзаців цілком (за винятком порожніх рядків на початку) Числовий аргумент означає сортування за спаданням

M-x sort-pages

Розділити область на сторінки і відсортувати, порівнюючи повний текст сторінок (за винятком порожніх рядків на початку) Числовий аргумент означає, що сортування проводиться за спаданням

M-x sort-fields

Розділити область на рядки і відсортувати, порівнюючи вміст одного поля в кожному рядку Поля розділяються пропусками, так що перший відрізок послідовних непробільних знаків у рядку становить поле 1, другий такий відрізок становить поле 2, і так далі

Поле, по якому повинна виробляється сортування, вказується за допомогою числового аргументу: 1 використовується для сортування по полю 1, і так далі Негативний аргумент означає відлік полів праворуч, а не зліва тобто мінус 1 позначає сортування за останнім полю Якщо зміст полів сортування в декількох рядках однаково, ці рядки залишаються в тому ж відносному порядку, в якому вони були спочатку

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

*

*