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

26

это страница указывает, что греческие буквы могут быть вставлены в Emacs с помощьюM-i, Однако Emacs 23.2.1 в варианте Debian Squeeze вставляет вкладку & quot; tab характер, когдаM-i нажата. Как вставить греческие буквы, такие как & # x3B1; и & # x3B2; в Emacs?

Ваш Ответ

9   ответов
21

Ты можешь использоватьucs-insert связан с C-x8RET вставить любой Unicode символы по имени или по значению.

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

C-x8RET GREEK SMALL LETTER LAMBDA RET → λ C-x8RET 03bb RET → λ

Также доступно завершение вкладки.

C-x8RET* lambdaTAB будет перечислять все символы Юникода, оканчивающиеся лямбда-выражением.

Это называетсяinsert-char сейчас.
53

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

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

Это хороший трюк!
0

find out а ввестиsingle character что вы уже видите где-то на эране, вы можете сопировать и вставить этот символ в неоторый буфер / файл emacs, а затем вызватьM-x describe-char, С & # x3B1 ;, это дает

[...] to input: type "C-x 8 RET 3b1" or "C-x 8 RET GREEK SMALL LETTER ALPHA" [...]

PS: ретвой профильпопробуйте таже['a'] * 28

2

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

Если вы хотите связать ключ для вставки данного символа Unicode: Загрузите библиотеку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, Например, чтобы создать отдельные команды дляeach из греческих букв, просто сделайте это:

  (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)
0

M-x set-input-method RET C-\ greek RET
or
                 C-x RET C-\ greek RET

ИЛИ ЖЕ

M-x set-input-method RET C-\ greek-babel RET
or
                 C-x RET C-\ greek-babel RET

Любой из этих способов дает вам способы ввода, когда вы набираете, например, одно нажатие клавиши «a»; просто получает вам альфа (& # x3B1;), "b" получает бета-версию (& # x3B2;) и так далее.

После этого все, что вам нужно ввести

C-\

очень быстро переключаться с обычного метода ввода на греческий. Довольно удобно.

Но вы должны остерегаться: клавиши не всегда соответствуют звукам. Например, введя привет, вы получите & # x3B7; & # x3B5; & # x3BB; & # x3BB; & # x3BF ;. Это потому, что они сделали это так, что "h" ключ становится греческим eta (& # x3B7;) просто потому, что & # x3B7; выглядит как h, и потому что заглавная греческая эта (H) такая же, как наша 'H', даже если она произносится по-разному.

Преимущество метода ввода греческого-вавилонского над простым греческим будет оценено в основном теми, кто работает с более продвинутым / сложным мансардным греческим языком, который использовал много акцентов. (Чердак использовался в Афинах во времена Платона ~ 400 г. до н.э., хотя акценты и строчные буквы были добавлены столетия спустя.) Вы можете нажать две клавиши & lt; o и вы получите & # x1F41 ;. Апостроф в обратном направлении представляет собой «h»; звук, называемый «грубым дыханием»; - таким образом & # x1F41; произносится как "хо". Акценты супер просто и БЫСТРО. И вы можете комбинировать акценты над одним и тем же персонажем. Например, нажмите три клавиши & gt; & APOS; и вы получите & # x1F04 ;. Если вам не нужны акценты, просто используйте греческий метод ввода.

Используя как греческий, так и греческий методы ввода, вы также можете нажать C-h C- \, чтобы получить справочный буфер для метода ввода, который включает в себя прекрасную таблицу всех возможных комбинаций клавиш, доступных вам. (C-x o, чтобы перейти к следующему окну, чтобы вы могли добраться до этого информационного окна и прокрутить вниз ...)

Смотрите такжеhttps://www.emacswiki.org/emacs/InputMethods

4

acs - это использоватьabbrev-mode сэта сокращенная таблица греческих букв.

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

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

Увидетьemacs-вики про abbrev-mode для большего.

11

M-x set-input-method RET greek

или же

C-x RET C-\ greek

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

Это правильный ответ, ничего устанавливать, все греческие буквы доступны. Ницца.
4

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

Или использоватьglobal-abbrev-table как это объясняется на странице, которую вы упомянули.

Каждое из требуемых писем должно быть сначала скопировано и вставлено, но в остальном это реальное решение. SabreWolfy
7

Чтобы решить эту проблему раз и навсегда в вашем.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") "Ω")
Это удобно, но имейте в виду, что оно замаскирует значение по умолчаниюM-g отображение наmark-paragraph.

Похожие вопросы