때때로 문서를 작성할 때 텍스트에 유니 코드 문자를 삽입하고 싶습니다. 때로는 문자 코드를 알고 때로는 웹에서 찾아 볼 수도 있습니다.
현재 삽입 모드로 이동 한 다음을 사용 <Ctrl-V>u{four digit hex number}
하면 매우 힘들 수 있습니다. 문자를 삽입하는 더 쉬운 방법이 있습니까?
때때로 문서를 작성할 때 텍스트에 유니 코드 문자를 삽입하고 싶습니다. 때로는 문자 코드를 알고 때로는 웹에서 찾아 볼 수도 있습니다.
현재 삽입 모드로 이동 한 다음을 사용 <Ctrl-V>u{four digit hex number}
하면 매우 힘들 수 있습니다. 문자를 삽입하는 더 쉬운 방법이 있습니까?
답변:
서문 : Vim과는 아무런 관련이 없지만,이 문자들을 삽입하는 "가장 좋은"방법이라고 생각하는 것을 보여 드리겠습니다. Vim의 digraph 시스템은 다소 동일하지만 Vim에서만 작동합니다. 이것은 모든 응용 프로그램 에서 작동 합니다.
이것은 X11 시스템 (Linux, BSD 등) 에서만 작동합니다 . Windows의 경우 AllChars가 있습니다. 한동안 업데이트되지 않았지만 Windows 7 (이전 작업에서 사용)에서 잘 작동하는지 확인할 수 있습니다. OS X에도 OS에 내장 된 기능을 제공 할 수있는 좋은 기능이 있습니다. OS X를 사용하는 경우 OS X를 확인하는 것이 좋지만 실제로 사용한 적이 없으므로 OS XI가 사용자를 가리킬 수 없습니다.
아래는 내가 파이프 라인에 가지고있는 웹 로그 초안 기사의 일부입니다. 불행히도 실제로는 포괄적 인 가이드가 존재하지 않지만 아래에는 제공하는 모든 기능 (예 : 죽은 키에 대한 일부 부분이 누락 됨)이 설명되어 있지 않으며 일부 부분에서 더 잘 쓰여질 수는 있습니다. 여전히 "충분히 유용하다".
A '작성 순서는'가압되어 Compose키를 누른 다음 하나 개 이상의 문자가 어떤 문자를 누르면, 예를 들어, 키보드에없는 생산하는 Compose즉시 다음, "및 a을 생산하고 있습니다 ä
.
기본적으로 Compose키 1에 바인딩되지 않습니다 . 오른쪽 Alt키 (일명. Alt Gr)가 자주 사용되지만 원하는 키로 설정합니다.
xmodmap
이것을 설정 하기 위해 사용할 수 있습니다 :
$ 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
이것을 ~/.Xmodmap
파일 2 에 추가하고 싶을 것입니다 .
! Set compose key
keysym Alt_R = Multi_key
다음을 사용하여 작성 키를 XKB의 옵션으로 설정할 수도 있습니다
setxkbmap
.
setxkbmap -option compose:ralt # Right alt
setxkbmap -option compose:caps # Caps Lock
이를 영구적으로 만들려면 X 시작 파일에 명령을 추가하거나 다음과 같이 설정하십시오 /etc/X11/xorg.conf
.
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbOptions" "compose:ralt"
#Option "XkbOptions" "compose:caps"
EndSection
또는보다 '현대적인'스타일로 파일을 만들 수 있습니다
/etc/X11/xorg.conf.d/90-compose.conf
.
Section "InputClass"
Identifier "Set compose key"
MatchIsKeyboard "on"
Option "XkbOptions" "compose:ralt"
EndSection
가능한 값의 목록은 xkeyboard-config(7)
'포지션 키 위치' 3 섹션 에서 찾을 수 있습니다 .
데드 키는 주로 문자에 악센트 또는 발음 구별 부호를 추가하는 데 사용됩니다 (예 : 움라우트, 악센트 묘 등). 문자를 만드는 데 사용할 수 있습니다. 그것은 ... 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
~/.XCompose
누락 된 경우 기본 작성 파일 은
/usr/share/X11/locale/$LANG/Compose
입니다. 자신 ~/.XCompose
의 기본값이 기본 설정보다 우선하지만 다음과 같이 기본값을 포함 할 수 있습니다.
include "%L"
작성 파일에 대한 변경 사항은 응용 프로그램을 다시 시작할 때 적용됩니다. X를 다시 시작할 필요는 없습니다.
'compose sequence'는 Compose키를 누른 다음 하나 이상의 문자를 눌러 일부 문자를 생성합니다.
<Multi_key> <quotedbl> <a> : "ä" adiaeresis
가압 수단은 Compose, 즉시 다음 "과
a를 생성한다 ä
.
<Multi_key>
우리가 Compose키를 사용하고 있음을 나타냅니다 . 그런 다음 하나 이상의 키 목록으로이 키를 따라야합니다.이 keysyms
키는 X가 사용하는 키를 상징적으로 나타냅니다 (키심 섹션 참조).
다음에 :
결과가옵니다.
결과:
<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
참고 : 작성 파일은 대소 문자를 구분하므로 A
입니다 하지 같은 a
.
할 것
환경 변수 GTK_IM_MODULE
& QT_IM_MODULE
를로 설정하십시오 xim
.
본 쉘 :
# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
C 쉘 :
# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
~/.XCompose
이것이 ~/.XCompose
내가 사용하는 것입니다 . 스크립트를 사용하여 이것을 생성했지만 실수로 컴파일 할 때 이것을 덮어 쓰었습니다.> _ <그래서 다시 작성해야합니다.
이 줄을 참고하십시오.
<Multi_key> <i> <b> : "NL65AEGO0721647952"
를 누르면 Compose ib이 문자열 (임의의 테스트 IBAN 번호)이 삽입됩니다. 객체를 생성하기 위해 그러한 숫자가 필요한 응용 프로그램을 테스트하는 데 매우 유용합니다 (개인, 조직). XCompose는 "스 니펫"도구로도 사용할 수 있습니다. :-)
1 : 일부 UNIX 키보드에는 전용 Compose키 ( 이 SUN과 같은 )가 있지만 요즘에는 매우 드 un니다.
2 : 기존 설정에 따라 시작시 읽거나 읽지 않을 수 있습니다. 구성에 따라 또는에 행 xmodmap ~/.Xmodmap
을
추가하십시오 .
ArchLinux 위키도 참조하십시오 .~/.xinitrc
~/.xsession
3 : 당신의 이익을 위해 재현 :
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 |
+------------------------------------------------------+
C-x 8 RET
vi가 아닌 편집기에서는 Vim에 비슷한 것이 있는지 알 수 없음).
유로 또는 저작권 기호와 같은 유니 코드 문자를 삽입하거나 독일어 움라우트 또는 악센트 부호와 같은 발음 구별 부호를 digraphs
사용할 수 있습니다.
예를 들어, 삽입 모드에서 Ctrl+를 누르고 k다음을 입력하십시오.
a'
for á
, E'
for É
, n?
for ñ
,a:
에 대한 ä
, ss
대한 ß
,a!
에 à
, a>
에 â
대한 ê
, a?
대한 ã
,a*
대 α
(알파) b*
에 대한 β
(베타) g*
에 대한 γ
(감마) d*
에 대한 δ
(델타).22
대한 ²
, 33
또는³
Eu
에 €
, (유로) Pd
에 대한 £
(파운드),Co
대한 ©
(저작권), DG
대한 °
(학위)OK
for ✓
, XX
for ✗
, Sb
for ∙
(글 머리 기호),-N
for –
(대시), -M
for —
(em 대시)digraph 옵션이 설정되면 ( :set dg
) 다음 방법을 사용할 수도 있습니다.
a
Backspace:
대한 ä
, E
Backspaceu
대한 €
등현재 정의 된 digraphs를 나열하려면 다음을 입력하십시오. :digraphs
( :dig
).
출처 : Vim Wikia 사이트 에서 특수 문자 입력
OS X
OS X를 사용하는 경우 다음과 같은 방법으로 악센트 문자를 입력하기가 매우 쉽습니다.
á
, e대한 é
, i대한 í
유사한,ã
, n대한 ñ
유사한,ü
,¡
, Option+ Shift+ ?for ¿
,참조 :
내 유니 코드 플러그인을 사용하면 유니 코드 문자를 쉽게 입력 할 수 있습니다. 구체적으로 그것은
:Digraph <name>
-캐릭터 검색 digraphs
:UnicodeTable
-문자셋 테이블을 표시합니다
:UnicodeName
-커서 아래 문자 식별
유니 코드 테이블 ( :h i_CTRL-X_CTRL-Z
) 또는 digarph ( :h i_CTRL-X_CTRL_G
) 에서 이름 또는 값을 사용하여 문자 완성
플러그인 사용 방법에 대한 자세한 정보는 도움말을 읽으십시오.
사전 정의 된 digraphs ( :dig
목록을 가져 오기 위해 실행)를 사용하는 것 외에도 vim에서 고유 한 digraph를 정의 할 수도 있습니다.
:digr e: 235 a: 228
일반적으로 사용되는 문자 :digraph
또는 언급 된 작성 키 와 같은 외부 수단 이 좋습니다. 드물게 사용되는 것들에 대해서는 다음과 같이 약어를 정의합니다.
norea <unique> unicode_smiley 😃
norea <unique> unicode_skull ☠
그런 다음 내 SnippetComplete 플러그인 을 사용 하여 모든 약어를 나열하는 팝업 메뉴를 얻으십시오.unicode_<C-x>]