windowsをwindowsのままで使う開発環境備忘録

#はじめに
この記事はwindows上で開発をする際 Cygwin も仮想環境も使わずに、 **できるだけ Windows を Windows として使う** 事を前提に開発環境を整えた時の備忘録です。と、言っても今パソコンに入ってるものを拾っていってるので **時系列メチャクチャ** ですし、最近は何でもインストーラがあるか、バイナリ置くだけなので「何入れた」って書き並べて行くだけだと思いますが。思いついたら後から後から足していく予定です。
#エディタ
[Emacs gnu pack](http://sourceforge.jp/projects/gnupack/)と[サクラエディタ](http://sakura-editor.sourceforge.net/)です。なんで二つもって思うかもしれないですが、「GUI上から粗末なファイル開いてちょっとだけ編集」ってのはサクラエディタの方が楽なんですよね。なので両方。

## Emacs
とりあえず[YaTeX](http://www.yatex.org/)は手動でどこかに入れます。
elispはこんな感じで。

```el:init.el
;; set encoding UTF-8
(modify-coding-system-alist 'process "gosh" '(utf-8 . utf-8))

;; load mode files
(set-default-coding-systems 'utf-8)

;; (add-to-list 'load-path "C:\\emacs-24.3\\added-el")
(setq load-path (cons "C:/emacs-24.3/added-el" load-path))
(setq load-path (cons "C:/emacs-24.3/added-el/yatex1.77" load-path))

;; スタートアップメッセージを非表示
(setq inhibit-startup-screen t)

;;フォント設定
(set-face-attribute 'default nil 
		    :family "ＭＳ ゴシック"
		    :height 90 )

;; (other mode)

;; org-mode
(setq auto-mode-alist
      (cons (cons "\\.org$" 'org-mode) auto-mode-alist))

(setq auto-mode-alist
      (cons (cons "\\.txt$" 'org-mode) auto-mode-alist))

;;(autoload 'text-translator "text-translator" "Text Translator" t)
(require 'text-translator)

(global-set-key "\C-x\M-t" 'text-translator)
(global-set-key "\C-x\M-T" 'text-translator-translate-last-string)

(setq text-translator-auto-selection-func
      'text-translator-translate-by-auto-selection-enja)

;; グローバルキーを設定
(global-set-key "\C-xt" 'text-translator-translate-by-auto-selection)

;; for lua-mode?
(autoload 'lua-mode "lua-mode" "Lua editing mode." t)
(add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode))
(add-to-list 'auto-mode-alist '("\\.anm$" . lua-mode))
(add-to-list 'auto-mode-alist '("\\.obj$" . lua-mode))
(add-to-list 'interpreter-mode-alist '("lua" . lua-mode))

(require 'coffee-mode)
(add-to-list 'auto-mode-alist '("\\.coffee$" . coffee-mode))
(add-to-list 'auto-mode-alist '("Cakefile" . coffee-mode))

(setq auto-mode-alist
      (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)

(recentf-mode 1)

;;; *.~ とかのバックアップファイルを作らない
(setq make-backup-files nil)
;;; .#* とかのバックアップファイルを作らない
(setq auto-save-default nil)

;; auto complete mode
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/added-el//ac-dict")
(ac-config-default)

(setq windmove-wrap-around t)
(windmove-default-keybindings)

(require 'package)
;; MELPAを追加
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
;; Marmaladeを追加
(add-to-list 'package-archives  '("marmalade" . "http://marmalade-repo.org/packages/"))
;; 初期化
(package-initialize)

;; yatex-mode 

(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) 
;; *.texの拡張子をもつファイルを開いた場合、自動的にyatexを起動 
(setq auto-mode-alist 
    (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(setq YaTeX-inhibit-prefix-letter t)

;; web-mode
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.[gj]sp\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
;;; インデント数
(defun web-mode-hook ()
  "Hooks for Web mode."
  (setq web-mode-html-offset   2)
  (setq web-mode-css-offset    2)
  (setq web-mode-script-offset 2)
  (setq web-mode-php-offset    2)
  (setq web-mode-java-offset   2)
  (setq web-mode-asp-offset    2))
(add-hook 'web-mode-hook 'web-mode-hook)

```

## サクラエディタ
右クリックからのショートカットぐらいは追加しておいた方がいいです。

#コンソール
##エミュレータ
Cygwinを使わないのでコンソールエミュレータぐらいは入れましょう。私が使っているのは[ConEmu日本語版](http://sourceforge.jp/projects/conemu)です。特別な設定は無し。背景を変えたぐらい。

##alias他を無理矢理実装
[Windows 7のコマンドプロンプトをカスタマイズする(マイナビ)](http://news.mynavi.jp/articles/2011/07/05/commandline/004.html)を参考にマクロを登録。とりあえず最初としてファイルの内容は以下。

```bat:macros.txt
alias="C:\Program Files (x86)\sakura\sakura.exe" "%userprofile%\macros.txt"
cat=type $*
history=doskey /history
ll=dir $*
emacs="C:\emacs-24.3\bin\runemacs.exe" $*
sakura="C:\Program Files (x86)\sakura\sakura.exe" $*
touch=if exist $1 ( copy /b $1 +,, ) else (type nul >> $1)
exp=if "$1"=="" ("C:\windows\explorer.exe" .\ ) else ("C:\windows\explorer.exe" $1)
```

ついついコンソール上で入れてしまう単語と、エディタへのエイリアスと、あとはカレントディレクトリを即座にGUIで開けるような。パス通してもいいんですがビミョーに名前が違うのでこれでいいかと。
この方法だとコンソール再起動するまで alias 反映されないしコマンドライン上からは消せないしで若干使い辛いですが、まーまー。

#Java
##IDE
~~Emacs~~ Eclipse入れちゃう。そこから先は適当に。
## maven
バイナリを適当なところに配置する。
#TeX
[TeXインストーラ 3](http://www.math.sci.hokudai.ac.jp/~abenori/soft/abtexinst.html)で必要な物は全て入ります。便利すぎて鼻血が出ます。
#ruby
インストーラでぽちぽち。
#Haskell
[GHC](http://www.haskell.org/ghc/)のWindowsバイナリを適当なところに入れます。