Разнообразные команды – ЧАСТЬ 7

Несомнекоторые говорят, что излишне интенсивное использование Диссошиэйтед Пресс может стать постомехой в вашей реальной работе.   Подчас до уровня безобрагедии.   И избегайте  диссошислов в своей документации, если вы хотите  быть для пользователей вполнятными и правословными. Позабавьтесь. Ваши бредложения горячо приветствуются.

30.15  Другие развлечения

Если вы немного заскучали, можете  попробовать M-x hanoi.   Если вам очень скучно, то задайте ей численный аргумент.  Если вам очень-очень скучно, то попробуйте задать аргумент 9. Откиньтесь на спинку кресла и наблюдайте.

Если вам хочется больше личного участия, попробуйте  команду M-x gomoku,  которая сыграет с вами в пять-в-ряд.

M-x blackbox и M-x mpuz — это две головоломки. blackbox предлагает вам определить с помощью томографии положение объектов внутри черного ящика. mpuz показывает  задачу на умножение, где цифры заменены буквами, а как, вы должны догадаться. Чтобы сделать предположение, наберите букву, а затем цифру, которая, как вы думаете, обозначена этой буквой.

M-x dunnet запускает приключенческую игру; это большая головоломка.

Если вас расстроили, запустите  знаменитую программу Eliza.  Наберите просто M-x doctor.  Каждый ввод заканчивайте двойным набором hRETi.

Когда вам будет не по себе, наберите  M-x yow.

2  Это  диссошислово действительно возникло  во  время войны  во  Вьетнаме,   когда  оно  было  очень актуально.

31 Настройка

В этой главе обсуждаются различные вопросы, относящиеся к простой адаптации поведения Emacs. Чтобы узнать, как сделать большие изменения, смотрите книгу  The Emacs Lisp Reference Manual.

Все виды настройки воздействуют только на тот сеанс Emacs, в котором вы их делаете. Они полностью исчезают при завершении работы с Emacs и не действуют на другие сеансы Emacs, которые могут быть запущены в то же  самое время или позже.  Только в одном случае сеанс работы с Emacs может повлиять на что-либо вне его самого — при записи файла. В частности, чтобы сделать настройку “постоянной”,  существует единственный путь — поместить нечто в ваш файл ‘.emacs’ или другой подходящий файл, что будет выполнять настройку в каждом сеансе. См. Раздел 31.7 [Файл инициализации], с. 366.

31.1  Второстепенные режимы

Второстепенные режимы — это необязательные возможности,  которые вы можете включать и выключать. Например, режим Auto Fill  — это второстепенный режим, в котором hSPCi  разрывает строки на границе слов по мере того, как вы набираете. Все второстепенные режимы независимы друг от друга и от выбранного основного режима. Большинство второстепенных режимов сообщают, что они включены, в строке режима; например, надпись ‘Fill’ в строке режима означает, что включен режим Auto Fill.

Для получения имени командной функции, включающей или выключающей второстепенный режим, добавьте к имени второстепенного  режима слово -mode. Таким образом, команда запуска или выключения режима Auto Fill  называется M-x auto-fill-mode.  Подобные команды обычно запускаются через M-x, но при желании к ним можно привязать ключи.  Без аргумента эти команды включают режим, если он был выключен, и выключают, когда он был включен. Эта техника известна как переключение. Положительный аргумент всегда включает режим, а явный нулевой или отрицательный аргумент всегда выключает его.

Включение или выключение некоторых второстепенных режимов применяется только к текущему буферу; каждый буфер независим  от других.  Следовательно, вы можете включить режим в одних буферах и выключить в других. К второстепенным режимам, которые могут так работать, относятся режим Abbrev, режим Auto Fill,  режим Auto Save, режим Font-Lock, режим Hscroll, режим ISO Accents, второстепенный режим Outline, режим Overwrite и режим Binary Overwrite.

Режим Abbrev позволяет вам определить сокращения, которые автоматически расшифровываются при наборе. Например, ‘amd’ может раскрываться в ‘abbrev mode’.  См. Глава 24 [Сокращения], с. 257, для получения полной информации.

Режим Auto Fill  позволяет вводить заполненный текст без явного прерывания строк. Emacs вставляет перевод строки, когда это нужно, чтобы строка не стала слишком длинной. См. Раздел 21.5 [Заполнение], с. 185.

Режим Auto Save заставляет Emacs периодически сохранять содержимое буфера, чтобы уменьшить возможный  объем потерянной работы в случае краха системы. См. Раздел 14.5 [Самосохранение], с. 114.

Режим Enriched позволяет редактировать и сохранять форматированный  текст.   См.

Раздел 21.11 [Форматированный  текст], с. 198.

Режим Flyspell автоматически подсвечивает неправильно набранные слова. См.  Раз-

дел 13.4 [Правописание],  с. 102.

Режим Font-Lock автоматически подсвечивает  определенные текстовые единицы,  используемые в программах, такие как комментарии, строки и имена определенных функций.  Для этого требуется оконная система, которая может отображать разные шрифты. См. Раздел 17.13 [Начертания],  с. 155.

