Macユーザになり数年、いつの間にか戻れなくなっていたWindowsに何とか戻ってきた

社会人になる前からずっと使っていたWindowsを手放してMacユーザになって数年。画面もフォントもキレイで、動きも滑らかキビキビしているMacに慣れすぎて、Windowsなんて年に数回しか触らない状態になってしまっていました。   

戻ろうと思ったきっかけは色々あります。Appleに囲われることへの危機感、Macへの飽き、久々にPowerShell+.Net使いたい、GPD Pocketみたいな面白そうな端末もあるし、そしてWindows PCの方が安い。。。  

そんなことをここ半年くらい考えていたのですが、そもそも、よく考えれば自分がMacで使っているものって、Officeとエディタとブラウザ、ターミナル(含むLinuxコマンド)、SlackだけだなとWindowsに戻ってみることにしました。  

実は同僚にWindowsに戻ると公言したのは2ヶ月くらい前になるのですが、以前は手に馴染んでいて、今は使いづらく感じるWindows環境を試行錯誤しながら、MacWindowsを行き来してやっとWindowsに落ち着いてきたので記事を書こうと思いました。

エディタ

開発などのがっつりした作業はターミナルの項で書いているDockerコンテナ内のVimで行いますが、ちょっとしたメモに関してはGUIVimが欲しい。gvimなんかも試しましたがデフォルトでも十分きれいでクリップボードとか面倒な設定が不要なOniVim使うことにしました。

github.com

ブラウザ

MacでもVimキーバインドでの操作がメインだったので、これを入れればWindowsでも操作感は大きく変わりませんでした。  

chrome.google.com

ターミナル(Linuxコマンド含む)

Windowsに戻るための一番高い壁がここでした。WSLが入って確かにbashコマンド叩くだけでUbuntu起動してくるのは良かったです。     でも、iTerm2になれた自分にはcmdのプロンプトも、立ち上がり遅いPowershellも肌に合わず、iTerm2の代替になると聞いたソフトウェア、ConemuとかCmderとかHyperとか色々試すものの、なかなかしっくりくるターミナルソフトがありません。bashキーバインドが使えないので打ち間違い多発しました。      

そんななか結局たどり着いたのはDockerでLinux環境作ってそのうえでtmuxを動かすことでした。      このようなイメージのディレクトリ構造でBitbucketのプライベートリポジトリに置いておきます。

  これでgit cloneすればどこでも自分の開発環境を使うことができます。

├── Dockerfile   # 開発用コンテナを作るためのDockerfile
├── build.cmd   # Windows環境におけるコンテナビルド用のコマンド
├── build.sh      # Linux/Mac環境におけるコンテナビルド用のコマンド
├── run.cmd     # Windows環境におけるコンテナ起動用のコマンド
├── run.sh        # Linux/Mac環境におけるコンテナ起動用のコマンド
├── settingfiles      # コンテナBuild時にコンテナに含めるファイル群(dotfile等)
│   ├── bash_profile
│   ├── tmux.conf
│   ├── vimrc
│    ・・・・

例えばrun.shやrun.cmdはこのようなスクリプトになっていて引数に設定したディレクトリをマウントしてコンテナを立ち上げます。

run.sh

#!/bin/bash
mntdir=$(pwd)
if [ "$1" != "" ];then
  mntdir=$1
fi

docker run -it -v ${mntdir}:/root/mnt --rm devel:latest /bin/bash --login

run.cmd

@echo off
SET MNTDIR=%1
IF "%MNTDIR%"=="" (
  for /f "delims=" %%a in ('cd') do @set MNTDIR=%%a
)
docker run -it -v %MNTDIR%:/root/mnt --rm devel:latest /bin/bash --login

ここにパスを通すことで、コマンドプロンプトからrunと実行したり、 WIN+Rファイル名を指定して実行を起動し、run を入力してLinuxコンテナを直接起動できます。

あとはtmuxを起動すればいつもの開発環境。いつものキーバインドです。 このあたりを参考にVIMっぽいキーバインドにして使っています。

更にMacの端末でもWindowsの端末でも同じ操作性になったので、WinとMacを行き来しても、戸惑い少なく作業できるようになりました。

ターミナルの機能はtmuxでいくらでもカスタマイズ可能ですし、コマンドプロンプトなので軽いです。

この記事を参考にフォントを変更することも可能です。

