現在の式を評価せずに改行文字を挿入するには、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")

関連情報