web-dev-qa-db-ja.com

emacsの下のCaret-At(^ @)とは何ですか?

私はEmacsでCaret-M(^ M)を見るのに慣れています。しかし、以下に、Caret-At(^ @)が表示されています。

enter image description here

このファイルは、OpenBSDでコマンド./cryptest.exe > cryptopp.txtを使用して Crypto ++ テストプログラムを実行することによって作成されました。奇妙なことに、ファイル内のすべての行はC++のendlで作成されています。また、endlはプラットフォームの行末に敏感であるため、CRLFなどが正しくなります。

Caret-At(^ @)はどこにでもあるべきか、どこにもないはずです。

キャレットアット(^ @)とは何ですか?なぜ最初の行にしか表示されないのですか?

6
jww

キャレットアット(^ @)とは何ですか?

Emacsが^@として表示するのはヌル文字(control- @、またはASCII 0))です。


なぜ最初の行にしか表示されないのですか?

cryptestはこの時点でそれらを出力するからです。


ほとんどの文字は印刷文字です。バッファに表示されると、文字通り画面に表示されます。印刷文字には、ASCII数字、文字、句読文字、および多くの非ASCII文字が含まれます。

ASCII文字セットには印刷されない制御文字が含まれています。これらのうち2つは特別に表示されます。改行文字(UnicodeコードポイントU + 000A)は新しい行を開始して表示され、タブ文字は(U + 0009)は、次のタブ停止列(通常は8列ごと)まで拡張するスペースとして表示されます。タブあたりのスペース数は、バッファーローカル変数tab-widthによって制御されます。 1と1000を含みます。バッファ内のタブ文字がどのように表示されるかは、コマンドとしてのTABの定義とは関係がないことに注意してください。

その他のASCII制御文字(コードがU + 0020(8進数40、10進数32)未満)は、キャレット(^)の後に、非制御バージョンのエスケープグリフ面を持つ文字。たとえば、 control+A 文字U + 0001は、^Aとして表示されます。

ソース 14.19テキストの表示方法

6
DavidPostill