30.4.3.9 Параметры курсора

Этот параметр рамки контролирует внешний вид курсора.

cursor-type

Как отображать курсор. Допустимые значения:

box

Отобразить заполненный прямоугольник. (Это значение по умолчанию.)

(box . size)

Отобразить заполненный прямоугольник. Однако отображать его как пустой прямоугольник, если точка находится под изображением маски размером больше size пикселей в любом измерении.

hollow

Отобразить пустой прямоугольник.

nil

Не отображать курсор.

bar

Отобразить вертикальную черту между символами.

(bar . width)

Отобразить вертикальную черту шириной width пикселей между символами.

hbar

Отобразить горизонтальную черту.

(hbar . height)

Отобразить горизонтальную черту высотой height пикселей.

Параметр рамки cursor-type может быть переопределен функцией set-window-cursor-type (см. Окна и точка), а также переменными cursor-type и cursor-in-non-selected-windows:

Пользовательский вариант: cursor-type

Эта локальная для буфера переменная контролирует внешний вид курсора в выбранном окне, отображающем буфер. Если ее значение равно t, это означает использование курсора, указанного параметром рамки cursor-type. В противном случае значение должно быть одним из типов курсоров, перечисленных выше, и оно переопределяет параметр рамки cursor-type.

Пользовательский вариант: cursor-in-non-selected-windows

Эта локальная для буфера переменная контролирует внешний вид курсора в окне, которое не выбрано. Она поддерживает те же значения, что и параметр рамки cursor-type; также nil означает не отображать курсор в невыбранных окнах, а t (значение по умолчанию) означает использование стандартной модификации обычного типа курсора (сплошной прямоугольник становится пустым, а черта становится более узкой).

Пользовательский вариант: x-stretch-cursor

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

Эта переменная не влияет на рамки в текстовом режиме, поскольку курсор в текстовом режиме отрисовывается терминалом вне контроля Emacs.

Эта переменная определяет, как мигать курсором. Каждый элемент имеет вид (on-state . off-state). Когда тип курсора равен on-state (сравнение с помощью equal), соответствующее off-state указывает, как выглядит курсор, когда он выключается. И on-state, и off-state должны быть подходящими значениями для параметра рамки cursor-type.

Существуют различные значения по умолчанию для мигания каждого типа курсора, если тип не указан как on-state здесь. Изменения в этой переменной вступают в силу не немедленно, а только когда вы указываете параметр рамки cursor-type.