Додаток A Аргументи командного рядка – ЧАСТИНА 1

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

Аргументи, що починаються зі знака -, називаються ключами Інші аргументи задають файли, до яких потрібно звернутися Emacs звертається до зазначених файлів під час запуску Файл, задане в командному рядку останнім, стає поточним буфером інші файли також присутні, але в інших буферах Як звичайно, особливий аргумент – каже, що всі наступні аргументи є іменами файлів, а НЕ ключами, навіть якщо починаються на -.

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

Є два способи запису ключів: короткі форми, що починаються з одного знака -, і довгі форми, що починаються з -. Наприклад, -d – це коротка форма, а -display

– Відповідна довга форма

Довгі форми з – легше запамятати, але довше друкувати Однак, ви не зобовязані писати імя ключа повністю, достатньо будь-якого однозначного скорочення Коли довгий ключ приймає аргумент, ви можете використовувати для розділення імені ключа й аргументу або пробіл, або знак рівності Таким чином, ви можете написати як

‘-Display sugar-bombs: 00, так і -display = sugar-bombs: 00. Ми рекомендуємо використовувати знак рівності, так як він більш чітко показує взаємозвязок, і в наведених нижче таблицях завжди використовується знак рівності

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

A1  Аргументи дії

Ось таблиця аргументів і ключів дії:

‘Файл Звернутися до файлу за допомогою find-file Див Розділ 142 [Звернення],

с 106

‘+ Номеррядка файл

Звернутися до файлу за допомогою find-file, а потім перейти в ньому до рядка з номером номеррядка

‘-L файл

‘-Load = файл

Завантажити лісповскую бібліотеку з імям файл за допомогою функції load Див Розділ 237 [Бібліотеки Лиспа], с 253 Бібліотека може перебувати або в поточному каталозі, або в шляху пошуку бібліотек Emacs, як він заданий змінною EMACSLOADPATH (див Розділ A51 [Загальні змінні], с 388)

‘-F функція

‘-Funcall = функція

Викликати лісповскую функцію без аргументів

‘-Eval вираз

Обчислити лісповское вираз

‘-Insert = файл

Вставити вміст файлу в поточний буфер Це схоже на дію Mx insert-file Див Розділ 1410 [Різноманітні дії з файлами], с 132

‘-Kill Припинити роботу Emacs без підтвердження

Файл ініціалізації може отримати доступ до значень аргументів дії через список у змінній command-line-args Файл ініціалізації може перекрити звичайну обробку аргументів дії або визначити нові шляхом читання і установки цієї змінної

A2  Ключі запуску

Ключі запуску задають параметри для даного сеансу Emacs У цьому розділі описані більш загальні ключі запуску деякі інші ключі, повязані з X Windows, вводяться в наступних розділах

Деякі ключі запуску впливають на процес завантаження файлів ініціалізації Зазвичай Emacs завантажує site-startel, якщо він існує, потім ваш власний файл ініціалізації ~ / Emacs, якщо він існує, і нарешті, defaultel, якщо він існує певні ключі забороняють пересилання деяких з цих файлів або замінюють їх іншими файлами

‘-T пристрій

‘-Terminal = пристрій

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

‘-D дисплей

‘-Display = дисплей

Використовувати систему X Windows і відкрити початковий фрейм Emacs на дис-

плее із заданим імям

‘-nw’

‘-no-windows’

Не спілкуватися безпосередньо з X Windows, не звертаючи уваги на змін-

ную середовища DISPLAY, навіть якщо вона встановлена

‘-batch’

‘-Batch Запустити Emacs пакетному режимі, що означає, що редагований текст не відображається, а стандартні команди терміналу для переривання, такі як Cz і Cc, продовжують мати своє звичайне значення Emacs в пакетному режимі виводить у стандартний потік помилок stderr тільки те, що в нормальному режимі виводилося б програмами в луна-область

Пакетний режим використовується для запуску програм, написаних мовою Emacs Lisp, із сценаріїв командного інтерпретатора, Make-файлів і так далі Зазвичай при цьому також використовуються ключі -l або -f, щоб запустити Лісп-програму для пакетної обробки

Ключ -batch увазі -q (не завантажувати файл ініціалізації) Він також змушує Emacs припинити роботу після того, як оброблені всі командні ключі Крім того, самозбереження проводиться тільки в тих буферах, в яких воно було затребувано явно

‘-q’

‘-no-init-file’

Не завантажувати ваш файл ініціалізації Emacs, ~ / Emacs, а також

‘defaultel’

‘-no-site-file’

Не завантажувати файл site-startel. Ключі -q, -u і -batch не впливають на завантаження цього файлу – тільки цей ключ блокує її

‘-U користувач

‘-User = користувач

