CTRL왼쪽 및 오른쪽 화살표 키를 사용할 때 더 빠르게 이동하기 위해 키 를 사용하는 데 익숙합니다 (한 번에 한 문자가 아닌 단어의 끝으로 이동).
어떻게 든 bash에서 할 수 있습니까?
나는 아마 그것을 코딩 할 수 있지만, 더 쉬운 / 이미 완료된 것이 있는지 궁금합니다.
답변:
기본 readline 키 바인딩을 사용하면 ALT+ B는 한 단어 뒤로 이동하고 ALT+ F는 한 단어 앞으로 이동합니다.
기본 Ubuntu 설정 CTRL은 익숙한 + 화살표를 추가로 제공 합니다. 이들에 /etc/inputrc다음과 같이 지정된 :
# 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
왜 세 개가 필요한지 모르겠습니다 ...
~/.inputrc대신에
$include /etc/inputrc하면 시스템 inputrc 파일도로드됩니다.
Thomas가 설명했듯이 바인딩을 /etc/inputrc.
로그인 할 때마다로드되는 또 다른 대안은 다음 ~/.bashrc 과 같이 입력하는 것입니다 .
#use ctl keys to move forward and back in words
bind '"\eOC":forward-word'
bind '"\eOD":backward-word'
cat > /dev/null 키보드가 보내는 문자를 보는 데 사용할 수 있다는 것을 배웠습니다 . 예를 들어 CTRL + 오른쪽 화살표가 표시됩니다.
^[OC
여기서는 명령 에서 코드가 나오는 곳 ^[과 동일 \e합니다 bind.
다음과 같이 바인딩을 조회 할 수도 있습니다.
bind -p | grep forward-word
이 모든 것은 꽤 굉장하며 bash의 더 많은 힘을 알게되어 기쁩니다.
inputrc솔루션은 readline을 사용하는 다른 프로그램, 예를 들어 Python 인터프리터, 대부분의 다른 쉘에도 적용될 것입니다. ~/.inputrc루트가 없거나 모든 사용자에게 적용하지 않으려면 명령을 넣을 수도 있습니다 .
I learned that you can use cat > /dev/null to look at the characters that your keyboard is sending. #TIL
read하고 Enter 키를 눌러와 동일한 효과를 얻을 수도 있습니다 cat > /dev/null. 나는 게으 르기 때문에 타이핑이 적은 솔루션을 좋아합니다. :)
홈 디렉토리에 .inputrc가 있으면 ctrl + left가 Ubuntu에서 작동을 중지합니다 (예 :).
모든 것이 작동하도록하려면 ~ / .inputrc에 다음을 추가하십시오.
# Include system-wide inputrc, which is ignored by default when
# a user has their own .inputrc file.
$include /etc/inputrc
f.kowal에 대한 크레딧
^[OC당신과 같은 것을 제공합니다. 에서xterm내가 얻을^[[1;5'토마스와 동일하다.