vimからpowershell

set shell=C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

としておくと色々うれしい。

:r !Get-Date

で日時挿入。

:r !ls $doc -directory -recurse *hoge* | % fullname

でリンク集完成。
(パス名上でgfでそのファイルを開く。フルパスでなくてもvimのpath変数から名前解決してくれる。空白文字を含む時はVで行選択してgfでOK。)

:sh

PowerShell起動。

:!{command}

PowerShellのコマンド実行。

1点残念なのは、PowerShellコマンドに入力を渡す時だ。

:w !{command}

とすると

発生場所 行:1 文字:5
+ {command} <C:/Users/foo/AppData/Local/Temp/VIi890A.tmp
+           ~
演算子 '<' は、今後の使用のために予約されています。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordEx
   ception
    + FullyQualifiedErrorId : RedirectionNotSupported

と怒られる。一時ファイルを作って'<'で入力しているらしい。入力を渡すvimスクリプトを書けば済む話かもしれないが。