Windows 10のコマンドプロンプトで任意のフォントを使う(Rictyも可) | ほりべあぶろぐ

その他

トラックパッド

Macっぽいトラックパッド操作のために。   

【手順】12インチMacBook(Early 2016)にBootcampでWindows 10 Pro 64bitをインストールすると快適 | kiritsume.com

     

夜間モード

MaciPadも設定してある、夜間モード。一度使うと元には戻れません。  

https://support.microsoft.com/ja-jp/help/4027563/windows-10-set-your-display-for-night-time

     

キーボード

Macbook 12インチでBootcampしているときはこれをやりました。 MacBook ProでBootCampしてWindows10使用時に[英数]、[かな]キーが効かない時の対処法 | くねおの電脳リサーチ

   

Slack止まる

Slackがしょっちゅう止まるので調べてみたらこんなコマンドがありました。今はとりあえずこれで凌いでいます。

slack://notReallyWindows10

freeze - Window's Slack is frozen - Super User

後日追記

  • Docker多用するのですがDocker for Windowsは使い物にならないため、結局メインはVirtual Box上のUbuntuになってしまい、WSLからSSH接続して作業しています・・
  • ターミナルは未だにコマンドプロンプトのままです。他のターミナルは描画速度が遅かったり、vim使うとコマンド認識まで遅かったり。結局コマンドプロンプトが一番サクサク動きます。ウィンドウの枠など見た目上の不満点は我慢しています

更に後日追記

  • USB3.0が出てる久しいので2.0時代にはおそすぎて使えなかったUbuntuのUSBブートを試してみたら快適すぎて、これでいいかという思いが出てきています・・

更に更に後日追記

  • このエントリ見に来てくれた方、すみません。最後はUbuntuに完全乗り換えで、Officeで細かいPowerpoint作るときだけWindowsになってしまいました。

更に更に更に後日追記

行き帰りをしながらUbuntuからWindowsに戻ろうとしているのですが、ここ1ヶ月はWindowsに戻れています。

要因は以下の2点

  • メインエディタをVimからVSCodeに変更した VSCode上に引きこもって、主な作業が可能になったのが大きいです

  • Hyper TMの安定

V1の時には時々不安定になっていたHyperもV2になって気持ちよく使えるようになりました。

一つのタブはコマンドプロンプト、一つのタブはWSLとして作業することで、快適に作業できています。

  • ダークモード WindowsのダークモードはWindowsライクな見た目を軽減できるので、精神衛生上良いです。

  • gvim 日本語入力はgvim使っています。Vimキーバインドのエディタは色々ありますが、日本語入力はgvimが操作に違和感が少ないと感じています。

時々メモ帳で何気なくテキスト編集してしまうと、UTF-8で保存しても BOM有り になってしまうのが少しストレスです・・

ただ、それも、これ当てるまでの我慢。 forest.watch.impress.co.jp

更に更に更に更に後日追記

WSL2が発表されたので楽しみにまっているところです。

ターミナルにはHyperを使ってきて、デザインも操作性も気に入っていたのですが、立ち上がりが遅い。

WSL2のためにAlacrittyに乗り換えました。

github.com

前からインストールはされていたのですが、どうしても右クリックからの Open Hyper here をしてしまうので、Hyperばかり使っていました。

レジストリ調整すればAlacrittyも同じことできることを知ったので乗り換えができました。

f:id:yomon8:20190518085038p:plain

インストール方法はChocolatey使っているならこちら。

> choco install alacritty

レジストリ調整はこちら。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Alacritty]
"Icon"="C:\\ProgramData\\chocolatey\\bin\\alacritty.exe"
@="Oepn with Alacritty"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Alacritty\command]
@="C:\\ProgramData\\chocolatey\\bin\\alacritty.exe --working-directory \"%V\""

[HKEY_CLASSES_ROOT\Directory\shell\Alacritty]
"Icon"="C:\\ProgramData\\chocolatey\\bin\\alacritty.exe"
@="Oepn with Alacritty"

[HKEY_CLASSES_ROOT\Directory\shell\Alacritty\command]
@="C:\\ProgramData\\chocolatey\\bin\\alacritty.exe --working-directory \"%V\""

更に更に更に更に更に後日追記

まだ少し気になっていたターミナル。PowerShell7から描画速度が大幅改善されたのでこれに切り替えました。

github.com