starthome-logo 無料ゲーム
starthome-logo

端末アプリで Ctrl-[ が Esc になる理由(Humanity)



今回は tyruさんのブログ『Humanity』からご寄稿いただきました。


端末アプリで Ctrl-[ が Esc になる理由(Humanity)


理由


SHIFT キーはキーコードを -0x20、CTRL キーはキーコードを -0x40 する機能


全文


vim-jp.slack.com の #random から。


heavenshell [10:08 AM]

TouchBar MBP にしたら強制的に C-[ になるので、オススメです!ようやく矯正できた。


mattn [10:09 AM]

人間の方が最適化されている


yoshitia [10:12 AM]

Escが物理的にない状況用にデフォルトでCtrl-[ 用意してるのすごい


mattn [10:14 AM]

いや、用意した訳ではないです。

SHIFT キーはキーコードを -0x20、CTRL キーはキーコードを -0x40 する機能なのです。

なので `[` つまり 0x5b は 0x1b になる。

0x1b = ESC

同様に CTRL-H は H が 0x48 なので 0x08、つまり BS になる。


yoshitia [10:17 AM]

元からある仕組み上、代用ができちゃうだけなんですね


mattn [10:17 AM]

ですです。

逆に言うと

`;` は 0x3b なので CTRL を使うと 0 以下になる、つまり使えないという事です。

端末の場合はマッピング出来る事もありますが、gvim で出来ないのはそれが理由です。


yoshitia [10:19 AM]

符号付UNICODEの機運(ない


KoRoN [10:26 AM]

僕は ENTER の代わりに CTRL+M 使うことが多い。 (0x4D –0x40 = 0x0D)

あれ? あれ?

M=0x4D, m=0x6D だな。

小文字基準で CTRL は -0x60 とすべきなのかな。 (edited)


mattn [10:30 AM]

あ、ですです

これちなみに Unicode も受け継いでてくれてて


KoRoN [10:30 AM]

でもそうすると 5b が説明つかん?


mattn [10:30 AM]

`a` と `A` は -0x60 なんすよね

CTRL は 0x40


KoRoN [10:31 AM]

やっぱ大文字基準で、 SHIFT=+0x20 CTRL=-0x40 のほうが合致しそう。


KoRoN [10:32 AM]

そういや昔のプログラム、全部大文字だったりしたな。


mattn [10:32 AM]

これ、0 割れした場合の処理が端末毎に異なってるのがイヤらしいんすよ。

* 受け付けない

* 300 から引く

みたいな色々流儀がある


執筆: この記事は tyruさんのブログ『Humanity』からご寄稿いただきました。


寄稿いただいた記事は2018年10月10日時点のものです。


―― 表現する人、つくる人応援メディア 『ガジェット通信(GetNews)』
    Loading...
    アクセスランキング
    game_banner
    Starthome

    StartHomeカテゴリー

    Copyright 2024
    ©KINGSOFT JAPAN INC. ALL RIGHTS RESERVED.