Подтвердить что ты не робот

Как ввести греческие символы в Emacs

Эта страница показывает, что греческие буквы могут быть вставлены в Emacs с помощью M-i. Тем не менее, Emacs 23.2.1 в варианте Squeeze Debian вставляет символ "tab" при нажатии M-i. Как я могу вставить греческие буквы такие α и β в Emacs?

4b9b3361

Ответ 1

Вы можете использовать другой префикс, например:

(global-set-key (kbd "C-x <ESC> a") "α")
(global-set-key (kbd "C-x <ESC> b") "β")

Или используйте global-abbrev-table, как описано на упомянутой странице.

Ответ 2

M-x set-input-method RET TeX позволит вам написать, например. \beta, чтобы получить β, \sum или \Sigma, чтобы получить Σ и т.д.

Он может быть включен и выключен с помощью toggle-input-method, привязан к C-\ и C-<.

Ответ 3

Вы можете использовать ucs-insert, привязанный к C-x 8 RET, чтобы вставить любой Unicode символов по имени или по значению.

Например, чтобы вставить лямбда, вы можете сделать

  • C-x 8 RET GREEK SMALL LETTER LAMBDA RET → λ
  • C-x 8 RET 03bb RET → λ

Доступна также табуляция.

C-x 8 RET * lambda TAB будут перечислены все символы Юникода, заканчивающиеся на лямбда.

Ответ 4

Вы можете установить свой метод ввода на греческий:

M-x set-input-method RET greek

или

C-x RET C-\ greek

(что то же самое). Чтобы установить метод ввода, нажмите C-\ (toggle-input-method).

Ответ 5

Расширение ответа от @Oleg Pavliv:

Чтобы решить эту проблему раз и навсегда в вашем файле .emacs, вам нужно выбрать шаблон ключа (например, M-g + <latin letter>) и запоминаемую таблицу соответствия <greek letter> - <latin letter>. Я предлагаю не изобретать ничего нового, но использовать соответствующие символы из кодировки PostScript Symbol. Это приводит меня к следующему:

(global-set-key (kbd "M-g a") "α")
(global-set-key (kbd "M-g b") "β")
(global-set-key (kbd "M-g g") "γ")
(global-set-key (kbd "M-g d") "δ")
(global-set-key (kbd "M-g e") "ε")
(global-set-key (kbd "M-g z") "ζ")
(global-set-key (kbd "M-g h") "η")
(global-set-key (kbd "M-g q") "θ")
(global-set-key (kbd "M-g i") "ι")
(global-set-key (kbd "M-g k") "κ")
(global-set-key (kbd "M-g l") "λ")
(global-set-key (kbd "M-g m") "μ")
(global-set-key (kbd "M-g n") "ν")
(global-set-key (kbd "M-g x") "ξ")
(global-set-key (kbd "M-g o") "ο")
(global-set-key (kbd "M-g p") "π")
(global-set-key (kbd "M-g r") "ρ")
(global-set-key (kbd "M-g s") "σ")
(global-set-key (kbd "M-g t") "τ")
(global-set-key (kbd "M-g u") "υ")
(global-set-key (kbd "M-g f") "ϕ")
(global-set-key (kbd "M-g j") "φ")
(global-set-key (kbd "M-g c") "χ")
(global-set-key (kbd "M-g y") "ψ")
(global-set-key (kbd "M-g w") "ω")
(global-set-key (kbd "M-g A") "Α")
(global-set-key (kbd "M-g B") "Β")
(global-set-key (kbd "M-g G") "Γ")
(global-set-key (kbd "M-g D") "Δ")
(global-set-key (kbd "M-g E") "Ε")
(global-set-key (kbd "M-g Z") "Ζ")
(global-set-key (kbd "M-g H") "Η")
(global-set-key (kbd "M-g Q") "Θ")
(global-set-key (kbd "M-g I") "Ι")
(global-set-key (kbd "M-g K") "Κ")
(global-set-key (kbd "M-g L") "Λ")
(global-set-key (kbd "M-g M") "Μ")
(global-set-key (kbd "M-g N") "Ν")
(global-set-key (kbd "M-g X") "Ξ")
(global-set-key (kbd "M-g O") "Ο")
(global-set-key (kbd "M-g P") "Π")
(global-set-key (kbd "M-g R") "Ρ")
(global-set-key (kbd "M-g S") "Σ")
(global-set-key (kbd "M-g T") "Τ")
(global-set-key (kbd "M-g U") "Υ")
(global-set-key (kbd "M-g F") "Φ")
(global-set-key (kbd "M-g J") "Φ")
(global-set-key (kbd "M-g C") "Χ")
(global-set-key (kbd "M-g Y") "Ψ")
(global-set-key (kbd "M-g W") "Ω")

Ответ 6

Самый простой способ спорадически вставить греческие символы в Emacs - использовать abbrev-mode с эта таблица аббревиатуры греческих букв.

Чтобы использовать приведенный выше метод, запустите emacs и вызовите M-x edit-abbrevs, который запустит редактор Abbrevs. Затем вырежьте и вставьте определения внутри него в разделе (global-abbrev-table) (чтобы сделать их доступными по всему миру) или поместите их под другим заголовком, например. (text-mode-abbrev-table).

Обеспечьте включение режима abbrev в заданном буфере с помощью RET M-x abbrev-mode или включить abbrev-mode глобально, добавив (setq-default abbrev-mode t) в ваш файл инициализации. Альтернативно, если вы хотите включить режим abbrev только для, например, текстовых и производных, используйте (add-hook 'text-mode-hook (lambda () (abbrev-mode 1))).

Подробнее см. emacs wiki об abbrev-mode.

Ответ 7

C-x 8 RET, как описано выше в @Daimrod, отлично подходит для однократной вставки.

Если вы хотите связать ключ, чтобы вставить данный символ Юникода: Загрузите библиотеку ucs-cmds.el, затем используйте C-1 C-x 8 RET. Это вставляет выбранный вами символ, а также создает команду с тем же именем, которую вы можете привязать к ключу.

Например, C-1 C-x 8 RET GREEK SMALL LETTER LAMBDA RET определяет команду greek-small-letter-lambda, которая вставляет этот символ при вызове.

Вы можете создать несколько таких команд сразу, используя макрос ucsc-make-commands, также из ucs-cmds.el. Например, для создания отдельных команд для каждого греческих букв просто выполните следующее:

  (ucsc-make-commands "^greek [a-z]+ letter")

Затем вы можете привязать, скажем, команду greek-small-letter-beta к C-c b или что-то еще:

  (global-set-key (kbd "C-c b") 'greek-small-letter-beta)