EmacsにおけるキーとASCIIコードの対応

このQ&Aのポイント
  • Emacsでは、ASCIIコードを使用してキーを表します。
  • 非印刷文字に対応するキーを調べる方法はあるのでしょうか?
  • EmacsのキーとASCIIコードの対応についてアドバイスを頂きたいです。
回答を見る
  • ベストアンサー

EmacsにおけるキーとASCIIコードの対応

こんにちは。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 Emacsでは、ASCII文字は、0~127のASCIIコードで表されます。 例えば、文字Aは、ASCIIコード65で表されます。 現在、非印刷文字を表すASCIIコードに対応するキーが分からず困っています。 例えば、C-@はASCIIコード0, C-aはASCIIコード1, C-bはASCIIコード2, .....RETはASCIIコード13, TabはASCIIコード9, ESCはASCIIコード27といったことは分かっているのですが、他のASCIIコード(例えば17~26など)に対応するキーが分かりません。 非印刷文字を表すASCIIコードに対応するキーを調べる方法はあるのでしょうか? 何かいい方法を知っておられる方がいらっしゃれば、是非アドバイスを頂きたいと思います。 では、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

M-x list-charset-chars ascii でasciiキャラセットの一覧が出ます。0x00~0x1fまでのコントロールコードも出ます。 覚えかたですが。 C-a 1 C-b 2 C-c 3 C-d 4 ...と26までアルファベット順です。 別解として C-@ 0 → +0x40 → @ 0x40 C-a 1 → +0x40 → A 0x41 C-b 2 → +0x40 → B 0x42 C-c 3 → +0x40 → C 0x43 C-d 4 → +0x40 → D 0x44 と、0x40ずらしたときの文字と一致します。

MetalLover
質問者

お礼

御回答ありがとうございます。 助かりました。

その他の回答 (1)

  • 007MUKADE
  • ベストアンサー率41% (286/694)
回答No.1

>ASCIIコード(例えば17~26など)に対応するキーが分かりません。 添付 URL にアスキーコード表が有りますので ごらんください。 1~31は ”コントロールコード” になってますので 表示は出来ません。

参考URL:
http://www9.plala.or.jp/sgwr-t/c_sub/ascii.html

