인터넷에 검색해보니 이런 질문을 하시는 분이 없더군요. 오른쪽으로 이동과 자동 완성이 autosuggest-accept
동일한 키 바인딩이라는 점이 짜증스럽습니다 . 내 최종 추측은
bindkey -v '<C-Right>' autosuggest-accept
그리고
bindkey '\xffe4' autosuggest-accept
그러나 그들은 직업이 없습니다. 이 작업을 수행하는 방법을 알아 보려면 어떻게 해야 합니까?
답변1
간단히 말해서: 당신은 아마도 할 수 없을 것입니다
더 길다 : 당신이 말하는 것은 0xffe4
다음과 같습니다 <X11/keysymdef.h>
:
/* Modifiers */
#define XK_Shift_L 0xffe1 /* Left shift */
#define XK_Shift_R 0xffe2 /* Right shift */
#define XK_Control_L 0xffe3 /* Left control */
#define XK_Control_R 0xffe4 /* Right control */
#define XK_Caps_Lock 0xffe5 /* Caps lock */
#define XK_Shift_Lock 0xffe6 /* Shift lock */
하지만 이것만은 주의해주세요수정자. 일반적으로 이 키만조정X의 다른 키 바인딩은 단독으로 작동하지 않습니다. zsh, bash 또는 기타 쉘의 경우 별도로 실행할 무언가가 필요합니다. 사용하거나 xmodmap
패치 할 수 있습니다.xkb, 키가 하나 이상의 문자를 보내도록 하는 방법을 발명했지만 이것이 없으면 쉘은 아무것도 볼 수 없습니다.
답변2
내 생각엔 이건 할 수 없을 것 같아모든 소프트웨어/프로그램을 포함하여 터미널 내에서 실행합니다 zsh
.
또는 적어도 어떤 소프트웨어에서도 Right Ctrl (alone)무언가에 바인딩하거나 바인딩하는 방법이 매뉴얼에 설명되어 있거나 Left Ctrl와 Right Ctrl. 이 옵션이 있는(모든 터미널에서 작동하는) 소프트웨어를 알고 있다면 알려주시기 바랍니다. 내가 구성한 소프트웨어에는 , , , , , , , 및 가
포함되어 있으며 그 중 어느 것도 원하는 것을 말하지 않습니다. 따라서 일부 소프트웨어가 터미널에서 이 작업을 수행할 수 있다면 이는 최소한 극히 드뭅니다. 내가 본 것과 비슷한 것은 누르는 것에 관한 것입니다. 즉, 일반 키보드에 위/아래 키가 없는 경우도 있습니다.vim
zsh
lf
fzf
tmux
htop
less
most
visidata
C-Left, C-Right
man tmux
any Ctrlleft or right arrowLeft or Right CtrlC-Up, C-Down
Ctrl
할 수 없습니다 zsh
( zsh
설명서가 정확하다고 가정).
검색 후 man zshall
( man zsh
불완전) 바로가기가 있는 것을 확인했습니다 Ctrl + v.
quoted-insert (^V) (unbound) (unbound)
Insert the next character typed into the buffer literally. An interrupt character will not be inserted.
이제 , any Ctrl + vLeft Ctrl + a또는 any Ctrl + vRight Ctrl + a, 둘 다 표시해 봅니다 ^A
. 이는 둘 다 동일한 문자를 입력한다는 의미입니다(확인 vim
하고 를 누르면 값이 있는 ga두 번째 문자임을 알 수 있습니다 ). 따라서 와 사이에는 아무런 차이가 없을 수도 있습니다.ascii
0x01
zsh
Left CtrlRight Ctrl
을 누르면 any Ctrl + vRight Ctrl (alone)아무 일도 일어나지 않습니다.
둘 다 나에게 같은 말을 vim
한다 : 그들은 언제 키가 없는 키를 눌렀는지 zsh
모르고 , 특이한 키 (적어도 터미널에서는 흔하지 않음)가 나에게 with 또는 with 를 제공한다 . 터미널을 사용하여 의미를 식별할 수 있습니다.Ctrl
Ctrl + vF1^[OP
zsh
<F1>
vim
F1
이와 같은 셸은 zsh
내부적으로 실행될 수 tmux
있으며 tmux
함수와 send-keys
. 이는 일반적으로 원하는 것을 할 수 없다는 것을 의미합니다.Left CtrlRight Ctrl
확실히, 나는 또한 tmux
소스 코드(내가 사용한 git clone tmux
)를 검색하고 키 rgrep -i "ctrl\|control" | grep -i "right\|ctrl.\?r\|r.\ctrl"
에 대해 이야기할 때마다 어떤 일이 일어나는지 확인하려고 노력했으며 Right Ctrl내가 찾은 내용은 다음과 같습니다.
tty-keys.c:134: { "\033Oc", KEYC_RIGHT|KEYC_CTRL },
tty-keys.c:405: { TTYC_KRIT5, KEYC_RIGHT|KEYC_CTRL },
tty-keys.c:406: { TTYC_KRIT6, KEYC_RIGHT|KEYC_SHIFT|KEYC_CTRL },
tty-keys.c:407: { TTYC_KRIT7, KEYC_RIGHT|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
CHANGES:2395: control the maximum length of left and right components of the
status bar.
CHANGES:2550: C- for ctrl keys (^ is still accepted as an alternative).
status.c:1168: case KEYC_RIGHT|KEYC_CTRL:
따라서 대부분의 내용이 논의 Ctrl + Right되고 나머지는 관련이 없습니다.
일부 터미널에서는 다음과 같습니다.잉시(모든 키를 구성할 수 있음) 위에 config.h
다음과 같은 코드가 표시됩니다.
{ XK_KP_End, ControlMask, "\033[1;5F", +1, 0},
{ XK_KP_End, ShiftMask, "\033[K", -1, 0},
Ctrl + End를 누르거나 무언가가 완료되면 Shift + Endleft 또는 right 사이에 아무런 차이가 없음을 의미합니다 Ctrl. 단 하나의 ControlMask
, 오직 하나만 있습니다 ShiftMask
(따라서 키에 관한 것이라면 내 대답은 동일할 것입니다 Shift).
또한 소스 코드 rgrep
에 대해 명령을 시도했지만 st
다시 Ctrl + Right.
다른 터미널 에뮬레이터에서도 이 작업을 수행할 수 있습니다. 일반적인 경우에는 할 수 없다는 점을 고려하면 충분하다고 생각합니다. 실제로 이 동작을 달성하고 켜는 방법이 있지만 zsh
매우 어렵습니다. 편집기의 소스 코드 zsh
, 터미널 에뮬레이터의 소스 코드 및 xorg
.
Right Ctrl동작을 변경하려면 Right Ctrl각 소프트웨어에 대한 바인딩이 필요합니다. 키보드 구성에 대한 자세한 내용 은 및 를
참조하십시오 man xmodmap
.man setxkbmap
man xkeyboard-config
일반적으로 Ctrl키는 수정자입니다. 이는 다른 키와 함께 누를 때만 특정 작업을 수행해야 함을 의미합니다.
노트:드문 경우지만 키가 수정자 또는 키 역할을 할 수 있습니다. 예를 들면 다음과 같습니다.
- 일부 소프트웨어( 포함
libreoffice
)에서는 키를 누르면 밑줄이 그어진 문자가 표시됩니다 Alt. xev
는 이벤트 테스트를 위한 도구이므로 아무 키나 누르는 것을 포함하여 모든 것을 인식합니다.- 이중 기능 키는 다음에서 나옵니다.QMK특정 키를 빠르게 입력하면 "일반 키"처럼 작동하고 다른 키를 누르면 수정자 키처럼 작동하도록 허용합니다.
emacs
하나 있다튜닝 코드특징. 이는 공식적인 수정자( Shift또는 Control등 ) 에 관한 것이 아니지만 Alt, 다른 키와 함께 특정 지연 시간 내에 누르면 일반 키가 수정자 역할을 하게 만들 수 있습니다.emacs
터미널 외부에서 실행될 수 있고emacs
. 따라서 다음을 수행할 수 있습니다.- 어디에서나 키를 Right Ctrl무언가(우리가 부르는
foo
)에 사용하거나 다시 매핑합니다.setxkbmap
xmodmap
- 내부에서는 일부 부품 에 사용하기 위해
emacs
다시 매핑 하지만 실행 중인 위치에는 사용할 수 없습니다 .foo
right control
key-chord
zsh
- 제가 이것을 테스트하지는 않았으며 가능하다면 간단하지 않을 수도 있지만
emacs
제가 아는 유일한 "터미널 에뮬레이터"입니다(실제로는 텍스트 편집기라고 되어 있지만 많은 기능이 있습니다) , 쉘 실행 포함)은 "수정자 키이자 일반 키인 것"에 가까운 기능을 가지고 있습니다.
- 어디에서나 키를 Right Ctrl무언가(우리가 부르는