Режим Hscroll выполняет автоматическую горизонтальную  прокрутку  экрана, чтобы точка всегда была видна. См. Раздел 11.2 [Горизонтальная  прокрутка], с. 82.

Режим ISO Accents компонует знаки ‘‘’, ‘’’, ‘"’, ‘^’, ‘/’ и ‘~’ со следующий буквой в букву с акцентом из набора знаков ISO Latin-1. См. Раздел 18.12 [Поддержка  западноевропейских алфавитов], с. 172.

Второстепенный режим Outline обеспечивает те же возможности, что и основной режим, называемый Outline; но поскольку он является второстепенным  режимом, то вы можете использовать его вместе с любым основным. См. Раздел 21.8 [Режим Outline], с. 190.

Режим Overwrite заменяет существующие знаки при вводе новых вместо обычной вставки со сдвигом вправо. Например, если точка находится  перед ‘B’ в слове ‘FOOBAR’, то в режиме Overwrite ввод G изменяет это слово на ‘FOOGAR’, вместо ‘FOOGBAR’, как это делается обычно. В режиме Overwrite, команда C-q вставляет знак, каким бы он не был, даже если это цифра, — это дает вам способ вставки знака вместо замены существующего.

Режим Binary Overwrite — это вариант режима Overwrite для редактирования двоичных файлов; он обрабатывает знаки новой строки и табуляции точно также, как и другие знаки, так что они могут заменять другие знаки и сами могут быть заменены другими знаками.

Следующие второстепенные режимы обычно применяются ко всем буферам сразу. Поскольку каждый из них включается или выключается с помощью установки значения переменной, вы можете  установить их по-разному для отдельных буферов, явно делая эти переменные локальными для этих буферов. См.  Раздел 31.2.4 [Локальные переменные], с. 350.

Режим Icomplete показывает возможность завершения, когда вы находитесь в минибу-

фере и завершение активно. См. Раздел 5.3.4 [Параметры  завершения], с. 49.

Режим Line Number постоянно отображает номер текущей строки в строке режима. См.

Раздел 1.3 [Строка режима], с. 25.

Режим Resize-Minibuffer заставляет минибуфер расширяться так,  чтобы он мог вместить весь текст, который вы в него помещаете. См. Раздел 5.2 [Редактирование в минибуфере], с. 46.

Режим Scroll Bar прикрепляет к каждому окну полоску прокрутки  (см.  Раздел 17.11 [Полоски прокрутки],  с. 154). Режим Menu Bar прикрепляет к каждому фрейму полоску меню (см. Раздел 17.12 [Полоски меню], с. 155). Оба этих режима по умолчанию включены при использовании X Window System.

В режиме Transient Mark, каждое изменение содержимого  буфера “деактивирует” метку, так что команды, которые оперируют с областью, буду выдавать ошибку. Это означает, что вы должны либо установить пометку, либо явно “активировать” ее перед  каждой командой, которая работает с областью. Преимущество режима Transient Mark в том, что Emacs может отрисовывать область подсвеченной (в настоящее время только при работе в X). См. Раздел 8.1 [Установка метки], с. 63.

Для большинства второстепенных режимов, имя команды также  совпадает с именем переменной,  которая контролирует данный режим.  Режим включается, когда значение переменной устанавливается в не-nil, и команда установки второстепенного режима работает путем установки этой переменной. Например, команда outline-minor-mode работает, устанавливая значение outline-minor-mode как переменной; именно эта переменная непосредственно  включает и выключает второстепенный режим Outline.   Чтобы проверить, работает ли некий второстепенный режим таким способом, используйте C-h v, чтобы запросить документацию на имя переменной.

Переменные второстепенных режимов обеспечивают хороший способ включения и выключения второстепенных режимов для программ на Лиспе; они также полезны в списках локальных переменных файлов. Но пожалуйста, дважды подумайте, прежде чем устанавливать второстепенные режимы через список локальных переменных, потому что большинство второстепенных режимов являются предметом предпочтений пользователя — другие

пользователи, которые будут редактировать этот же файл, могут не захотеть использовать те же режимы, что предпочитаете вы.

31.2  Переменные

Переменная — это лисповский символ, который имеет значение. Имя символа также называется именем соответствующей переменной. Имена переменных могут  содержать любые знаки, которые могут появиться в файле, но принято составлять их из слов, разделенных дефисами.  Переменная может иметь строку документации, которая описывает, значение какого вида она должна иметь, и как это значение будет использоваться.

Лисп позволяет хранить в любой переменной  любой вид значения, но большинство используемых в Emacs переменных требуют значение определенного типа. Зачастую значение должно всегда быть строкой или всегда числом. Иногда мы говорим, что некоторое свойство включено, если некая переменная “отлична от nil”, подразумевая, что если значение переменной равно nil,  то это свойство выключено, но оно включено для любого другого значения. Поскольку при установке переменной вам нужно выбрать одно определенное значение, для включения свойства принято использовать значение t.

Источник: Ричард Столмен, Руководство по GNU Emacs

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий