Bạn nói: Có một tập hợp con các ký tự unicode tương đối nhỏ (tôi đoán là 10-20) Tôi đang chèn mọi lúc.
Trong trường hợp đó, như @Tobias đã chỉ ra, bạn chỉ có thể liên kết, đối với mỗi trong số chúng, một chuỗi khóa đơn giản để (a) một lệnh chèn ký tự đó hoặc (b) một chuỗi ký tự đơn với ký tự đó (hành động này giống như một macro bàn phím, để chèn ký tự).
Thư viện ucs-cmds.el
có thể giúp bạn xác định các lệnh như vậy. Các lệnh kết quả có cùng tên với các ký tự. Bạn có thể sử dụng macro ucsc-make-commands
để xác định toàn bộ nhóm lệnh chèn một ký tự của một loại nhất định.
Ví dụ: bạn có thể đặt cái này trong tệp init của mình để xác định các lệnh chèn tất cả các ký hiệu toán học Unicode:
(require 'ucs-cmds) ; Load the library
(ucsc-make-commands "^math") ; Use the macro to create commands
Điều đó cung cấp cho bạn các lệnh có tên giống như các ký tự toán học. Ràng buộc bất kỳ thứ nào trong số này mà bạn sử dụng nhiều để dễ sử dụng. Ví dụ:
(global-set-key (kbd "C-c S") 'mathematical-bold-capital-sigma)
(Hoặc liên kết một khóa với một lệnh như vậy chỉ trong chế độ Tex, sử dụng define-key
với sơ đồ phím của nó.)
Chỉ với đơn giản như vậy, (ucsc-make-commands "^math")
bạn đã có sẵn tất cả các lệnh chèn ký tự được liệt kê bên dưới.
Ngoài ra còn có các ký tự Unicode khác, có tên không bắt đầu bằng math
nhưng được sử dụng trong toán học - ví dụ: ký tự PARTIAL DIFFERENTIAL
. Bạn cũng có thể dễ dàng tạo các lệnh chèn bất kỳ ký tự nào. (Và lưu ý rằng các ký tự có tên bắt đầu math
cũng có thể yêu cầu sử dụng phông chữ đặc biệt - nhiều phông chữ không hỗ trợ chúng.)
Tất nhiên bạn có thể sử dụng biểu thức chính quy chặt chẽ hơn ^math
, nếu bạn muốn chỉ xác định các ký tự khớp với mẫu đó. Ví dụ: điều này xác định các lệnh cho tất cả các ký tự phân biệt một phần:
(ucsc-make-commands "^math.*partial differential")
Điều đó cung cấp cho bạn các lệnh sau:
mathematical-bold-italic-partial-differential
mathematical-bold-partial-differential
mathematical-italic-partial-differential
mathematical-sans-serif-bold-italic-partial-differential
mathematical-sans-serif-bold-partial-differential
Lưu ý rằng các ký tự Unicode tên các từ riêng biệt với các ký tự khoảng trắng và các tên là chữ hoa. Các lệnh chèn tương ứng sử dụng dấu gạch nối thay vì dấu cách và chữ thường thay vì chữ hoa.
Một lợi thế của việc có các lệnh được đặt tên theo ký tự mà chúng chèn, thay vào đó, chỉ là các phím ràng buộc với các chuỗi ký tự đơn, là bạn có thể sử dụng M-x
để nhập các ký tự mà bạn sử dụng ít thường xuyên hơn, bằng cách sử dụng tên hoàn thành. Thay vì hoàn thành đối với toàn bộ nhóm tên ký tự Unicode, bạn hoàn thành đối chiếu với tên của các lệnh chèn ký tự bạn đã xác định.
Đây là các lệnh chèn các ký tự có tên bắt đầu bằng math
. Họ là những gì bạn nhận được bằng cách đánh giá (ucsc-make-commands "^math")
.
mathematical-bold-capital-a
mathematical-bold-capital-alpha
mathematical-bold-capital-b
mathematical-bold-capital-beta
mathematical-bold-capital-c
mathematical-bold-capital-chi
mathematical-bold-capital-d
mathematical-bold-capital-delta
...
mathematical-bold-digit-eight
mathematical-bold-digit-five
mathematical-bold-digit-four
...
mathematical-bold-epsilon-symbol
mathematical-bold-fraktur-capital-a
mathematical-bold-fraktur-capital-b
...
mathematical-bold-fraktur-small-a
mathematical-bold-fraktur-small-b
...
mathematical-bold-italic-capital-a
mathematical-bold-italic-capital-alpha
mathematical-bold-italic-capital-b
mathematical-bold-italic-capital-beta
...
mathematical-bold-italic-nabla
mathematical-bold-italic-partial-differential
mathematical-bold-italic-phi-symbol
mathematical-bold-italic-pi-symbol
mathematical-bold-italic-rho-symbol
mathematical-bold-italic-small-a
mathematical-bold-italic-small-alpha
mathematical-bold-italic-small-b
mathematical-bold-italic-small-beta
...
mathematical-bold-nabla
mathematical-bold-partial-differential
mathematical-bold-phi-symbol
mathematical-bold-pi-symbol
mathematical-bold-rho-symbol
mathematical-bold-script-capital-a
mathematical-bold-script-capital-b
...
mathematical-bold-script-small-a
mathematical-bold-script-small-b
...
mathematical-bold-small-a
mathematical-bold-small-alpha
mathematical-bold-small-b
mathematical-bold-small-beta
...
mathematical-double-struck-capital-a
mathematical-double-struck-capital-b
...
mathematical-double-struck-digit-eight
mathematical-double-struck-digit-five
mathematical-double-struck-digit-four
mathematical-double-struck-digit-nine
mathematical-double-struck-digit-one
mathematical-double-struck-digit-seven
mathematical-double-struck-digit-six
mathematical-double-struck-digit-three
mathematical-double-struck-digit-two
mathematical-double-struck-digit-zero
mathematical-double-struck-small-a
mathematical-double-struck-small-b
...
mathematical-falling-diagonal
mathematical-fraktur-capital-a
mathematical-fraktur-capital-b
...
mathematical-fraktur-small-a
mathematical-fraktur-small-b
...
mathematical-italic-capital-a
mathematical-italic-capital-alpha
mathematical-italic-capital-b
mathematical-italic-capital-beta
...
mathematical-italic-nabla
mathematical-italic-partial-differential
mathematical-italic-phi-symbol
mathematical-italic-pi-symbol
mathematical-italic-rho-symbol
mathematical-italic-small-a
mathematical-italic-small-alpha
...
mathematical-italic-small-dotless-i
mathematical-italic-small-dotless-j
mathematical-italic-small-e
mathematical-italic-small-epsilon
...
mathematical-italic-small-final-sigma
...
mathematical-left-angle-bracket
mathematical-left-double-angle-bracket
mathematical-left-flattened-parenthesis
mathematical-left-white-square-bracket
mathematical-left-white-tortoise-shell-bracket
mathematical-monospace-capital-a
mathematical-monospace-capital-b
...
mathematical-monospace-digit-eight
mathematical-monospace-digit-five
mathematical-monospace-digit-four
...
mathematical-monospace-small-a
mathematical-monospace-small-b
...
mathematical-right-angle-bracket
mathematical-right-double-angle-bracket
mathematical-right-flattened-parenthesis
mathematical-right-white-square-bracket
mathematical-right-white-tortoise-shell-bracket
mathematical-rising-diagonal
mathematical-sans-serif-bold-capital-a
mathematical-sans-serif-bold-capital-alpha
mathematical-sans-serif-bold-capital-b
mathematical-sans-serif-bold-capital-beta
...
mathematical-sans-serif-bold-digit-eight
mathematical-sans-serif-bold-digit-five
mathematical-sans-serif-bold-digit-four
...
mathematical-sans-serif-bold-italic-capital-a
mathematical-sans-serif-bold-italic-capital-alpha
mathematical-sans-serif-bold-italic-capital-b
mathematical-sans-serif-bold-italic-capital-beta
...
mathematical-sans-serif-bold-italic-nabla
mathematical-sans-serif-bold-italic-partial-differential
...
mathematical-sans-serif-bold-italic-small-a
mathematical-sans-serif-bold-italic-small-alpha
mathematical-sans-serif-bold-italic-small-b
mathematical-sans-serif-bold-italic-small-beta
...
mathematical-sans-serif-bold-italic-small-final-sigma
...
mathematical-sans-serif-bold-nabla
mathematical-sans-serif-bold-partial-differential
...
mathematical-sans-serif-bold-small-a
mathematical-sans-serif-bold-small-alpha
mathematical-sans-serif-bold-small-b
mathematical-sans-serif-bold-small-beta
...
mathematical-sans-serif-bold-small-final-sigma
...
mathematical-sans-serif-capital-a
mathematical-sans-serif-capital-b
...
mathematical-sans-serif-digit-eight
mathematical-sans-serif-digit-five
mathematical-sans-serif-digit-four
...
mathematical-sans-serif-italic-capital-a
mathematical-sans-serif-italic-capital-b
...
mathematical-sans-serif-italic-small-a
mathematical-sans-serif-italic-small-b
...
mathematical-sans-serif-small-a
mathematical-sans-serif-small-b
...
mathematical-script-capital-a
...
mathematical-script-small-a
mathematical-script-small-b
...