Ctrl + 왼쪽 화살표가 단어를 건너 뛰지 않는 이유는 무엇입니까?


20

우분투 12.04에 있습니다. 텍스트를 편집 할 때마다 ctrl+ left/ right를 사용 하여 단어 사이를 이동 / 점프합니다. 최근에 xscreensaver를 설치하고 키보드 단축키를 변경하여 화면 보호기를 활성화했습니다. 그러나 Ctrl+ left는 정상적으로 응답하지 않았습니다 (왼쪽의 다음 단어로 이동). Ctrl+는 right여전히 오른쪽에있는 다음 단어로 이동합니다. 터미널을 사용하든 Gedit을 사용하든 웹 페이지에 텍스트를 입력하든 문제가 발생합니다.

gnome-screensaver로 되돌아가 xscreensaver를 제거했습니다 (키보드 단축키도 수정했습니다). 그러나 문제는 여전히 남아 있습니다.

내용을 /etc/inputrc에서 ~/.inputrc(으) 로 복사하려고했습니다 (기본적으로 ~ / .inputrc가 없습니다). 여기에 정보가 있습니다 .Ctrl 및 화살표 키를 사용하여 탐색 할 때 이상한 문자가 나타납니다.

도와주세요.

편집 : 여기 내 ~/.inputrc:

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.
# Be 8 bit clean.
set input-meta on
set output-meta on
# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif

/ etc / inputrc를 제거하면 CTRL을 누른 상태에서 오른쪽 화살표를 다섯 번 누릅니다. Ctrl + 오른쪽 화살표를 누르면

위의 첫 번째 이미지와 달리 CTRL을 누른 상태에서 왼쪽 화살표를 두 번 이상 누르면 ;5D다시 인쇄 되지 않습니다. 명령을 한 번 수락 한 후 더 이상 수행하지 않는 것과 같습니다. 아래 이미지를 참조하십시오. Ctrl + 왼쪽 화살표를 누르면



어떤 쉘을 사용하고 있습니까?
Sergiy Kolodyazhnyy

답변:


25

1-안으로 ~/.zshrc

bindkey '^[[1;5D' backward-word
bindkey '^[[1;5C' forward-word

2-또는 ~/.bashrc

bind '"\e[1;5D" backward-word' 
bind '"\e[1;5C" forward-word'

... 그리고 byobu / tmux에서 단어를 ctrl+ left/ right점프하십시오.

3-엉망하지 마십시오 inputrc.


이것은 너무 오래 전 ... 이미 우분투를 다시 설치
itagomo

3
마찬가지로 Bash 쉘을 사용하는 경우 ~ / .bashrc 파일에서 바인드 ' "\ e [1; 5D"뒤로 단어'바인드 ' "\ e [1; 5C"앞으로 단어'
ishmael

3

나는이 같은 문제가 있었다. 이 줄을 내 ~/.inputrc파일 로 복사하여 수정했습니다 .

"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

첫 두 줄만 필요
davidchoo12

1

를 사용하여 inputrc 파일을 작성하십시오 touch ~/.inputrc. 텍스트 링크를 사용하여 ~ / .inputrc 파일을 열어서이 파일 로 이동하기 위해 Ctrl 및 화살표 키를 사용 하여이 이상한 파일을 찾은
링크에 허용 된 답변의 내용을 복사하십시오 . 저장해. 명령을 사용하여 파일을 읽 거나 새 터미널을 다시 시작하십시오. 일이 잘 돼요 ..
bind ~/.inputrc


나는 이미 ~ / .inputrc를 만들었습니다. 내 / etc / inputrc와 동일한 내용. 여기서 문제는 "CTRL + 왼쪽 화살표"명령이 왼쪽의 다음 단어로 이동하지 않는다는 것입니다. 그러나 그 외에도 모든 기능이 작동합니다. 다른 해결책?
itagomo

Ctrl + 왼쪽 화살표의 바인딩이 어떻게 든 재정의 된 것 같습니다. inputrc 파일의 정확한 내용을 포함시킬 수 있습니까? 두 번째 가능성은 라인이 잘못되었을 수 있습니다. 그건 그렇고, Ctrl + 왼쪽 조합의 바인딩이 ~/.inputrc파일 의 마지막 줄 입니까?
drake01

편집 된 게시물 .. 위 참조 .. 추가 정보, 오른쪽으로 단어를 건너 뛰고 CTRL 키를 누른 상태에서 놓지 않아야합니다. 단어를 건너 뛸 때마다 오른쪽 키를 한 번 누릅니다.하지만 왼쪽으로 이동해야합니다. 단어를 건너 뛸 때마다 Ctrl 키를 놓으십시오 ..
itagomo

도울 수있는 사람?
itagomo

1

Ctrl + Left를 트리거하여 왼쪽으로 단어를 건너 뛰면 작동하지 않는다는 것을 알았습니다 (~ / .inputrc 또는 ~ / .zshrc에 일부 코드를 추가해도 기본적 으로이 단축키는 이미 우분투에서 사용되기 때문에 크기가 조정됩니다) 현재 창을 가로로). 시스템-> 환경 설정-> 키보드 단축키 메뉴에서 기본 단축키를 변경할 수 있습니다. 방금 Ctrl + Left를 Ctrl + Down으로 대체하여 해제했습니다. 이 교체 후에 Ctrl + Left를 사용하여 왼쪽으로 단어를 건너 뛰면 제대로 작동합니다! ~ / .inputrc 또는 ~ / .zshc 없이도.


오랫동안 솔루션을 찾고있었습니다. 이것은 매우 간단하고 효율적인 것이었다! 감사.
rizwanhudda
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.