過去の記事からもわかるように、僕はmarkdownからhtmlやpdf等に変換する際に、pandocだけでなく、sedも組み合わせてシェルスクリプトやバッチファイルを作る。
Windows環境の場合、これまではsed for Windowsをインストールして、バッチファイルにsedコマンドを並べて処理していた。しかし、 gnuwin32のsedコマンド使用時に半角記号や文字コードで気をつけること - Qiitaでも紹介されているように、同じsedのはずなのに、一部の記号について、Linuxのシェルスクリプトに書いたsedでは問題なく置換してくれるものが、Windowsのバッチファイルに書いたsedではエスケープをつけないと置換してくれない(またはエスケープ方法が分からない)というような状況になっていた。
もういいかげん面倒くさくなってきたので、LinuxでつくったシェルスクリプトをそのままWindowsでも実行したい!!ということで、 CygwinをWindowsに導入して、WindowsでもLinuxのシェルスクリプトを実行できるようにした。
ちなみにストレージ容量が小さいポータブックでできるように、近年話題のWindows Subsystem for Linux(WSL)は導入しなかった。
目次
- 目次
- Cygwin のインストール
- PATHを通して、コマンドプロントでもLinuxコマンドが使えるようにする
- 今いる場所でCygwin Terminal を開く
- Cygwin Terminal (mintty)の行間設定
Cygwin のインストール
インストールの仕方は、 さよならコマンドプロンプト!UNIXコマンドをWindowsで実行すべくCygwinを導入 あたりを参考に。
インストールの際、chere を追加しておけば、後の作業がはかどる。
公式サイト:Cygwin Installation
PATHを通して、コマンドプロントでもLinuxコマンドが使えるようにする
PATHを通しておけば、WindowsのPowerShellやコマンドプロンプトからでも、Cygwinに含まれるコマンドが使えるのでいろいろ便利。
コントロールパネルの「環境変数を編集」で、インストールされたcygwinのbinフォルダ(例「C:\cygwin64\bin」)を追加すればOK。
今いる場所でCygwin Terminal を開く
Ubuntuで僕がよく使う、ファイルマネージャーで今、開いているディレクトリ(フォルダ)内で右クリックして「端末で開く」ってやつのCygwinバージョン。
Cygwin Bashをエクスプローラー右クリックで任意のディレクトリをカレントにして起動する方法 - Engineer's Notebookに書いてある通り。
1.Cygwinのインストール時にchereをインストールしていなかったら、もう一度セットアップexeをクリックしなおして、chereをインストール。
2.Cygwin Terminal のアイコン上で右クリックして「管理者として実行」。
3.Cygwin Terminalが開いたら、以下を実行。
$ chere -ian -e "Cygwin Terminal で開く" -t mintty
これで、右クリックメニューの中に「Cygwin Terminal で開く」が入っている。
Cygwin Terminal (mintty)の行間設定
Cygwin Terminal (mintty)の行間が狭いので広げたい。
.minttyrc
というファイルが設定ファイルなので、その中に
RowSpacing=5
などのように設定する。