Windowsでも利用しやすくなったVim

macOSやLinux、*BSDなどのUNIX系OSでは長きにわたって愛用されているVi系エディタだが、強いて課題を挙げるとすればWindowsではセットアップが面倒ということだ。

Vi系エディタはターミナルエミュレータアプリケーションの機能をそのまま使うため、Windowsの提供しているターミナルでは機能が貧弱だ。Vimなどを愛用しようとすれば、それ相応のターミナルもセットアップしなければならなかった。

また、Vi系エディタはUNIX系OSで発展してきたこともあってUNIX系OSの環境と親和性が高い。コマンドを利用したりsshを使ってさらにいろいろなことができたりするのだが、同じことをWindowsでやろうとすると、やはりそれを実現するまでに面倒なセットアップの壁を超えなければならなかった。

しかし、それももう過去の話だ。Windows 10 Fall Creators Updateからはストア経由でLinuxディストリビューションのインストールが可能になった。Linuxディストリビューションをインストールすれば前述した問題はすべて解決する。

執筆現在ではストアからUbuntu、SUSE Linux Enterprise Server、openSUSEが選択できる。特にUbuntuは今後もサポートが継続するだろうし、利用するにはよい候補だろう。

Ubuntu / ストア

SUSE Linux Enterprise Server / ストア|

要設定! WSLを有効に

Windows 10でLinuxバイナリ/カーネルを実行する機能であるWSL(Windows Subsystem for Linux)はデフォルトでは有効になっていない。

上記Linuxディストリビューションをインストールする前に、管理者権限で起動したPowerShellで「Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux」と実行して機能を有効にしたあと、一旦システムを再起動する必要がある。

機能が有効になっていれば、ストアからLinuxディストリビューションをインストールした後に次のようにLinuxコマンドが利用できるターミナルを操作できる。

Ubuntu on Windows 10 Fall Creators Update

これでWindowsからもsshでサーバにリモートログインしてWebアプリの開発やサーバの管理を行うといったことをほかのLinuxディストリビューションと同じように実施できる。Vimのパワーを最大限に利用できる環境がWindowsでも簡単にセットアップ可能になった。

過剰な期待は禁物

UNIX系のシステムコールとWindowsカーネルのシステムコールにはいくつかセマンティックギャップというか、根本的な考え方の違いがあるため、Windows Subsystem for Linux(WSL)が仮想マシンと比べて高速と言っても、一部の機能でWSLは性能が期待できない状態にある。

このため、WSLについて高性能Linux環境を実現するための機能だとは考えない方がよいと思う。もちろん、将来それが覆る可能性もある。ここからはユーザがどれだけこの機能を使い込むかで、Microsoft側の開発方針も変わるのではないかと思う。

とは言え、エディタやsshを利用するための環境としてはWindows Subsystem for Linuxは充分すぎるほどだ。サーバとしての運用は期待されていないというだけで、開発環境としてシステムをセットアップして利用するためのプラットフォームとしても利用できる。

データベースやWebサーバ、アプリケーションサーバのインストール、プログラミング言語のインストールもWindowsに比べて簡単だ。こうした環境が利用できるようになったことは開発者としては嬉しいばかりである。

*  *  *

これまでAtom単体の連載に続き、本連載の中でSublime Text、Brackets、Visual Studio Code、Vimを取り上げてきた。

モダンで人気の高いエディタから長期に渡って今でも高いシェアを持っているエディタまでそれぞれ特徴を伝えることができたんじゃないかと思う。

エディタは多くのユーザにとって作業効率を直接左右する重要なアプリケーションだ。紹介した中でちょっとでも興味を持ったエディタがあるなら、ぜひ試してもらえればと思う。