Lời nói đầu : Điều này không liên quan gì đến Vim, nhưng tôi sẽ cho bạn thấy những gì tôi cho là cách "tốt nhất" để chèn các ký tự này cho đến nay; Hệ thống máy in của Vim ít nhiều giống nhau, nhưng nó chỉ hoạt động với Vim. Điều này sẽ làm việc trong tất cả các ứng dụng.
Điều này sẽ chỉ hoạt động cho các hệ thống X11 (Linux, BSD, v.v.). Đối với Windows, có AllChars . Nó đã không được cập nhật trong một thời gian, nhưng tôi có thể xác nhận rằng nó hoạt động tốt với Windows 7 (đã sử dụng nó trong công việc trước đây của tôi). Tôi tin rằng OS X cũng có các phương tiện tốt để thực hiện việc này được xây dựng trong HĐH; nếu bạn sử dụng OS X, tôi khuyến khích bạn kiểm tra chúng, nhưng vì tôi chưa bao giờ thực sự sử dụng OS XI nên bạn không thể chỉ cho bạn biết.
Dưới đây là (một phần) của một bài viết weblog dự thảo mà tôi có trong đường ống dẫn. Thật không may, một hướng dẫn thực sự toàn diện không tồn tại (chưa) và bên dưới không mô tả tất cả các tính năng mà nó cung cấp (ví dụ: một số phần về khóa chết bị thiếu) và có thể được viết tốt hơn ở một số phần, nhưng tôi nghĩ rằng nó vẫn "đủ hữu ích".
Một 'trình tự soạn thảo' đang nhấn Composephím và sau đó một hoặc nhiều ký tự để tạo ra một số ký tự không tìm thấy trên bàn phím của bạn, ví dụ, nhấn Compose, ngay lập tức theo sau "và acó thể tạo ra một ä
.
Theo mặc định, Composekhông bị ràng buộc với bất kỳ khóa 1 ; AltKhóa phải (aka. Alt Gr) thường được sử dụng, nhưng bạn đặt phím này thành bất kỳ khóa nào bạn muốn.
Đặt nó bằng xmodmap
Bạn có thể sử dụng xmodmap
để thiết lập điều này:
$ xmodmap -e 'keysym Alt_R = Multi_key' # Set it right Alt
$ xmodmap -e 'keysym Caps_Lock = Multi_key' # Set it to Caps Lock
$ xmodmap -e 'keysym F12 = Multi_key' # You're free to use *any* key, like F12
Bạn có thể muốn thêm phần này vào ~/.Xmodmap
tệp 2 của mình :
! Set compose key
keysym Alt_R = Multi_key
Đặt nó bằng XKB
Bạn cũng có thể đặt khóa soạn thảo dưới dạng tùy chọn thành XKB với
setxkbmap
:
setxkbmap -option compose:ralt # Right alt
setxkbmap -option compose:caps # Caps Lock
Để thực hiện những điều này vĩnh viễn, hãy thêm lệnh vào tệp khởi động X của bạn hoặc cách khác, bạn cũng có thể đặt nó vào /etc/X11/xorg.conf
:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbOptions" "compose:ralt"
#Option "XkbOptions" "compose:caps"
EndSection
Hoặc, theo phong cách 'hiện đại' hơn, bạn có thể tạo một tệp
/etc/X11/xorg.conf.d/90-compose.conf
:
Section "InputClass"
Identifier "Set compose key"
MatchIsKeyboard "on"
Option "XkbOptions" "compose:ralt"
EndSection
Có thể tìm thấy danh sách các giá trị có thể có trong xkeyboard-config(7)
phần 'Vị trí của khóa soạn thảo' 3 .
Thiết lập các phím chết
Khóa chết chủ yếu được sử dụng để thêm dấu hoặc dấu phụ vào một chữ cái (chẳng hạn như âm sắc, trọng âm, v.v.), mặc dù nó có thể được sử dụng để tạo bất kỳ ký tự nào. Nó hoạt động bởi ... TODO
'
keycode 133 = dead_greek NoSymbol SuperR
http://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
http://stackoverflow.com/questions/14922007/how-to-enter-greek-alpha-under-xor
keycode 48 = dead_grave apostrophe
<dead_grave> <space> : "`" grave # GRAVE ACCENT
<dead_grave> <dead_grave> : "`" grave # GRAVE ACCENT
<dead_grave> <a> : "À" agrave # LATIN CAPITAL LETTER A WITH GRAVE
Tạo một tệp ~ / .XCompose
Tệp Soạn mặc định nếu ~/.XCompose
bị thiếu là
/usr/share/X11/locale/$LANG/Compose
. Có riêng bạn ~/.XCompose
ghi đè mặc định, nhưng bạn vẫn có thể bao gồm mặc định với:
include "%L"
Thay đổi đối với bất kỳ tệp Soạn nào cũng có hiệu lực khi bạn khởi động lại ứng dụng. Bạn không cần phải khởi động lại X.
Soạn phím
Một 'trình tự soạn thảo' đang nhấn Composephím và sau đó một hoặc nhiều ký tự để tạo một số ký tự, ví dụ:
<Multi_key> <quotedbl> <a> : "ä" adiaeresis
Có nghĩa là nhấn Compose, ngay lập tức theo sau "và
atạo ra một ä
.
<Multi_key>
biểu thị rằng chúng tôi đang sử dụng Composekhóa. sau đó chúng tôi theo dõi danh sách này bằng một danh sách một hoặc nhiều khóa, đây phải là keysyms
những biểu tượng tượng trưng cho các khóa được sử dụng bởi X (Xem phần Keysyms).
Tiếp theo là a :
, tiếp theo là kết quả.
Kết quả:
<Multi_key> <a> : "ä" adiaeresis
<Multi_key> <b> <b> : "ä" adiaeresis
<Multi_key> <c> <c> <c> : "ä" adiaeresis
<Multi_key> Alt <d> : "ä" adiaeresis
<Multi_key> Ctrl <e> : "ä" adiaeresis
Lưu ý : file Một Soạn là trường hợp nhạy cảm, vì vậy A
là không giống như a
.
Phím chết
LÀM
Làm cho nó hoạt động trong GTK & Qt
Đặt các biến môi trường GTK_IM_MODULE
& QT_IM_MODULE
thành xim
.
Vỏ Bourne:
# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
Vỏ C:
# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
Xem thêm
Của tôi ~/.XCompose
Đây là cái ~/.XCompose
mà tôi sử dụng ; Tôi đã sử dụng một tập lệnh để tạo tập lệnh này, nhưng tôi vô tình ghi đè lên tập lệnh này khi biên dịch nó> _ <Vì vậy tôi cần viết lại nó.
Cũng lưu ý về dòng này:
<Multi_key> <i> <b> : "NL65AEGO0721647952"
Nhấn Compose ibsẽ chèn chuỗi này (một số IBAN thử nghiệm ngẫu nhiên); rất hữu ích để thử nghiệm các ứng dụng khi cần một số lượng như vậy để tạo một số đối tượng (Người, Tổ chức); XCompose cũng có thể phục vụ như một công cụ "đoạn trích" :-)
Chú thích
1: Một số bàn phím UNIX có một Composephím chuyên dụng ( như SUN này ), nhưng điều này khá hiếm trong những ngày này.
2: Tùy thuộc vào thiết lập hiện tại của bạn, điều này có thể hoặc không thể đọc được khi khởi động, tùy thuộc vào cấu hình của bạn, thêm dòng xmodmap ~/.Xmodmap
vào một trong hai
~/.xinitrc
hoặc ~/.xsession
;
cũng xem wiki ArchLinux .
3: Tái sản xuất vì lợi ích của bạn:
Position of Compose key
+------------------------------------------------------+
|Option Description |
+------------------------------------------------------+
|compose:ralt Right Alt |
|compose:lwin Left Win |
|compose:lwin-altgr 3rd level of Left Win |
|compose:rwin Right Win |
|compose:rwin-altgr 3rd level of Right Win |
|compose:menu Menu |
|compose:menu-altgr 3rd level of Menu |
|compose:lctrl Left Ctrl |
|compose:lctrl-altgr 3rd level of Left Ctrl |
|compose:rctrl Right Ctrl |
|compose:rctrl-altgr 3rd level of Right Ctrl |
|compose:caps Caps Lock |
|compose:caps-altgr 3rd level of Caps Lock |
|compose:102 <Less/Greater> |
|compose:102-altgr 3rd level of <Less/Greater> |
|compose:paus Pause |
|compose:prsc PrtSc |
|compose:sclk Scroll Lock |
+------------------------------------------------------+