学生時代はMac派(Windowsはサブでゲーム用などでもってはいた)、そこから一度Windows派に転身しVAIOなど先進的なノートPCや自宅機を使いまくってきました。この頃は逆にG4 Cubeなどをサブでもっていて最新UIトレンドなどをチェックするくらいで、実用用途にはあまり活用してませんでした。そして2010年に出たMacBook Air 11’を機に再びMacOSXに目覚め、iPhoneとの親和性の良さやPHP開発に便利な環境が揃っていることもあり、メイン仕事機としてMBP15’、サーバーとしてMac miniなどを立て続けに導入し出戻りしました。Windowsは動画編集などデスクトップでマシンパワー、グラフィックパワーが必要な時とゲームをする時用という感じ。
そして最近はWindows開発の仕事もあったりで久しぶりにDELL XPS15 2-in1を導入。早々に故障があったもののハードウェアとしてはかなり満足しています。そして先月のSurface Go、今月のSurface Pro Xの導入を機にあれこれ環境整備をしてみて、かなり快適なセッテイングになってきたのでまとめてみます。
主な要求仕様としては、
- ATOKで快適日本語入力、辞書同期
- メモ&Web開発用エディタとしてVisual Studio Code(以下VSCode)
- 各種サーバー/ルーター管理にターミナルエミュレーター
などがあります。ブラウザとかメーラー、Slack、Officeとかは普通にどちらでも使えるので割愛。とりあえずVSCodeとATOKという時点で、iPad+キーボードは選外です(使ってますけどペンノートとか電子書籍用)。
■Visual Studio Code
Mac/Winで違和感なく行き来できるエディタとして、これまではEmacsやSublime Textを使っていましたが、最近はこれ一本です。拡張機能でほぼなんでもできます。保存と同時にサーバーにアップロードする「SFTP」とか、PC間で設定、や拡張機能のインストール状態まで同期する「Setting Sync」が超絶便利。複数マシンを使い分ける私にはたまりません。ATOKでユーザ辞書が同期されるように、ちょっとした便利機能が1台から他へ自動伝播されます。また「あれどうやるんだっけ?」とググりなおさなくて済みます。またMarkdownも簡単に扱えるのが良いです。議事メモなども最近はこれです。必要に応じて「Markdown PDF」レンダリングされたPDFを書き出して相手に渡したりとか。
唯一不便だったのはWindowsで未だに多いShiftJISの.txtファイルを開いた時の文字化け(UTFとして開いてしまう)です。ちょっとしたREADME.txtなんかをダブルクリックで開いた時に不便なのでながらくVSCodeを.txtに対応づけるのは避けてきました。しかしこちらの記事を参考にして解決できました。
grep検索で問題が出るそうということですが今やREADME.txt的なファイルくらいしかSJISのテキストなんて扱わないので別にいっかと。さらにいえば拡張子毎に指定できるので、.txtにだけ適用しておけば問題なさそう。あとは.csvくらいですかね。Excelから書き出した.csvがSJISだったりしがち。そうそうCSVといえば「Edit csv」という拡張機能も欠かせません。VSCode上で簡易的な表形式表示ができます。ちょっとした内容確認ならExcelより手早くで重宝します。
まぁ、これはMacでもWindowsでも同じ話なんですが、逆にこれによってシームレスに行き来できるというところが素晴らしい、と。
■ターミナル
Macではシンプルながらなんの不足もない「ターミナル」が標準搭載されています。UNIX的なシェルやOpenSSHなども入っているのでなにも考えなくてもサーバーメンテナンスなどに使えて良かったです。かたやWindowsではPuTTYとかを自分で導入しなければならない時代が長く続きました。またcmd.exeでファイル操作をしたい時もついdirではなくls(UNIX作法)としてしまったりでイラっとすることも。しかしMicrosoftが方針転換をしてLinuxコミュニティと仲良くなってくれたおかげで、ここら辺の状況が随分かわりました。
まだベータ版ですがWindows Terminalが提供されています。これはタブ型のターミナルエミュレーターソフトです。cmd.exe、PowerShellはもちろん自前でインストールしたシェルを登録して使うことができます。Windows標準の仮想LinuxプラットフォームWSLのコンソールとしても使えるっぽいですが、仮想環境が使えないSurface Pro Xなどもあるので現状はGit for Windowsに付属するGit Bashを標準シェルとして登録して使っています。写真はタブで右からGit Bash、cmd.exe、PowerShellをひとつのウインドウで開いたところです。背景の透過度も指定できます。ターミナルエミュレーターは半透過に限りますw。Ctrl+ホイールでフォントサイズが動的に変えられるのも地味に便利。開発中はログをtailするウインドウとかデーモンを再起動する用、ファイルを編集する用といくつも開くので、都度最適化できると嬉しいんですよね。
場合によってこれらを使い分ける必要はまだありますが、それがワンストップで共通のフォントやサイズのUIからアクセスできるのはとても良いです。ちなみに「Settings」を開くとJSONファイルがエディタで開くので手で編集する必要があります。正式版ではGUIになるのかも知れませんが、これはこれでありかなと思います。
中にprofilesというセクションがあり、PowerShell、cmd、Azureコントール用の設定がデフォルトであり、ここに好きなものを追加すると写真にあるメニューに表示されるようになります(写真はGit Bashを自分で追加した状態)。さらにdefaultsというセクションを作っておけば、フォントや選択した範囲を自動でクリップボードにコピーするかなどの共通設定が作れます。詳しくはこちらが参考になると思います。
惜しい点としては、
- 設定をPC間で同期する仕組みがない
- タブを別ウインドウに分けたり合体させたりできない
- 背景半透明化はフォアグラウンド時のみ(バックグラウンド時は真っ黒になる)
位でしょうか。もちろん複数ウインドウで開くことは可能ですが、ブラウザのようにタブを別ウインドウかしたりができません。これも正式版に向けて是非対応してほしいところです。
また最近のWindows10ならOpenSSH(sshコマンド)も標準で入っているのでここから他のマシンに入って作業も簡単。PuTTYやTeraTermを使うより、Macで作ったconfigやらをゴッソリ持ってこられるのでサイコーです。公開鍵認証ログインなんかも使えます。
最終的にWSLなんかも含めてシェルをどうするかはわかりませんが、とりあえずそれも含めて入り口として使えるWindows Terminalは個人的にはキラーアプリです。
■スマホ写真の同期
ノマド中にスマホから1枚だけ写真を撮りだしてPC上でブログなどに貼りたい、なんてことが多々あります。iPhone + MacだとiCloud経由で勝手に同期されて便利でしたが、WindowsやAndroidだとこれというソリューションはありませんでした。以前からサードパーティのサーバーを介して写真を転送するツールはいくつかあり、現役ではSendAnywareなどがそれにあたりますが、やっぱりちょっと面倒くさいし、第三者サーバーを介すというところが少し不安でもあります。またiCloudの写真同期は全ての写真(のサムネイル)を読み込んでしまうので各端末上でそれなりにストレージを食うのが気になります。モバイル機で今とった写真が欲しいだけなのに!
しかしこれまた最新のWindows10ではソリューションが提供されました。現状Androidのみですが「スマホ同期」というアプリが備わっています。
これはスマホ側にも専用アプリを入れておく必要がありますが、最近の写真25枚(最新アップデートで2,000枚になった?)やSMSなどが同期されたり、電話の受発信をWindowsからできるようになったりします。ちょうどiPhoneとMacの連携を真似たような感じですね。しかも写真は全てではなく最新のみ。Macでいうと初期のPhotoStreamに近いですね。完全バックアップソリューションではないですがむしろそれがいい!2,000枚とか余計なお世話ですが探した限り設定で選べたりはしない様子(まだ対応版が手元に配信されてないのかも)。アプリを開いた時にストリームで読み込むならまだしも、常時最新2,000枚(サムネイルでも)はちょっとオーバースペックかなぁ。
ちなみにAndroidアプリ側で転送をWi-Fi接続時のみに制限するオプションはあります。まぁ使いたいのは出先なのでLTE時の同期もオンせざるをえないですが、そんなにバシャバシャとるわけでもないし、しばらくは影響を様子見かな。はやくiOSでも対応してほしいです。OneDriveやDropBoxのiOSアプリでもできてるので写真については問題なさげですが、SMSや通話の転送はAPI的に難しいかもですね。AppleとしてもmacOSの優位性を捨てることになるのでなかなか許可はしないかな?
もともと多様なメーカーが凌ぎを削るWindows機の方がハード的には抜きんでていたりコスパが良かったりしました。特に小型軽量化の面やインターフェイスの充実など。そこへAppleはRetinaディスプレイやスリープ復帰の速さ、快適なトラックパッド、そしてデザインなど独自開発の強みを活かした構成をかけ、個人的にもそこに魅力を感じてMacに出戻ってきていました。しかし近年MicrosoftもPCを自社開発しはじめ、ディスプレイやインスタントスリープ、トラックパッド、デザイン、全ての面で追いつき、更に2-in-1、電磁誘導ペン、LTE内蔵、常時接続、狭額縁などAppleが手を出していない部分を先んじるようになってきています。あとSurfaceが劣ってるのはキーボード(僅差)、塗装の強度と修理性くらい(Surfaceは壊れると修理せずリビルド品と交換)ですかね。それに加えてソフト面でもこれだけ盛り返してきてる。一昨年購入したPixel3XLをみて「長年iPhoneメインだったけどAndrodiでも十分やってけそう」と感じたのと同様、「もうWindowsオンリーでもそんなに困らないかも」と思い始めています。