Shift-Enter
터미널과 repl 모드에서 현재 표현식을 평가하지 않고 줄바꿈을 삽입하기 위해 바인딩을 시도합니다 . 를 통해 읽기ArchWiki, 내 ~/.Xmodmap
파일 ~/.Xmodmap
에 이것을 설정하고 xmodmap ~/.Xmodmap
. 그러나 이것은 작동하지 않습니다. 자세한 설정은 다음과 같습니다.
의 내용:
~/.Xmodmap:
keysym Return = Return Linefeed
~/.Xmodmap
다음 설정을 통해 로그인할 때 자동으로 자원이 확보됩니다.
if [ -s ~/.Xmodmap ]; then
xmodmap ~/.Xmodmap
fi
내 ~/.xinitrc
.
추가 관련 정보:
~/.bashrc
(1) my 및 my 에서 vi 편집 모드를 설정했습니다 ~/.inputrc
. 그러나 이러한 옵션을 제외해도 결과는 다르지 않았습니다.
(2) 사용이 keysym Return = Return Linefeed
제안되었습니다여기.* 다른 방법도 작동하지 않았습니다.
(3) My는 $TERM
로 설정됩니다 xterm-256color
.
어떤 도움을 주셔서 감사합니다!
*업데이트: 프로그래밍 언어가 자체 repl 구현을 사용하고 있으므로 이 페이지에서 제안된 솔루션(아직 찾을 수 없는 경우)은 여기서 논의된 특정 사례에서는 작동하지 않습니다. 따라서 이는 현재 진행 중인 사건과 아무런 관련이 없습니다.
답변1
쉬운 대답은 Ctrl++ V Ctrl를 입력하는 것입니다 J.
Shift+를 바인딩 Return하여 = control-J = = ( = = 대신 ) Linefeed
을 보내도록 합니다 . 이는 여러분이 해야 할 일의 일부일 뿐입니다. 기본적으로 두 키는 모두 bash에서 현재 줄을 실행하는 데 바인딩되어 있습니다. 리터럴( = ) 줄 바꿈을 삽입 하려면 ^J에 대한 바인딩을 변경해야 합니다 .^J
\n
\012
^M
\r
\015
.inputrc
^V
\026
"\n": self-insert
또는 다음에서 키를 바인딩하세요 .bashrc
.
bind -m vi-command '"\n": self-insert'
bind -m vi-insert '"\n": self-insert'
Shift+를 로 변경 Return하면 Linefeed
바람직하지 않은 부작용이 발생할 수 있습니다. 가 다운된 경우에도 빠르게 입력할 수 있도록 Shift+를 사용하는 것이 Return유용한 경우가 많습니다. 대신 XTerm에 줄 바꿈을 삽입하려면 +를 변경하는 것이 좋습니다 . 당신은 당신의 (또는 당신의 X 자원을 어디에 두든) 그것을 할 수 있습니다:ReturnReturnShiftCtrlReturn~/.Xresources
XTerm.vt100.translations: #override Ctrl<Key>Return: string("\012")