関連するQ&A

  • EMACS

    GNU EMACS for WindowsとxyzzyでLISPを使う方法を教えてください。

  • command.comとASCIIコードについて

    command.comとASCIIコードについて質問させて下さい。 もし御存じであれば以下について御回答いただけないでしょうか。 例えば、 キーボード上「 あ」・「 い」・「 う」・「 え」・「BS」・「 ←」というキーがあり そしてそれに対応するASCIIコードが それに対応して「a1」・「a2」・「a3」・「a4」・「b1」・「b2」となっていたとします。 その時、「あ・い・う」というコマンドを入れたかった場合に 「え・い・う」と間違えて入力してしまった場合、command.comにはENTERが押された時点で「a4・a2・a3」という命令がされることになるのですか? その後で、「a1・a2・a3」に直したいとき「BS」で戻るというのは「BS」の「b1」というコードが 「a4・a2・a3・b1」と入るわけではなく、直接command.comの入力用バッファが 「a4・a2」となってしまうということになるのでしょうか? それとも、やはり「a4・a2・a3・b1」となっているんだけどディスプレイ上「え・い」となっているということなのでしょうか? それに対して「 ←」キーは異なる動作をするということなのですか? それとも、もともと「b2」というコードはなくて「 ←」と入力されたときは 「BS」と入力されたものと同じ処理をするということになるのでしょうか? 質問の意図が取りにくいかとは思うのですが、是非お答いただけたらと思います。どうか宜しくお願いします。

  • ASCII文字変換

    VB6で、80h~9Fh 及び E0h~FFhはASCII文字変換が出来ません。(ANK文字コード表に無い) RS-232C通信機器等では、これらのASCII文字で通信しているものがありますが、対応方法をご教授頂けませんか?

  • UTF-8とASCIIコードにおける互換性について

    UTF-8とASCIIはそのASCIIコードの範囲のおいて 互換性を持ちます。(と、書籍や多種な文献にはそういった記述があります) たとえば【A】という文字をUTF-8で符号化した際は【41】(16進数で) さらにASCIIコードでも【41】という値がAという文字に割り当てられています。 確かに、一件互換しているようにみえますが、UTF-8っていうことは最終的には Unicode上のコードポイントの値・・・つまり0x0041という値に復元?(というのでしょうか)するわけですよね? でそのUnicodeの文字集合上から復元したコードポイントに対応する文字を参照しAという文字をみつけてくると・・・。 これって【A】という文字をUTF-8で符号化した歳のバイト列はASCIIと一致しているけれど 結局Unicodeコードポイントに直した場合【00】という上位バイトが無駄にくっついてきて【0x0041】となり 互換性がなくなるのではとおもったのですが・・・。 これはどういう意味の互換性なのでしょうか? 識者の方ご教授ください。 お願い致します。

  • emacsのキーバインドについて

    emacsでどのキーにどの関数が割り当てられているかを調べるには、 c-h c で調べられます。aのキー(文字を入力するキーならなんでもいいのですが) にどの関数が割り当てられているのか調べようと思ったのですが、self-insert-commandが割り当てられているようです。 しかし、self-insert-commandを実行してもaという文字が入力できません。 self-insert-commandにどのような引数を与えればaが入力できるのでしょうか?

  • Emacs-Lispモードで、式が返す値を全て表示

    こんにちは。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 Emacs-Lispモードで、バッファに記述されている式を評価した時、その式が返す値が、ミニバッファに出力されます。 ところが、式が返す値が長すぎると、途中までしか表示されません。 例えば自分の環境だと、 (symbol-value 'load-path) という式を評価すると、ミニバッファには (nil "~" "~/My_Lisp_Programs" "c:/Emacs_for_Windows/emacs-23.4" "C:/Emacs_for_Windows/emacs-23.4/site-lisp" "C:/Emacs_for_Windows/emacs-23.4/../site-lisp" "C:/Emacs_for_Windows/emacs-23.4/lisp" "c:/Emacs_for_Windows/emacs-23.4/lisp/url" "c:/Emacs_for_Windows/emacs-23.4/lisp/textmodes" "c:/Emacs_for_Windows/emacs-23.4/lisp/progmodes" "c:/Emacs_for_Windows/emacs-23.4/lisp/play" "c:/Emacs_for_Windows/emacs-23.4/lisp/org" ...) という文字列が出力され、...以降が表示されません。 どうすれば、Emacs-Lispモードで、式が返す値を全て表示する事ができるのでしょうか? 何か御存じの方がいらっしゃれば、是非、情報を提供して頂きたく思います。 では、よろしくお願い致します。

  • Emacsでの文字コード変換

    Vine Linux 4.2 で Emacs 21.4 を使っている初心者です。 UTF-8でファイルを保存したいのですが、うまくできません。 C-x [RET] f で utf-8-unix を指定すると、左下の表示は "EEu:" になるのですが、その後 C-x C-s で保存すると勝手に "EEJ:" になってしまいます。実際に保存されたファイルもJISコードになっているようです(nkf -g filename で ISO-2022-JP と表示されます)。 何がいけないのかご教示いただけると助かります。よろしくお願いします。

  • emacsによる字下げの方法

    最近、Windows版emacs(Meadow)で、C言語のプログラムを書き始めた初心者です。 emacsにはTABで半角スペースによる適切なインデントを行ってくれる便利な機能がありますが、行頭のみでしか行ってくれません。行頭以外でも字下げを行う方法はありますか?例えば、 ------ int n char a[10] ------ と記入した際、のnとa[10]の頭を揃える方法です。 自分である程度調べてみるとM-iに字下げを行うコマンドを見つけましたが、タブ文字を使用してしまうため環境によって表示がバラバラになり見にくいという指摘があるため、タブ文字の使用は控えたいのです。 このM-iによる字下げを半角スペースによって行う方法、行頭以外で半角スペースによる字下げを行う別の方法、どちらでも構いません。 わかる人がいれば教えてください。よろしくお願いします。

  • JISコードかASCIIコードか、EUCコードか半角カナか

    C言語のプログラム上で、JISコードかASCIIコードか、EUCコードか半角カナか、 16進数にした場合、初めの1バイトがそれぞれでかぶってしまい、 区別がつきませんが、これを解決させる方法はありませんでしょうか?

  • emacsの文字コードの確認方法

    emacsのカレントバッファの文字コードの確認方法を教えてください。 モードラインの所に'u'等、大体の情報はわかるのですが、正確な文字コードが知りたいです。得にモードラインのところが'-'になっている場合何を示しているのですか?

専門家に質問してみよう