Ctrl-Jの特殊処理

Ctrl-Jの特殊処理

Ctrl-V Ctrl-Jシェル(下)を押すと、印刷の代わりにurxvt新しい行が始まります(新しい行の先頭にカーソルを置く)^J

内部にvim印刷されています^@

仮想コンソールでも同じことが起こります。

明らかに少し前処理がありますCtrl-J。それは何ですか?どのように影響を与えることができますか?

$ stty -a
speed 38400 baud; rows 26; columns 101; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

$ echo $TERM
rxvt-unicode-256color

$ urxvt --help |&  head -1
rxvt-unicode (urxvt) v9.26 - released: 2021-05-14

UPD私はこれを構成していますが、この動作はこれがうまくいかないとtmux思います。bind-key C-j send-keys C-j

ベストアンサー1

Bashのcvはreadlineで処理されます。

$ bind -p | grep '"\\C-v":'
"\C-v": quoted-insert

readline(3) で説明されているように:

   quoted-insert (C-q, C-v)
          Add the next character that you type to the line verbatim.  This
          is how to insert characters like C-q, for example.

Cvを使用して他の文字を挿入できます。たとえば、Cv Ci はタブ文字を挿入します。指定した文字を生成する文字を確認するには、次の手順を実行します man ascii

       Oct   Dec   Hex   Char                        Oct   Dec   Hex   Char
       ────────────────────────────────────────────────────────────────────────
       000   0     00    NUL '\0' (null character)   100   64    40    @
       001   1     01    SOH (start of heading)      101   65    41    A
       002   2     02    STX (start of text)         102   66    42    B
       003   3     03    ETX (end of text)           103   67    43    C
       004   4     04    EOT (end of transmission)   104   68    44    D
       005   5     05    ENQ (enquiry)               105   69    45    E
       006   6     06    ACK (acknowledge)           106   70    46    F
       007   7     07    BEL '\a' (bell)             107   71    47    G
       010   8     08    BS  '\b' (backspace)        110   72    48    H
       011   9     09    HT  '\t' (horizontal tab)   111   73    49    I
       012   10    0A    LF  '\n' (new line)         112   74    4A    J
       013   11    0B    VT  '\v' (vertical tab)     113   75    4B    K
       014   12    0C    FF  '\f' (form feed)        114   76    4C    L
       015   13    0D    CR  '\r' (carriage ret)     115   77    4D    M

ご覧のとおり、J は新しい行と同じ行にあり、I は水平タブと同じ行にあります。

着信音を生成するCv Cgなどの他の例を使用して自分自身を確認できます。

$ printf ^G| hexdump -C
00000000  07                                                |.|
00000001

おすすめ記事