6月に転職してWindowsマシンを触ることになったんだけど、環境構築で色々とハマったので、忘れないうちにメモっとく。 キーバインドとか結構特殊にしてるので参考にならないかも……
TL;DR
- キーバインド: AutoHotkey + keyhac
- ターミナル: ConEmu + PowerShell
- エディタ: Atom + VS Code
筆者のスペック
マシン: MSI GS65 Stealth
MSIゲーミングノート GS65 8RF-002JP/Windows10/第8世代 Corei7/15.6FHD 144Hz/16GB/512GBSSD/GTX 1070 8GB
- 出版社/メーカー: MSI COMPUTER
- 発売日: 2018/04/20
- メディア: Personal Computers
- この商品を含むブログを見る
今の仕事ではGPUパワーが必要になるのでゲーミングPCを選んでいたんだけど、どれも見た目が微妙……。 界隈ではRazer Bladeがイケてるみたいな風潮があって、ちょっと気になって、あまりにも壊れやすいという情報もあったので今回は見送り。 そんなとき、 @ayumu_naga 氏がMSI GS65 Stealthを使っているのをみて、購入を決めた。
気絶してたらゲーミングノート買ってたのですが、15inchでi7 8th、gtx1060搭載、軽量(1.8kg: 新型MBPと同程度)、外観もそんないかつくない、蓄熱アツアツにならないということで、今のところ大変満足しています。
— Ayumu Nagamatsu (@ayumu_naga) May 3, 2018
/ msi GS65 stealth thinhttps://t.co/0QUlSRZJYr pic.twitter.com/7gUwwCvZVe
英字配列の製品はAmazon JPにはないので、総務の人に無理言ってAmazon.comから購入してもらった……🙇
見た目は控えめだしGPUもGeForce GTX1060で十分だし概ね満足している。 ただ、PCを閉じてもスリープ失敗してカバンの中でメチャクチャ熱くなるという現象が発生して困っている。 今に壊れそうでヒヤヒヤする、BIOSの設定で直るんかな……
あ、あとトラックパッドが微妙。 一応どこ触ってもクリックできることになってるけど、端っこでクリックすると明らかにトラックパッドがたわんでて、今にも壊れそう。 Bluetoothマウスやトラックボールを一緒に持ち歩くと良いでしょう。 僕は昨日ロジクールのMX ERGOを買ったよ。
Logicool ロジクール MXTB1s bluetooth ワイヤレス トラックボール MX ERGO Windows,Mac対応 筋緊張20% 軽減 8ボタン 高速充電式 2年間無償保証
- 出版社/メーカー: ロジクール
- 発売日: 2017/09/22
- メディア: Personal Computers
- この商品を含むブログ (3件) を見る
キーバインド
- AutoHotKey: 左右のAltを英字/日本語のIME切り替えに割り当てる
- keyhac: カーソル移動、AltをCmd代わりに使う
AutoHotKeyは「すり抜け」という問題がある。
例えば Ctrl + N
を ↓
キーにマッピングしている時、 Ctrl + N
を押しっぱなしにしていると、たまに N
が入力されてしまう。
すり抜けについては以下のブログ記事が詳しい。
AutoHotkey:キー押しっぱなし病・ホットキーすり抜け病対策の研究
これではカーソル移動に使うにはちょっと厳しいので、keyhacと兼用することにした。 AutoHotKeyはIME切り替えにのみ使うので、AHK本体ではなくこちらのパッケージを使っている。
GitHub - karakaram/alt-ime-ahk
keyhacはPythonで設定を書けるので便利。 MSI GS65 Stealthでは、AltがほぼmacでいうCmdの位置にあるので、よく使うショートカットではCtrlとして使えるようにした。 郷に入っては郷に従えという言葉もあるが、MBPを触ったあとにWin機を触るとマジで入力ミスりまくって仕事にならないので……。
しかし、AltをCtrlに割り当てると、Ctrlが押しっぱなしになってしまう現象が発生した。 仕方ないので、CtrlのKeyUpも一緒に入力することで対処している。
# Ctrl押しっぱなしになってしまうので、Ctrlをもう一度押して解除する関数 withC = lambda x: (x, "D-Ctrl", "U-Ctrl") # Alt as Command keymap_global[ "A-C" ] = withC("C-C") # Copy keymap_global[ "A-V" ] = withC("C-V") # Paste keymap_global[ "A-F" ] = withC("C-F") # Find keymap_global[ "A-T" ] = withC("C-T") # New Tab
keyhacの設定ファイルはこちら: https://gist.github.com/fand/91f090a41639e65a16bf807631fe24af#file-config-py
シェル
ConEmu + PowerShell。 oh-my-poshっていう、oh-my-zshのPowerShell版みたいな奴も使っている。
WSL + bashを使っていないのは、Windowsでの開発方法や文化を学びたいから。 僕はAtomパッケージを作ってるんだけど、ネイティブ拡張や外部アプリケーションとの連携でWin特有の問題が発生することがあり、そういうのを学ぶにはできるだけPowerShellとかcmd.exeを使ったほうが良い。 あと、WSL上のgitでUnityプロジェクトを管理するといかにもぶっ壊れそう、という理由もある。
当初、Cmderって奴がイケてると聞いて、↓の記事を参考にCmderをセットアップしたんだけど、Powerlineでカーソルがずれる問題がどうしても直せない。 (ググると「monospaceのチェックを外せ」と出てくるが、効果なし)
PowerShell, Cmder / ConEmu, Posh-Git, Oh-My-Posh, Powerline Customization · GitHub
CmderはConEmuのラッパーなのだけど、ConEmuを直接起動するとカーソルがずれる問題は発生しないことがわかったので、以降はConEmuを利用している。
スタートアップにConEmuを登録し、 Alt + Space
で表示するようにした。
(MSI GS65の Alt + Space
はMBPの Cmd + Space
と同じ位置)
MacではGitプロジェクトをghq + pecoで管理し、Ctrl + ]
でレポジトリの絞り込みができるようにしていた。
PowerShellではキーバインドで関数呼ぶのが難しそう?なので、 gh
コマンドでレポジトリを絞り込みできるようにした。
function gh () { cd $(ghq list --full-path | peco) }
PowerShellのプロファイルはこちら: https://gist.github.com/fand/91f090a41639e65a16bf807631fe24af#file-powershell_profile-ps1
エディタ
普段使いはAtomでいいんだけど、C#では使い物にならず、Unity開発ではVSCodeを使っている。
C#には、様々なエディタでIntelliSenseによる補完が使えるようになるomnisharpというプロジェクトがある。 Atomではomnisharp-atomというパッケージで補完が効くようになる……はずなんだけど、一年くらいメンテが停止しており、動かなくなってしまっている……
Visual Studioはなんか性に合わなかったので、結局VSCode + omnisharpでC#開発してる。 他の言語ではやはりAtomの方が快適なので、Atomも併用。
その他
ランチャ
Macでは Alt + Space
でSpotlightを表示できるようにしている。
MSI GS65の場合、同じ位置にあるキーは Win + Space
になるんだけど、Windowsでは Win + Space
がIME切り替えに登録されており、変更できない(!)。
Woxを試してみたりしたけど、他にしっくりくるキーバインドが無いのと設定が面倒なので、使うのをやめてしまった。 結局スタートメニューをランチャとして使っている。
なんか良い方法ないかな……keyhacで Win + Space
を上書きしたらええんかな……
スタートメニュー
デフォルトで表示されてるパネル邪魔すぎるので全部消して、よく使うやつだけ登録し、サイズも最小になるようにした。 Classic Shellってやつも試してみたけど、表示がもっさりしたり、タスクバーが隠れなくなったりする問題があるのでやめてしまった。
フォント
フォント汚くて目がチカチカするのでMacTypeを使っている。 大昔にも使ってたけど、まさか2018年にもなってMacTypeを使うことになるとは…………
デスクトップ
VJパフォーマンス中の万一の事故に備え、壁紙を真黒にし、デスクトップのアイコンをすべて非表示にした。
仮想WebCam
ビデオ入力を用いたシステムのテストにはManyCamを利用する。 デスクトップのキャプチャや動画ファイル、Youtubeの映像を仮想WebCamとして使えるようになる。
キーボード
— amagi (@amagitakayosi) August 22, 2018
MSI GS65 Thinは設定でキーボードの光り方を変更できる。 テンションを上げたい時に便利。
他にいいTipsあったら教えてくれ~~~~~~~~