🦀

uutilsでPowerShellを快適にする

に公開

uutilsでPowerShellを快適にする

Windowsでの開発、シェルは何を使っていますか?
VSCodeなどのエディタのターミナルはデフォルトではPowerShellになっているはずです。[^年単位でVSCode使ってないのでうろ覚え...]
しかし、普段からWSLで開発しているとPowerShellのコマンドがcoreutilsと違って苦労することが結構あります。

というわけで、uutils/coreutilsでcoreutilsをPowerShellで使えるようにします。

やり方

uutils/coreutilsをインストールします:

$ cargo install --git https://github.com/uutils/coreutils

以下をPowerShellの$Profileに追加します(場所はecho $Profileで確認してください):

$coreutils = @("rm", "cp", "mv")
foreach ($cmd in $coreutils) {
  if (Test-Path "alias:$cmd") {
    Remove-Item "alias:$cmd" -Force
  }

  $functionName = $cmd
  $functionBody = {
    coreutils $MyInvocation.MyCommand.Name @args
  }.GetNewClosure()

  Set-Item "function:$functionName" $functionBody
}

とりあえず使いそうなものを$coreutilsに入れています。lsllezaに向けたり、catbatに向けたりする場合も置いておきます:

# 単純な置換で済む場合はこれでOK
Set-Alias ls eza
Set-Alias cat bat
function global:ll {
  eza -al @args
}

おわりに

uutilsはいいぞ。ありがとうございました。

GitHubで編集を提案

Discussion