28.1 Основы буферов

Буфер — это объект Lisp, содержащий текст для редактирования. Буферы используются для хранения содержимого файлов, которые просматриваются; могут также существовать буферы, которые не просматривают файлы. Хотя обычно существует несколько буферов, в любой момент времени только один буфер назначается текущим буфером. Большинство команд редактирования действуют над содержимым текущего буфера. Каждый буфер, включая текущий буфер, может или не может отображаться в каких-либо окнах.

Буферы в редактировании Emacs — это объекты, имеющие отдельные имена и содержащие редактируемый текст. Буферы представляются программам Lisp как специальный тип данных. Вы можете думать о содержимом буфера как о строке, которую можно расширять; в любой части буфера могут происходить вставки и удаления. См. Текст.

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

Специфическая для буфера информация, которая доступна напрямую, хранится в привязках переменных buffer-local, которые являются значениями переменных, действующими только в определенном буфере. Эта функция позволяет каждому буферу переопределять значения определенных переменных. Большинство основных режимов переопределяют такие переменные, как fill-column или comment-column таким образом. Для получения дополнительной информации о буфер-локальных переменных и связанных с ними функциях см. Буфер-локальные переменные.

Для функций и переменных, связанных с просмотром файлов в буферах, см. Просматриваемые файлы и Сохранение буферов. Для функций и переменных, связанных с отображением буферов в окнах, см. Буферы и окна.

Функция: bufferp object

Эта функция возвращает t, если object является буфером, nil в противном случае.