Shift-Enter
端末モードとreplモードでは、現在の式を評価せずに改行文字を挿入するためにバインドを試みました。最後まで読んでください建築ウィキペディア~/.Xmodmap
、私のファイルに設定して~/.Xmodmap
reloadを使ってみました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
= ^J
control-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")