シェルで"シンドイ"文字コード

nanoやmicroといったシンプルなCLIエディターを試したりvimやEmacsといった高性能なエディターを試しては奥深さに挫折してきた筆者。複数の環境を使っていると、nano nasa.ps1なのかmicro nasa.ps1なのか、はたまた保存コマンド(:w)と上書き保存(:wq)が曖昧になりがちなWSL環境でのviだったか?とちいさなシンドイが積み重なる。

そこに追い打ちをかけるのが文字コードの問題だ。コードを実行するにはUTF-8だが、日本語テキストエディタ環境はShift-JIS。これらが混在するとギョッとする文字化けが時折、起こる。こちらの連載でも触れられているがCSVでもUTF-8とShift-JISの混在化が進んでおり、このような瞬間も増えそうだ。

  • Shift-JISの日本語テキストをPowerShellにインストールしたCLIのmicroで開いたところ

    Shift-JISの日本語テキストをPowerShellにインストールしたCLIのmicroで開いたところ

デスクトップに保存しておけば、使い慣れたGUIのWindowsのテキストエディターで簡単に開いて、保存できるし文字コードの変換も簡単ではある。PowerShell実行のシンプルなPS1ファイルなどはこれでもいい。デスクトップにあるAPI通信ファイルのダブルクリックでNASAや天気を起動できる(NASAのAPIは、米政府予算問題のためかとうとう稼働しなくなったが・・・回復を祈る)。

しかし、RustのCargoのようにフォルダを作成(mkdir)してから初期化(cargo init)、main.rsを開いてコードを貼り付けるような所作では、デスクトップだと移動のハードルが高まる(OneDrive/デスクトップ)上に、容量の大きなファイルもたまる。これを避けるために、コマンドラインでの移動とファイルエクスプローラーでのフォルダの移動が交差する。つまり、文字コードのために"シンドイ"のである。

  • 文字コードのために時折おこる「コマンドラインでの移動」と「ファイルエクスプローラーでのフォルダの移動」

    文字コードのために時折おこる「コマンドラインでの移動」と「ファイルエクスプローラーでのフォルダの移動」

そんな中、Microsoft OSSとしてGitHubのMicrosoft公式リポジトリで開発が進んでいるEditが既報の通りWindows 11 Insider Preview Build 27965に搭載され、将来的な標準装備が実施される見込みであるという朗報である。

64ビット環境のWindowsでは"edit"で起動したMS-DOS Editorのようなコマンドラインエディターが無かったため、これに変わる新たな"edit"として5月にOSSで登場、シンプル軽量なCLIとして開発が進められている。バイナリファイルもGitHubには用意されているので、すぐに試すことも可能だ。

  • Microsoft Edit v1.2.1

    Microsoft Edit v1.2.1

PowerShellからEditで"シンドイ"文字コードを手軽に

「Edit」では文字コードの変換が簡単だ。CLIエディターなので目的のフォルダに移動して、

edit ファイル名

で開くと「Edit」でPowerShell上でテキストエディターが開く。左下ステータスバーにある文字コードの箇所をクリックして、「指定エンコーディングで再度開く」を選択。表示されるエンコーディングの種類からShift-JISを選び、Enterキーを押すと表示される。あとは使い慣れたGUIのメニュー操作で編集できる。

メニューにはシンプルかつGUIユーザーにはマストなアイテム、見やすいショートカットメニューが以下のように並ぶ。

  • ファイと編集メニュー。GUI必須のアイテムが並ぶ

  • 表示メニューには「ステータスバーにフォーカス」がある。ステータスバーの[タブ]では、タブやスペースの幅を数字で変えられるメニューもクリックで表示される。今後ステータスバーを拡張する意気込みが垣間見える

執筆時にShift-JISの半角かな文字には対応していないが、全角Shift-JISのテキストは使い慣れたGUIエディターのようにシンプルに操作できた。今後の発展でシンプルさを維持したママでコマンドラインとの相性がさらに高まると、デスクトップ指向と積み重なるちいさなストレスが軽減されるにちがいない。