Open9

休日windows環境を開発できるくらいに整えてみた(完全に備忘)

ksmloksmlo

ひとまず、chocolatery/scoopはいれてみる。
https://chocolatey.org/
https://scoop.sh/

あと解凍ソフト入っていなかったのでlhaplus(いれていなかったほうが驚き)
https://forest.watch.impress.co.jp/library/software/lhaplus/

homebrewみたいにまとめて欲しいのは思いながら、どっちもあることで双方使えるものをいれていく。
基本はchocolateryに任せる。
(ちなみに、scoopのみだったのは、conctgくらいかな)

あと、キーマップがmacデフォに慣れすぎているので、変更
https://forest.watch.impress.co.jp/library/software/changekey/

alfredをmacで使っているので、それっぽいのをいれる
https://github.com/Wox-launcher/Wox

ターミナルエミュレーターはalacrittyを使用。iTerm2をいつも使っているのですが、これを機に乗り換えるかも。。
Rust勉強して、トレンドにでてたから結構気になってたとこある。
https://github.com/alacritty/alacritty
参考: https://www.asobou.co.jp/blog/web/alacritty

設定するために

%APPDATA%\alacritty\alacritty.yml

をいじっていく。

デフォルトは以下にあるので、とってきていじるとキレイに設定できるはず。
(opacityだけduplicateされているので、window.opacityに変更する)
https://github.com/alacritty/alacritty/blob/master/alacritty.yml

カラーテーマはSolarized Dark
https://github.com/alacritty/alacritty/wiki/Color-schemes

powershellのテーマ設定はほぼ以下URLで設定しました。
https://qiita.com/maxfie1d/items/25caf517f9ffd80b6574
solarized dark設定で合わせています。

あと、管理者に切り替えるの面倒なので、コマンドも導入
https://qiita.com/_masa_u/items/a799745d70b30c32a03b

Clipyをmacで使っているので、大体でclipclipをいれてみた。
他のソフトもあるので、ひとまずという感じですね。
https://clipclip.com/

あと、気になっていたスクロールがmacと逆問題は以下URLで解決
https://simple-was-best.com/blog-entry-windows-10-mouse-wheel-reverse.html

この時点でかなりmacのいつもの感じでの実装ができるようになりましたが、neovim/tmux設定がまだできていないので、今後そちらを載せていきます。

ksmloksmlo

neovimをひとまずいれる

choco install neovim -y

でOK

いつも、macだとエイリアスでviとするとnvimになるように設定をしているので、aliasを設定。
http://www.vwnet.jp/windows/PowerShell/2020100601/PsAlias.htm

config系はまた後程

あと、powershell coreを導入
https://github.com/PowerShell/PowerShell#-powershell

こういうとこ知らなかったので、いろいろ見ていて「おや?」って気づいてよかったです。
powershellも結構モダンな状態にカスタマイズできるのはかなりの驚きです!
色々OS触ってみるのは意味ありますね。。

それに合わせて、alacrittyのshell設定も変更

shell:
  program: /Program Files/PowerShell/7/pwsh.exe

最後にtmux入れようと思ったら、ないんですね。。

ただ、windows terminalというものを発見。浮気の予感
https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab

今日はここら辺までで。

ksmloksmlo

alacrittyをいれていたけど、windows terminalでよさそう。。
キーバインドをtmux likeにすれば、やりたいこととしては完結しそう。
https://qiita.com/rubytomato@github/items/e88cab84f36e44797cf2

その中でnvimいれてコーディングできれば基本問題はなさそう。
テーマ設定などもろもろやってみてで、対応検討したいと思います。

ksmloksmlo

nvimのconfigをコピペしてみた。
vim-plugをいれると大体問題なく動く(すばら。。)
https://github.com/junegunn/vim-plug

cocだけ

: call coc#util#install()

https://github.com/neoclide/coc.nvim

LSPとかも使うもの一気にいれる。ocamlだけ勝手が違うので別途入れる。

あと、git使って思ったのが、gituiいれてない。。
いらんといえばいらないけど、いれてみる。

gsudo choco install gitui

https://github.com/extrawurst/gitui

問題なく動く!

ksmloksmlo

ひとまずoh-my-poshいれて、oh-my-zshみたくしてみる。
https://ohmyposh.dev/

Install-Module -Name oh-my-posh 

font faceが以下URLのものしか使えなくなるので、ご注意を
https://www.nerdfonts.com/font-downloads
自分はRobotoにしました。

あとテーマ設定については
https://ohmyposh.dev/docs/themes
から見てみて、

> vi $PROFILE

から設定ファイルを開いて

Set-PoshPrompt -Theme powerlevel10k_lean

を追加させます。

結果的に設定ファイルへの記載は

if($env:WT_PROFILE_ID){
    # 起動時にoh-my-poshを使用する
    Import-Module oh-my-posh
    # theme設定
    Set-PoshPrompt -Theme powerlevel10k_lean
}

というようになりました。

ひとまず、いろいろなことができそうになってきたかなと。

参考として
https://dev.classmethod.jp/articles/customize-your-powershell-console-with-oh-my-posh3/

ksmloksmlo

fzfをいれてみた
https://github.com/junegunn/fzf
あと、ウィンドウズでうまく使うためのコマンド集?みたいなやつもいれてみた。
https://github.com/kelleyma49/PSFzf

その中で、fdコマンドをdevelopディレクトリ階層のみで、開発中のものにすぐ移動できるようにgdevコマンドを作ってみる。
(fdの内容をいじるだけ)

function gdev(){
 param($Directory=$null)

    if ($null -eq $Directory) { $Directory = '~/Develop' }
    $result = $null
    try {
        if ([string]::IsNullOrWhiteSpace($env:FZF_DEFAULT_COMMAND)) {
            Get-ChildItem $Directory -ErrorAction Ignore | Where-Object{ $_.PSIsContainer } | Invoke-Fzf | ForEach-Object { $result = $_ }
        } else {
            Invoke-Fzf | ForEach-Object { $result = $_ }
        }
    } catch {

    }

    if ($null -ne $result) {
        Set-Location $result
    }
}

これですぐに行きたいディレクトリにいけるので、よかったな。
にしても、powershellはコマンド量多くなりがちな気がしているので、zshとかのほうがいいなと普通におもってしまう。。

参考: https://dev.classmethod.jp/articles/powershell-core-psfzf/

ksmloksmlo

powershellのバージョンアップがあったらしく、さくっとCLIでできないものかと思って、以下発見。

// バージョン確認
winget search Microsoft.PowerShell
// ID・バージョン確認したうえで以下実行
winget install --id Microsoft.Powershell --source winget

そんな難しくなく、特にpreviewバージョン使う必要なければ、cmd化しておいてもよさげですね。