현재 표현식을 평가하지 않고 개행 문자를 삽입하려면 Shift-Enter를 결합하세요.

현재 표현식을 평가하지 않고 개행 문자를 삽입하려면 Shift-Enter를 결합하세요.

Shift-Enter터미널 및 repl 모드에서 현재 표현식을 평가하지 않고 개행 문자를 삽입하기 위해 바인딩을 시도했습니다 . 끝까지 읽어보세요건축 위키피디아~/.Xmodmap, 내 파일에 설정하고 ~/.Xmodmapreload를 사용해 보았습니다 xmodmap ~/.Xmodmap. 그러나 이것은 작동하지 않습니다. 내 세부 설정은 다음과 같습니다.

콘텐츠:

    ~/.Xmodmap:
    keysym Return = Return Linefeed

~/.Xmodmap다음을 설정하여 로그인 시 자동으로 리소스를 얻습니다.

    if [ -s ~/.Xmodmap ]; then
        xmodmap ~/.Xmodmap

    fi

~/.xinitrc.

추가 관련 정보:

(1) 나는 내 것과 ~/.bashrc내 것이었습니다 ~/.inputrc. 그러나 이러한 옵션을 제거한 후에도 결과는 다르지 않았습니다.

(2) keysym Return = Return Linefeed권장 용도여기.* 다른 방법도 작동하지 않습니다.

(3) 내 $TERM설정은 입니다 xterm-256color.

도와주셔서 감사합니다!


*업데이트: 이 페이지에서 제안된 솔루션(아직 찾을 수 없는 경우)은 프로그래밍 언어가 자체 repl 구현을 사용하기 때문에 여기서 설명하는 특정 사례에서는 작동하지 않습니다. 따라서 이 사건과 관련이 없습니다.

답변1

간단한 대답은 Ctrl++ 를 V Ctrl입력 하는 것입니다 J.


바인딩 Shift+ Return보내기 Linefeed= ^Jcontrol-J == \n( == 대신 \012) ^M. 이는 수행해야 할 작업의 일부일 뿐입니다. 기본적으로 두 키는 모두 bash 실행 시 현재 줄에 바인딩됩니다. 리터럴( = ) 개행 문자를 삽입하려면 ^J 바인딩을 변경해야 합니다.\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+를 동일시하는 것이 유용한 경우가 많습니다. 대신 XTerm에 개행 문자를 삽입하려면 +를 변경하는 것이 좋습니다. 당신은 당신의 (또는 당신의 X 리소스를 어디에 두든) 이것을 할 수 있습니다:ReturnReturnReturnShiftCtrlReturn~/.Xresources

XTerm.vt100.translations: #override Ctrl<Key>Return: string("\012")

관련 정보