PC環境設定

パソコンが4年ぶりに新しくなったのでセットアップ備忘録

Scoop

# install scoope
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
irm get.scoop.sh | iex

scoop install git

#scoop bucket add extras
#scoop install googlechrome

#scoop bucket add nonportable
#scoop install google-japanese-input-np

scoop install neovim
scoop install goneovim
scoop install vcredist #vcruntime140.dllがないとneovimに怒られたため

scoop install node
scoop install deno
scoop install yarn

scoop install stack
scoop install rustup
scoop install zig

scoop install hwmonitor

scoop install ripgrep
scoop install fzf

#scoop bucket add versions
#scoop install steam

sandbox

  • Windows先生に色々散らかされるのがつらいので$HOME/box以下を事実上のhomeとして運用する
  • と思ったがOneDrive以下にぶ打ち込むことにするのでやっぱなし。
#mkdir box
#cd box
#mkdir github
#mkdir downloads
#mkdir text
#mkdir memo

Dotfile

cd $HOME/Github
git clone https://github.com/kmtoki/dotfile

# require admine to make SymbolicLink
# Vim 
cd $HOME/AppData/Local
new-item -value "$HOME/Github/dotfile/nvim" -Name nvim -ItemType SymbolicLink
# Plug.vim
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force

# PowerShell
cd "$HOME\OneDrive\ドキュメント\PowerShell"
new-item -value "$HOME/Github/dotfile/profile.ps1" -Name 'Microsoft.PowerShell_profile.ps1' -ItemType SymbolicLink
winget install Microsoft.PowerShell
# In Windows Terminal config. change startup shell to "C:\Program Files\PowerShell\7\pwsh.exe"

UR22C オーディオインターフェイスのドライバー

Start up

Blog

#git config --global user.email "higumaido@gmail.com"
#git config --global user.name "kmtoki"
git clone https://github.com/kmtoki/blog
yarn install

Neovim IME

  • Neovimに乗り換えたいがはたして。IMEのオンオフをInsert modeのオンオフに絡めてくれる香り屋先生のVimが必須なんだけど、どうせNeovimにもあるだろうそうにちがいないたのむからあってくれ。
  • (あったわ。)https://github.com/iuchim/zenhanこれでいけそうたぶん。
  • ありがとうございます。
  • ついでにvimrcからneovimでは(デフォルトで設定されているやつ)https://neovim.io/doc/user/vim_diff.htmlを除去。
if has('win32')
  " zenhan. https://github.com/iuchim/zenhan
  function IMEToggle(bool)
    if a:bool
      call system(["zenhan", g:ime_state])
    else
      let g:ime_state = system(["zenhan"])
      call system(["zenhan", 0])
    endif
  endfunction

  augroup IMEToggle
    autocmd!
    autocmd InsertEnter * call IMEToggle(v:true)
    autocmd InsertLeave * call IMEToggle(v:false)
  augroup END
endif

Neovim GUI goneovim

mkdir ~/.goneovim
cd ~/.goneovim
new-item -value "$HOME/Github/dotfile/goneovim_settings.toml" -Name settings.toml -ItemType SymbolicLink

Ryzen Master

  • link
  • Ecoモードにしてみるかと思ったら設定がない、Ecoボタンがない。PBOがBIOSで無効になってるとでないらしい。あとでみる

Font

Keyboard

  • なんかキーボードが調子悪い
  • cとvとhの効きが悪い。予備のスイッチがまだ7個あるので交換する。
  • sakuriosという名前のスイッチだった気がする。重めのサイレントリニアでとても良い。
  • Preonicの予備か他のかほしいかも。押入れの奥底にDacytl mini的なやつがあったよな。作るの大変そう。

QMK Firmware

  • windowsではqmk-msysにビルドツールはすべておまかせがラク
  • 今どきqmkコマンドがあるのね
  • IMEのオンオフをするキーとしてAlt+GRVが一般的だったのがはるかかなた昔の記憶だがqmkでそれをしようと思うと以下のコメントアウトされているようなのコードになる
  • tap_code16(LALT(KC_GRV))を使うとTerminalに謎文字が余計に出力されてしまう問題がある
  • 回避策としてregister_code/unregister_codeを使うと問題なかった記憶がある
  • MS IMEではスン...とされる
  • KC_INT4/KC_INC5が変換/無変換にあたるので試すもスン..
  • 結局ぐだってCtrl+SpaceIMEのトリガーにする設定をしてQMK側もそれに合わせる
  • かなしい
case IME:
  if (record->event.pressed) {
    //if (os_mode != 0) {
    //  if (is_ime) {
    //    tap_code(JP_MHEN);
    //  } else {
    //    tap_code(JP_HENK);
    //  }
    //} else {
    //  register_code(KC_LCTL);
    //  register_code(KC_GRV);
    //  unregister_code(KC_GRV);
    //  unregister_code(KC_LCTL);
    //  tap_code16(LALT(KC_GRV));
    //}
    tap_code16(LCTL(KC_SPC));
    is_ime = !is_ime;
  }
  return false;
cd QMK_MSYS
.\shell_connector.cmd
cd ~/Github/qmk_firmware
#make preonic/rev3:kmtoki:flash
qmk flash -kb preonic/rev3 -km kmtoki

MSVC

Rust

  • GUI系のアプリなんかだとMSVCでビルドする必要があるときもある
rustup toolchain install stable-msvc

Powershell

  • scoopが通してくれるpathから見れるコマンドではシェルから独立して起動してくれないのでstartを噛ます
  • Set-PSReadLineOptionでしぬほどマシになる
  • lsの色が見にくいので他のやつ入れる
  • Get-ChildItemColor
# $PROFILE.ps1
chcp 65001 > nul
[System.Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")
[System.Console]::InputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")
$env:LESSCHARSET = "utf-8"

Set-PSReadLineOption -EditMode Emacs -BellStyle None
Set-PSReadlineKeyHandler -Key Ctrl+v -Function Paste
Set-PSReadlineKeyHandler -Key Ctrl+p -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key Ctrl+n -Function HistorySearchForward
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete

function prompt {
  "`e[34m$($pwd.path)`e[0m`n> "
}

function Start-Chrome() {
  start 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk'
}

Set-Alias v C:\Users\higum\scoop\apps\goneovim\current\goneovim.exe
Set-Alias c Start-Chrome

#Install-Module Get-ChildItemColor
Import-Module Get-ChildItemColor
Set-Alias ls Get-ChildItemColor

Windows Terminal勝手にIMEオンにする問題

  • Windows Terminalがすっかりよくできたターミナルアプリになってしまってもうこれでいいわけだが
  • アプリを開くとIMEが勝手にオンになるという仕様らしい。
  • なんでやねん。
  • たすけてzenhan.exe
  • いけたとおもったらだめだったわ
  • アプリ開くときはだめで新しくタブを開くときはこれでもいける
  • どないすんの
# $PROFILE.ps1
if (Get-Command "zenhan.exe") {
  zenhan 0
}