いろんなテキストエディタでShift JIS開いてみた

目次

  1. 背景
  2. そもそもShift JISとは
  3. 実験対象のエディタ
  4. Word
  5. VS Code
  6. Vim
  7. NeoVim
  8. Emacs
  9. Helix
  10. まとめ
  11. 関連記事

背景

こんにちは。 かりんとうマニア(@karintozuki)です。
今回は色んなエディタでShift JISを開いたらどうなるのかを検証してみました。

ことの発端はこちらのドキュメントです。
Helix Vision
Helixというエディタがいくつか達成したいゴールを掲げているのですが、そのうちの一つにこんな部分があります。

Whether it’s a 200 MB XML file, a megabyte of minified javascript on a single line, or Japanese text encoded in ShiftJIS, you should be able to open it and edit it without problems.
(筆者訳:200MBのXMLだろうと、1行にミニファイされた1MBのJSだろうと、ShitJISでエンコードされた日本語のテキストだろうと、問題なく開けて編集できるべきである)

なんかShiftJISが編集しづらいテキストの代表例みたいに扱われているんですね。
最近は全部UTF-8で統一されているけど、確かに以前ShiftJIS絡みで苦戦したことがあるような。。。

というわけでこのHelixも含めて、いろいろなテキストエディタがShiftJISをちゃんと開けるのかを検証してみました。

そもそもShift JISとは

IT用語辞典によると以下のような説明がされています。(https://e-words.jp/w/Shift_JIS.html)

Shift JIS(シフトJIS)とは、JIS規格として標準化された日本語を含む様々な文字を収録した文字コードの一つ。正確には「Shift_JIS」と間にアンダーバーを挟んで表記する。MS-DOSやWindowsが標準の日本語文字コードとして採用したことから広く普及した。

Shift JISは文字コードの一種です。
マイクロソフトによって日本語の文字コードとして採用されたので広く使われるようになったようです。
日本語だけならこれでもよかったんですが、他の言語も表せるということで、今はUTF-8で統一する方向にざっくり落ち着いているみたいです。

実験対象のエディタ

今回は以下のエディタで検証してみます。
検証はMacBookを使っています。

  • Word
  • VS Code
  • Vim
  • NeoVim
  • Emacs
  • Helix

サクラエディタとか秀丸とかも試したかったのですが、Macで検証したため、これらのエディタは検証できず。。。
でも多分、日本製のエディタなだけあって、問題なく開けると思います!

VS CodeでShift JISでエンコードされた日本語ファイルを作って、これを色んなエディタで開いてみようと思います。

Word

まずはみんな大好きOfficeです。ShiftJISを推していたマイクロソフトなので問題なく開けるんじゃないでしょうか。
早速、開いてみましょう。
ポップアップでどのエンコードを使うか聞かれました。

Japanese (Mac OS)というのが最初から選択されています。どうやらShift JISを認識してくれているみたいですね。
普通に開けました。

というわけで、一応の確認はされるものの、普通に開く事ができるようです。

VS Code

それでは同じMicrosoft製のIDE、VS Codeを試してみます。
どうなるでしょうか。

だめでした。
UTF-8として開いてしまっているようです。

ただ、一応文字コードのメニューを開くとShift JISが選択されています。

ShiftJISとして開き直すと、ちゃんとファイルを開く事ができました。

Vim

Vimです。かなり歴史のあるエディタなので、ShiftJISにも対応しているのではないでしょうか?
それでは以下のコマンドでファイルを開いてみます。

えいや!(Enterキー、ッターン!)

だめでした。

ただし、vimは設定をちゃんとすることでShiftJISを開くことが可能です。
.vimrc(Vimの設定ファイル)に以下の設定を追加します。
set fileencodings=utf-8,sjis
そうすることでutf-8ではないファイルをShift JISとして開いてくれるようになります。

ちゃんと開けました。

(ちなみに日本語のフォントがカスなのは僕のMacBookの設定のせいでvimのせいとかではないです。念の為。)

NeoVim

NeoVimはVimをもうちょっと新しくしようぜっていうコンセプトのエディタです。
VimになかったShift JIS対応は改善されているのでしょうか。

せい!(Enterキー、ッターン!)

だめでした。。。。
まあ、vimにできないのにNeoVimでできるってこともないですね。

対応策はvimと同じでfileencodingssjisを追加してあげるだけですね。

ちゃんと開けました。

Emacs

Emacsはよくvimのライバル的な位置付けにされる事が多いので、ShiftJISの扱いでvimに差をつけることはできるのでしょうか。

ちなみにこの検証のためだけに生まれて初めてEmacsをインストールしました。

それではいきます!(Enterキー、ッターン!)

開けました!!なんの設定も無しに初期状態で開けました。これはすごい。

関係ないですけど、EmacsってGUIなんですね。vimと同じCLIで動く系だと思ってました。

Helix

さて、今回の検証の発端となったエディタHelixです。GoalでShiftJISを名指ししているだけあって期待が高まります。
また個人的にも2024年推していきたいエディタなので、うまく開いて欲しいものです。

いけ!(Enterキー、ッターン!)

うわあーーー!!

設定なしでは開けませんでした。
まあ、vimみたいになんか設定があるだろう。

(Google検索中。。。)

対応策見つかりませんでした。

これは僕のGoogle力が甘いのかもしれませんし、Helix自体ドキュメント化されていない機能が結構あったりするのですが、Shift JISを開く方法は僕には見つけられませんでした。

マジかよHelix。。。

まとめ

今回の検証の結果を以下の表にまとめました。

いやあ、Emacsがデフォルトで開けたのと、HelixはShiftJISを開くための設定すら無かったことに驚きました。
皆さんはどう思いましたか?
それじゃ今日はこの辺で。

関連記事

こちらの記事もおすすめです。

Rust製のエディタHelixを使い始めてNeoVimに戻ってきた話