Завантажити файл ініціалізації Emacs, що належить користувачеві, ~ поль

зователь / emacs , замість вашого власного

‘-debug-init’

Включити відладчик Emacs Lisp для обробки помилок у файлі ініціалізації

‘-unibyte’

Робити практично все з використанням однобайтних буферів і рядків Всі буфери і рядки будуть однобайтное, якщо ви (або Лісп-програма) явно не запросите багатобайтові буфер або рядок Установка змінної середовища EMACS_UNIBYTE має той же ефект

‘-multibyte’

Придушити дію змінної EMACS_UNIBYTE, щоб Emacs за замовчуванням ис-

пользовал багатобайтові знаки, як звичайно

A3  Приклад аргументів командного рядка

Тут наведено приклад використання Emacs з аргументами і ключами Він припускає, що у вас є програма на Ліспі, звана hack-cel, яка будучи завантаженої виконує деякі корисні дії над поточним буфером, імовірно програмою на Сі

emacs  -batch   fooc -l hack-c  -f save-buffer  &gt&amp  log

Це говорить Emacs звернутися до файлу fooc, завантажити hack-cel (яка виробляє зміни у файлі, до якого ви звернулися), зберегти fooc (зауважте, що savebuffer – це функція, яка привязана до Cx Cs), а потім повернутися в оболонку (через

‘-Batch) Ключ -batch також гарантує, що не буде проблем з перенаправленням виводу у файл log, так як Emacs не передбачатиме, що він повинен працювати з терміналом

A4  Повернення в Emacs з аргументами

Ви можете задати для Emacs аргументи дії, коли ви повертаєтеся в нього після призупинення Щоб підготуватися до цього, помістіть в ваш файл . Emacs наступний код (див Розділ 3123 [Пастки], с 349):

(add-hook  ’suspend-hook  ’resume-suspend-hook)

(add-hook  ’suspend-resume-hook  ’resume-process-args)

Для подальшої підготовки ви повинні виконати сценарій оболонки, emacscsh (якщо ви використовуєте в якості оболонки csh) або emacsbash (якщо ви користуєтеся bash) Ці сценарії визначають псевдонім з імям edit, який буде повертати в Emacs, передаючи йому нові аргументи командного рядка, наприклад файли для редагування

Коли ви повертаєтеся в Emacs, правильно працюють тільки аргументи дії

Аргументи запуску не розпізнаються – так чи інакше, їх занадто пізно виконувати

Зверніть увагу, повернення в Emacs (з аргументами або без) повинен проводитися з оболонки, що є батьківським процесом завдання Emacs Саме тому edit

– Це псевдонім, а не програма або сценарій Неможливо реалізувати команду повернення, яку можна було б запускати з підзадач цієї оболонки наприклад, неможливо визначити команду, яку можна було б зробити значенням змінної EDITOR Отже, команда повернення не еквівалентна за можливостями сервера Emacs (див Розділ 303 [Сервер Emacs], с 330)

Ці псевдоніми використовують сервер Emacs, якщо виявилося, що він вже запущений Однак, вони не можуть визначити це абсолютно точно Вони можуть думати, що сервер все ще запущений, Emacs, бо файл / tmp / esrv ..’ все так само існує, тоді як насправді ви знищили той Emacs Якщо таке відбувається, знайдіть цей файл і видаліть його

A5  Змінні середовища

У цьому додатку описано, як Emacs використовує змінні середовища Мінлива середовища – це рядок, передана операційною системою в Emacs, а все безліч змінних середовища називається середовищем Імена змінних середовища регістру, і для них прийнято використовувати тільки великі літери

Так як змінні середовища виходять від операційної системи, загального способу для їх установки немає він залежить від операційної системи і особливо від оболонки Наприклад, так можна встановити змінну середовища ORGANIZATION в значення

‘Не виключна з використанням bash:

export ORGANIZATION = «не особлива

а так це можна зробити в csh або tcsh:

setenv ORGANIZATION »не особлива

Коли Emacs налаштований для використання віконної системи X, він успадковує велике число змінних середовища з бібліотеки X Для подальшої інформації дивіться документацію по X Windows

A51  Загальні змінні

AUTHORCOPY

Файл, що використовується для архіву статей, посланих за допомогою пакету

gnus

CDPATH Використовується командою cd для пошуку зазначеного вами каталогу, якщо ви зада-

Чи відносне імя

DOMAINNAME

Імя домену Internet, де знаходиться машина, на якій запускається Emacs

Використовується пакетом gnus

EMACS_UNIBYTE

Визначення цієї змінної середовища вказує Emacs виробляти майже всі процедури над однобайтное буферами і рядками Це еквівалентно використанню в командному рядку ключа -unibyte при кожному виклику Див Розділ A2 [Ключі запуску], с 386

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

*

*