最近の問題*では、ファイルのすべての文字が見えなくても表示できるテキストエディタがあるかどうか疑問に思いました。具体的には、16進編集機能を探しているのではなく、すべての非表示の文字(一般的な空白/改行文字だけでなく)を表示するテキストエディターに興味があります。 BOMマーカー はほんの一例であり、他の例は次のとおりです。 数学的に見えない またはおそらく サポートされていない文字 。
多種多様なテキストエンコーディング/エンコーディング間の翻訳を単にサポートするテキストエディタを探していません。私が出会ったすべてのテキストエディタは、非表示の文字を正しく処理します。つまり、非表示のままにします(または、BOMマーカーの場合のように翻訳で削除されます)。
私はこれを主に学術的な興味から求めているので、特定のOSについては特に気にしません。 LinuxとOSXのソリューションは簡単にテストできますが、Windowsエディターをお勧めする場合は、エディターが空白/改行以外の非表示を処理する方法の説明を含めていただければ幸いです。
編集:私が望む振る舞いは、カスタムハイライトを介して、またはフォント自体をいじることによって、emacs/vimに実装できることを確信し始めています。このタイプのソリューションも受け入れられます。
EDIT2:いくつかのオプションを調べた後、少なくとも非表示のUTF-8文字がファイル内にある空白スペースを表示するTextMateを見つけました。私の質問に答えるSOの能力に少しがっかりしました。バウンティはVIMに行きます。それは、ソリューションが存在する可能性が最も高い方向だからです。
*この質問に私を導いた事件:私はTextWranglerを使用してPerlスクリプトを作成し、ファイルの先頭にBOMマーカーを挿入するUTF8BOMにエンコードを変更することに成功しました。 Perl(またはオペレーティングシステム)はすぐに#を見逃します!そして騒乱が続く。その後、さまざまな「非表示を表示」オプションがオンになっている場合でも、ほとんどのテキストエディタにBOMマーカーが表示されないため、これを理解するのに午後の大部分を要しました。これでレッスンを学び、すぐにless
を使用します:-)。
vim (テキストモードまたはグラフィックモードのいずれか)は、:set list
の場合、すべての制御文字を表示できます。 BOMは特殊なケースであり、:set bomb
または:set nobomb
コマンドによって制御されます。
Visual Studioのファイルを開くダイアログでは、開くプッシュボタンの横に下向き矢印があり、選択できますOpen With ...。表示されるダイアログのオプションの1つは、Binary Editorです。
私はこれを時々使用して、目に見えない文字を見つけたり、行末の問題を解決したりしました。
Notepad ++のロック:
ファイルをEMACSで開き、M-Xhexl-modeを実行します。次のようなディスプレイが表示されます。
87654321 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789abcdef 00000000:2320 2020 2020 2020 2020 2020 2020 2020# 00000010:2020 2020 2020 2020 2020 2020 2020 2020 [.___。 ] 00000020:2020 2020 2020 2020 2020 2020 2020 2020 00000030:2d2a 2d20 4175 746f 636f 6e66 202d2a2d-*-Autoconf-*- 00000040:0a23 2050 726f 6365 7373 2074 68697320。#この 00000050:6669 6c65 2077 6974 6820 6175 746f636fファイルをautoco 00000060:6e66 2074 6f20 7072 6f64 7563 6520 6120nfで処理して 00000070:636f 6e66 6967 7572 6520 7363 7269 7074 configure script 00000080:2e0a 2320 4f72 6465 7220 6973 206c 6172 ..#Order is lar 00000090:6765 6c79 2069 7272 6576 656c 6c61 6e74 gely irrevellant 000000a :2c20 616c 7468 6f75 6768 2069 7420 6d75、ただしmu 000000b0:7374 2073 7461 7274 2077 6974 6820 4143 st start w i番目のAC 000000c0:5f49 4e49 5420 616e 6420 656e 6420 7769_INITおよび終了wi 000000d0:7468 2041 435f 4f55 5450 5554 0a23 2053 th AC_OUTPUT。#S 000000e0:6565 2068 7474 703a 2f2f 6175 746f 746f ee http:// autoto 000000f0:6f6c 7365 742e 736f 7572 6365 666f 7267 olset.sourceforg 00000100:652e 6e65 742f 7475 746f 7269 616c 2e68 .h
同じ制限が発生しました。特定の問題は、ゼロ幅スペースであるU + 200Bやゼロ幅非接合子であるU + 200Cなどの文字を表示できる必要があることです。 (クメール語など、単語をスペースで区切らない言語の電子テキストで使用されます。)あなたとは異なり、「プラットフォームは関係ありません」の代わりに、Windowsのエディターが必要ですおよび Linuxバージョン、そしてMacも望ましいです。
画面に表示できるテキストエディタは見つかりませんでしたが、一部(多く?)では入力でき、切り取りと貼り付けが可能で、カーソルの移動によって存在が示される文字として適切に扱われます。 。 (つまり、画面に「if」と表示され、「i」と「f」の間に3つのZWSPがある場合、「i」から「f」に移動するには、矢印キーを4回押す必要があります。)
TextPad 4.7.3は、それ以外の点では私の選択したテキストエディターですが、スクリプトの受け入れには非常に制限があります。そしてTextPad5は間違いなくこれらの目に見えないものを表示しません。
私はよくファイルをOpenOffice.org Writerで開くことに頼りました。これは、これらの文字の位置に非表示がオンになっている灰色のスラッシュを表示し、Microsoft Wordを表示します。そのような見えないもののためのダブルボックス(ボックス内のボックス)文字。このダブルボックスには幅があり、画面上の改行を変更します。これは簡単ではなく、他のエディターでは見たことがありません。
私はそれが無料ではありませんが ltraEdit を好みます。堅牢なHEX表示モードなど、隠し文字を表示する機能が非常に優れています。 (私は出版社であるIDMとは提携していません。)
メモ帳++を使用して表示することもできます。これが例です。黒いボックスは制御文字です。
しばらく使っていないのでわかりませんが、 SciTE は、自分のニーズに対して「情報が多すぎる」ことを示してくれた良いものだったのを覚えています。
プログラマーのメモ帳 Windowsでは動作する可能性があります。
TextPad (これはナグウェアであり、Windowsで実行されます)
これらのどれが箱から出して隠された文字を表示するかはわかりませんが、それらはすべて「オタク」のもののために作られているので、少なくとも少し調整するだけで機能すると思います。プログラマーのメモ帳に「非表示」の文字が表示されていることを確認できます。
32ビットバージョンのWindowsを実行している場合は、実行ボックスに「編集」と入力して開くことができるMS DOSエディターで、BOMや、キャリッジリターンや改行などの非表示の文字が音楽の8分音符のように表示されます。またはコマンドプロンプトから。残念ながら、MSDOSエディタは64ビットシステムでは使用できません:(