Web系エンジニアのWindows機の環境設定メモ

# はじめに

自宅のPCがWindows10+GeForceGTX650Ti+Firefoxで落ちまくって日常使用に耐えない状態になってしまったので、グラボを買い換えるかnVIDIAが実用に耐えうるドライバを出すまでの間、Windows7に戻すことにした。~~グラボが古いだけ疑惑~~
しかしその過程で開発ツール類がほとんど入ったUSBメモリのデータが全部すっ飛んで大惨事。
この記事は、環境リセットついでに導入しているソフトウェアや設定をざっと記録しておく、言ってしまえば個人用のメモである。
チラシの裏だけど見たい人も意外と周囲にいそうだったので、とりあえず公開する。  

## 対象読者

わたくし
Web系のエンジニアがどんな環境構築をしているかをちょっと見てみたい方

## 筆者スペック

* Web系エンジニア(主にPHP。RubyやC#などを大体業務外で使っている。Pythonはこれから触る)
* 会社員だったりフリーランスだったり
* 勤務先が複数→ツールや設定はなるべくUSBメモリ(暗号化)に保持したい
* 自宅/仕事ともにOSはWindows7 x64。自宅ノートではLinuxMintに手を出し始めたが手が追いついていない

# インストールしたもの

## プログラム/スクリプト/IDE

各PCにインストール。とりあえず片っ端から放り込んで、それぞれにパスを通しておく。
RubyInstallerが指定されているのは、Seleniumを試していてその周りの兼ね合い。

* PHP
* Ruby(RubyInstaller)
* node.js
* Python
* VisualStudio
* JDK

## エディタ類

### SublimeText

メインエディタ。スクリプト類は全てSublimeで書いている。
Markdownを書くのにも使っている。メモ書きと少しの文法から整ったHTMLが出力されるのはやはり便利。
EvernoteはMarkdown解釈できるけど公式クライアントだと行末空白消えるしタブ幅が5とか謎すぎるが、Sublimeから編集するようにすれば全てうまくいく。
コード入力補完とリアルタイムでの構文チェックが可能で、動作が軽いのがよい。
インストールしたパッケージは以下。

| パッケージ名 |概要|備考|
|----------------------|--------------------------------|------------------------|
| Package Control| パッケージ管理 | 必須 |
| IMESupport | 日本語入力 | 必須 |
| ConvertToUTF8| 文字コード | 必須 |
| SublimeCodeIntel | コード入力補完 | Rubyを追加しておく |
| SublimeLinter| コード構文チェック ||
| SublimeLinter-php| コード構文チェック ||
| SublimeLinter-jshint | コード構文チェック ||
| SublimeLinter-ruby | コード構文チェック ||
| Sublimerge Pro | 2つのファイルを比較||
| TrailingSpaces | 行末の空白を削除など | 後述 |
| OmniMarkupPreviewer| Markdownプレビュー ||
| Monokai Extended | Markdownシンタックスハイライト ||
| Markdown Extended| Markdownシンタックスハイライト ||
| Markdown TOC | Markdown目次自動生成 ||
| Table Editor | Markdownテーブル記述 ||
| Theme - Nil| テーマ ||
| Theme - Flatland | テーマ | カラースキームのみ使用 |
| Evernote | Evernote連携 ||
| Random Everything| ランダムデータ作成 ||
| InsertDate | 日時を挿入 ||
| BracketHighlighter | 括弧の強調表示 ||
| Smart Delete | 次行頭のスペースを削除 ||
| Emmet| HTML/CSSの入力補助 ||
| DataConverter| CSVをコンバート||
| TortoiseSVN| バージョン管理 ||
| TortoiseGit| バージョン管理 ||
| DocBlockr| コメント入力補助 ||
| FindKeyConflicts | ショートカット重複チェック ||

### EmEditor

サブエディタ。G級のlogファイルも雑に開けるのが強み。
あとはCSVやTSVを開くと間隔が揃っていて見やすいので、主にこれらを開くときに使っている。

### ATOK Passport

日本語入力はやはりATOKが強い。ポータブル版はないけどやはり手放せない。
自動登録は誤入力時に登録されるのが煩わしくて切っているが、学習はなかなか有用なのでそのまま。
全角/半角は遠いので、変換/次候補に同機能を割り当て。
F7は遠いので無変換はカナ変換、F10も遠いのでShift+無変換は半角英字変換にしている。

## インターネット

### Firefox

メインブラウザ。主にChromeに代替機能がないTabMixPlusとVimperatorのせい。
インストールしたアドオンは以下。

|アドオン名 | 概要 | 備考 |
|-------------------------------|--------------------------|------------------------------------------|
| Adblock Plus| ポップアップ抑止 ||
| All-in-One Sidebar| サイドバー表示 ||
| AutoPagerize| 自動ページャ | Googleのインスタント検索はOFFにしておく|
| Configuration mania | about:configいじり ||
| DNS Flusher | DNSリロード||
| Evernote Web Clipper| Evernote連携 ||
| Firebug | デバッグ ||
| FireGuestures | マウスジェスチャー ||
| FireMobileSimulator | 携帯表示確認 ||
| FireShot| スクリーンショット ||
| Google Translator for Firefox | ページを翻訳 ||
| Live HTTP Headers | ヘッダー確認 ||
| Status-4-evar | 下部のステータスバー表示 ||
| Tab Mix Plus| タブ制御 ||
| Vimperator| キーボード操作 | 詳細は後述 |
| Xmarks| ブックマーク同期 | 未整理のブックマークに何か入れておくこと |
| テキストリンク| aタグのないリンクを起動||
| プライベートタブ| タブをプライベート化 ||

Vimperatorの設定はここに書き切れないので、詳しくはこちら。
[今更Vimperator入門とvimperatorrc晒し - Qiita](http://qiita.com/highdrac/items/4f48fda72520ac3546f5)

### GoogleChrome

サブブラウザ。主に動作検証などに使用している。
インストールした拡張機能は以下。ほぼFirefoxとかぶるので概要は省略。
Googleアカウントでの同期は全部カットしておく。
特にブックマークはXmarksで行うので、カットしないと無限増殖する。

* AutoPagerize
* FireMobileSimulator for Google Chrome
* FireShot
* Gesture for Google Chrome
* HTTP Headers
* Incognito This Tab
* Web Developer
* Xmarks Bookmark Sync

### Thunderbird

メーラー。
Firefox使いなのでメーラーはThunderbird。特に凝ったことはしていない。

### Putty

SSHクライアント。
設定の保存と読み込みがわかりにくいので注意。Default Settingsに基本設定を保存して、そこから各サーバの設定を作っていくのがおすすめ。
pagent.exeのショートカットを作って引数に秘密鍵を指定すると、ショトカ起動時に鍵を自動読み込みするので楽。
コマンドラインオプションに設定のロードとユーザ名の指定があるので、ランチャーから起動時に指定する。

### WinSCP

SCPクライアント。リモートのファイルをエディタなどで開いて保存するとそのままアップロードまでされるのが楽でよい。
デフォルトでは隠しファイルが非表示なので注意。
一般ユーザからsudoが必要なファイルを編集したい場合は、SFTPサーバ周りの設定をいじると可能になる。

### HeidiSQL

SQLクライアント。SSHトンネルができたり軽かったりなどの要件を満たすものは意外と少ない。
このソフトは安定性とキーボード操作にやや難があるが、それ以外の問題は概ね解決してくれる。

### Avira

インターネットのカテゴリに入れるのは微妙かもしれないがアンチウィルス。
軽いし割と優秀、無料で言うことなし。

## ランチャー

### PocketLaunch

コマンド型のランチャー。
基本的な使い方は、「ホットキーを押す→コマンドを叩く→登録してあるプログラムが実行される」というもの。慣れるとこの手のものが手放せなくなる。
ほとんどのツールの起動、各SSH/SFTP/MySQLサーバへの接続、ディレクトリを開くショートカットなどを登録してある。しめて100種類くらい。
Command.datをエディタで開くと設定画面を使わずに設定変更が可能だが、起動していると終了時に上書きされることに注意。

## ファイル・ドキュメント類

### VeraCrypt

ファイル/ドライブの暗号化ツール。一度マウントすれば意識せずに使用可能。
開発ツール類は入れられる限りUSBメモリに入れて持ち運んでいる。サーバの秘密鍵なども入っているので暗号化が必須。
PIMはデフォルト値が高くてマウントに時間がかかるので、全力セキュリティ確保でもなければ低い数値を使うとマウントが早くなってよい。

### As/R

ファイラ。キー1つで各種操作が行えるコマンドモードと頭文字を入力して検索するインクリメンタルモードを切り替えて使用する。
コマンドモードと付随している拡張機能が強力で軽量。
コマンドモードで追加/変更したのは今のところこんな感じだけど、頻繁に変更している。
ポータブル版の登場が望まれる。

| キー | 操作 |
|------|----------------------------------------------|
| D| 現在アクティブになっているウィンドウを閉じる |
| G| ---|
| H| 前のタブに切り替え |
| J| ファイルタイプを指定して新規作成します |
| K| 拡張フォルダ作成 |
| L| 次のタブに切り替え |
| N| 拡張リネーム |
| O| 新規にウィンドウを作成 |
| P| ---|
| Q| 現在のフォルダーからコマンドプロンプトを起動 |
| R| 最新の情報に更新 |
| S| 拡張ショートカット作成 |
| T| ファイル名のコピー |
| U| 以前閉じたタブを再度開く |
| Y| ファイル名のコピー |
| F1 | ---|
| Esc| インクリメンタルサーチモードに切り替え |

なお、キーコンフィグはCommandMode.keyとSerchMode.key(何故かスペルミスってる)に保存されている。

### Dropbox

ご存知クラウドストレージ。
自宅以外ではポータブル版のDropboxAHKを使用。
無料プランでも30日以内のバージョン履歴が残るので、自鯖で日次バックアップを放り込むスクリプトを書いて保存している。
選択型同期とアップロード速度制限解除は忘れずに。

### Googleドライブ

こちらもクラウドストレージ。
Dropboxと比べると、無料容量が多い/有料プランが段階的/Googleドキュメントとの親和性が強み。
ただしポータブル版はなさそうなので、自宅のみでアーカイブとして使用。

### Evernote

ドキュメント共有。
Sublimeから直接検索/編集できるようになったので、クライアントはあまり使わなくなったがとりあえず入れてある。
自宅以外ではポータブル版を使用。

## バージョン管理

### TortoiseGit / TortoiseSVN

プロジェクトによって使い分け。
個人ではGitのリモートリポジトリをDropbox内に設置している。

## ユーティリティ

### AlwaysMouseWheel

バックグラウンドのアプリをスクロールさせることができるやつ。
意外と操作性に影響が出るので、ポータブルが地味に嬉しい。

### Clibor

クリップボード履歴。
この手のツールはクリップボードを別のものに上書きして悶絶する人は必携。
定型文も登録できるのが特徴。

### TeamViewer

PCのリモートコントロール。私用専用。
基本的には自宅内のみの使用だけど、外から自宅のPCを動かしたいときに有用。

## コミュニケーション

### Slack

最近イチ押しのコミュニケーションツール。
LINEなどと比べてカスタマイズ性が高いし、他サービスとの連携が豊富。
GoogleAppsScriptと繋ぎこむと、ホスティングを任せた状態で簡単なBOTが作れていい感じ。

### Skype

主に業務連絡。
Windows10のタブレットにインストールしたらSkypeのウィンドウが閉じられなくなった。許さん。
というわけでポータブル版でインストール。これなら確実に閉じられるはず。

## マルチメディア

### AudioSwitcher

ホットキーで再生デバイスを切り替えることができる。
スピーカーとヘッドセットの切り替えが地味に面倒だったのでこれを入れたら楽になった。

### honeyview

画像ビューア。rarや7zの中身もお手軽に表示できる。

### Paint.net

画像レタッチ。機能の割に軽量でポータブル版もあり。
ちょっとした説明の図とかをぱぱっと作るのに重宝する。

# まとめ

一式だいたい整ったので、もう満足しました。
また、他の有用なソフトウェアや、これらの機能をLinuxMintで再現できるという情報を募集しています。
特にSublimeTextの日本語入力切り替えを変換キーで行う方法は強く求めています……