『ヘルシープログラマ』

ヘルシープログラマ ―プログラミングを楽しく続けるための健康Hack

ヘルシープログラマ ―プログラミングを楽しく続けるための健康Hack

エンジニア視点で健康を改善するにはどうしたら良いか、が書いてある本。

基本はテスト⇒改善⇒再テストを継続してやっていくことで品質を上げていこうという考え方が基本になっている。

そのうえでプログラマにありがちな健康問題への対策や、どうやって継続するかについてのアドバイスなどが書かれている。

一つ一つの対策に目新しいものはないけれど、プログラマのみならず健康を手に入れるためのシステムが欲しい人にはちょうど良い本だと思う。

※あくまで健康になるための本で、ダイエット本ではない。

Kaoriya版のVimにプラグインを導入する

Kaoriya版のVimプラグインを導入するためには、vim74-kaoriya-win64フォルダの下のpluginsフォルダにプラグインのファイルを一式配置する*1

また、プラグインのテスト等をするために、vim74-kaoriya-win64以下にvimfilesフォルダを作成しておくと、vim74-kaoriya-win64/pluginsより優先して読み込んでくれる。

*1:どうやらpluginsフォルダ直下のフォルダを起動時にruntimepathに追加してくれているようで、サブフォルダを作っても読み込んでくれる

VimでPowershellのコマンドを使う。

vimrcの設定に以下の記載を追加することで":!"したときのコマンドをPowershellに変更できる。

"Vimで使用するコマンドをPowershellに変更する
set shell=powershell.exe

残念なことに、コマンドの補完は効かない。

Powershellで印刷を自動化したい

Powershellで印刷したいとき、例えば以下のようにStart-Processコマンドを利用する手がある

#カレントディレクトリのすべてのファイルに対して印刷を試みる
>ls | %{Start-Process -FilePath $_ -Verb print -Wait}

いろいろ欠点はある。

  • 細かな設定はできない*1
  • -Verb printできるかはファイル次第で、調べるには以下のようにする
>$startExe = new-object System.Diagnostics.ProcessStartInfo -args PowerShell.exe

>$startExe.verbs
open
runas

ただ、ちょっとした事務作業を効率化するのにはすごく便利。

参考

Start-Process

*1:もしやりたいときは、愚直にPowershellからソフトのコマンドを呼ぶしかない。ExcelとかWordとか

遅延環境変数の展開を利用する際に、エクスクラメーションマーク(感嘆符)をエスケープする

遅延環境変数の展開を利用する際に、ハット記号(^)を使うことでエクスクラメーションマーク(感嘆符)=「!」をエスケープすることができる。

背景

遅延環境変数の展開を利用すると「!」は変数の展開に使うための記号となるため、文字列変数中の「!」が正しく利用できない。

対策

たとえば以下のようなバッチを作成する

@echo off
setlocal enabledelayedexpansion

set ESCAPED="escaped^!"
set UNESCAPED="unescaped!"

echo !ESCAPED!
echo !UNESCAPED!

endlocal

実行すると以下のような結果になり、エスケープできていることがわかる。

>test.bat

"escaped!"
"unescaped"

まあ、いまどきbatかって気がしますけれども……