2012年4月3日

cygwin 1.7.11-1 + emacs 23.4.1 on Windows7 x64 の設定まとめ

-*- Mode: org ; Coding: utf-8 -*-

cygwin 1.7.11-1 + emacs 23.4.1 on Windows7 x64 の設定まとめ

* download

http://cygwin.com

から、

http://cygwin.com/setup.exe



c:\cygwin

にダウロードして、インストール開始。

* Select Packages

setup.exe を実行して、適当に[Next]だが、
後々のことを考えて、以下は追加

- [All]>[Devel]

- [All]>[Web]>[wget: Utility to retrieve files from the WWW via HTTP and FTP]

- [All]>[Libs]>[libncurses7:libraries for terminal handling (runtime)]

- [All]>[Python]

- [All]>[Ruby]

- [All]>[X11]

- [Search] に [emacs] と入れて、出てきたもの全て

* mintty option

bash を起動して、タイトルバーを右クリックし、[Option]

** Transparency

[Lock]ツリーをクリックし、Transparency を Medium に設定

** locale

[Text]ツリーをクリックし、[Locale]で[jp.JP]を、[Character Set]で
[UTF-8]を選択

** font の設定

*** MeiryoKe のインストール

メイリオ・メイリオ改・meiryoKe・ttfname3
http://web1.nazca.co.jp/hp/nzkchicagob/m2x0897/mrkta5bz.html

1. meiryo602.zip. meiryo_Kai602.zip. meiryoKe_gen_6.02rev1.zip をダウン
   ロード

2. 同じフォルダに全部入れて、meiryoKe_gen_6.02rev1.exe を実行

3. meiryo.ttc と meiryob.ttc はもういらない。削除。その他をコンパネから
   インストトール

*** 設定

[Text]ツリーをクリックし、[Font]で[Select]をクリック、MeiryoKe_Console
を選択して、12pt とし、[OK]をリリック

** Windows 設定

[Window]ツリーを選択して、[Defalt Size]で適当に変更し、OK。

** 色の設定

mintty の青色が馬鹿にみにくい

$ emacs

C-x C-f ~/.minttyrc

-------------------------------------
 *** /home/user/.minttyrc.orig    date.old
 --- /home/user/.minttyrc    date
 ***************
 *** 8,10 ****
 --- 8,26 ----
   BackgroundColour=0,0,0
   Rows=54

 + Black=0,0,0
 + Red=255,100,0
 + Green=183,234,17
 + Yellow=234,206,28
 + Blue=107,155,219
 + Magenta=237,157,185
 + Cyan=0,191,191
 + White=255,255,255
 + BoldBlack=64,64,64
 + BoldRed=255,100,0
 + BoldGreen=183,234,17
 + BoldYellow=234,206,28
 + BoldBlue=107,155,219
 + BoldMagenta=237,157,185
 + BoldCyan=64,255,255
 + BoldWhite=255,255,25
-------------------------------------

* proxy

** bash

$ cd ~
$ emacs

C-x C-f .bashrc

-------------------------------------------------------------------
 *** /home/user/.bashrc.orig    date.old
 --- /home/user/.bashrc    date
 ***************
 *** 196,198 ****
 --- 196,200 ----
   # }
   #
   # alias cd=cd_func
 +
 + export http_proxy=http://<user-id>:<passward>@XXX.XXX.XXX.XXX:YY/
-------------------------------------------------------------------


** wget

$ cd ~
$ emacs

C-x C-f .wgetrc

-----------------------
HTTP_PROXY=address:port
-----------------------

** subversion

$ cd ~/.subversion/
$ cp servers servers.orig
$ emacs &

C-x C-f survers

----------------------------------------------------------
 *** /home/user/.subversion/servers.orig date.old
 --- /home/user/.subversion/servers date
 ***************
 *** 141,148 ****
   ### due to SSL.
   [global]
   # http-proxy-exceptions = *.exception.com, www.internal-site.org
 ! # http-proxy-host = defaultproxy.whatever.com
 ! # http-proxy-port = 7000
   # http-proxy-username = defaultusername
   # http-proxy-password = defaultpassword
   # http-compression = no
 --- 141,148 ----
   ### due to SSL.
   [global]
   # http-proxy-exceptions = *.exception.com, www.internal-site.org
 ! http-proxy-host = address
 ! http-proxy-port = port
   # http-proxy-username = defaultusername
   # http-proxy-password = defaultpassword
   # http-compression = no

----------------------------------------------------------


* apt-cyg のインストール


----------------------------------------------------------

 $ cd /bin/
 $ svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/
 A    .
 A    apt-cyg
 リビジョン 18 をエクスポートしました。
 $ chmod +x /bin/apt-cyg/
 $ apt-cyg -m ftp://ftp.iij.ad.jp/pub/cygwin/ update
----------------------------------------------------------

* emacs

** font

*** init.el

;; ------------------------------------------------------------------------
;; @ Font Setting

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(blink-cursor-mode nil)
 '(column-number-mode t)
 '(cua-mode t nil (cua-base))
 '(display-time-mode t)
 '(show-paren-mode t))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(default ((t (:inherit nil :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 121 :width normal :foundry "microsoft" :family "MeiryoKe_Console")))))

** 個人的な設定

*** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ 個人的な初期設定

; 区切り文字に全角スペースや、・を含める
(setq paragraph-start '"^\\([  ・○<\t\n\f]\\|(?[0-9a-zA-Z]+)\\)")

;; startup directory
(setq default-directory "~/")

;; ファイルのカーソル内の位置を記憶
(setq-default save-place t)

;; ログの記録行数を増やす
(setq message-log-max 10000)

;; undo をいっぱい
(setq undo-limit 100000)
(setq undo-strong-limit 130000)

;; キーストロークの表示速度を上げる
(setq echo-keystrokes 0.1)

;; でかいファイルも普通に開く(デフォルトは10MB)
(setq large-file-warning-threshold (* 50 1024 1024)) ;50MB

;; いちいち yes とか無理だから y にする
(defalias 'yes-or-no-p 'y-or-n-p)

;; BS や Delete キーでリージョン内の文字を削除
(delete-selection-mode 1)

;; TAB を bacspace で消すとき、半角スペースとして消さないで、tabのまま消す
(global-set-key [backspace] 'backward-delete-char)

;; 前回編集していた場所を記憶し,ファイルを開いた時にそこへカーソルを移動
(require 'saveplace)
(setq-default save-place t)

;; 矩形選択とか便利な cua-mode
(setq cua-enable-cua-keys nil) ;;C-xでkill-regionとかになって変な感じになるので。
(cua-mode t)

;; @ クリップボード転送ができないことがある。
(cond (window-system (setq x-select-enable-clipboard t)))

;; kill-ring はテキスト属性(色情報など)を保存しなくていい
(defadvice kill-new (around my-kill-ring-disable-text-property activate)
  (let ((new (ad-get-arg 0)))
    (set-text-properties 0 (length new) nil new)
    ad-do-it))

;; 初期画面をいきなりbuffer-menuにする
(buffer-menu)

;; 括弧の対応表示
(setq blink-matching-paren t)
(show-paren-mode t)
(setq paren-sexp-mode t)
(set-face-background 'show-paren-match "royalBlue1")

;; 対応する括弧に移動のキーバインドを C-{ と C-} に変更 (C-M-f/p相当)
(global-set-key [?\C-{] 'backward-list)
(global-set-key [?\C-}] 'forward-list)

;; 行番号の表示
(line-number-mode t)

;; 列番号の表示
(column-number-mode t)

;; 時刻の表示
(require 'time)
(setq display-time-24hr-format t)
(setq display-time-string-forms '(24-hours ":" minutes))
(display-time-mode t)

;; カーソル点滅表示
(blink-cursor-mode 0)

;; スクロール時のカーソル位置の維持
(setq scroll-preserve-screen-position t)

;; スクロール行数(一行ごとのスクロール)
(setq vertical-centering-font-regexp ".*")
(setq scroll-conservatively 35)
(setq scroll-margin 0)
(setq scroll-step 1)

;; バッファ中の行番号表示
(global-linum-mode t)

;; 行番号のフォーマット
;; (set-face-attribute 'linum nil :foreground "red" :height 0.8)
(set-face-attribute 'linum nil :height 0.8)
(setq linum-format "%4d")


;; 画面スクロール時の重複行数
(setq next-screen-context-lines 1)

;; タブ, 全角スペースを色つき表示する (色名は M-x list-color-displayで調べる)
;;  http://homepage1.nifty.com/blankspace/emacs/color.html
(defface my-face-b-1 '((t (:background "red4"))) nil)                           ;全角スペースの色
(defface my-face-b-2 '((t (:background "gray6"))) nil)                          ;タブの色
(defface my-face-u-1 '((t (:foreground "MediumPurple4" :underline t))) nil)     ; 無駄な半角スペースの色
(defvar my-face-b-1 'my-face-b-1)
(defvar my-face-b-2 'my-face-b-2)
(defvar my-face-u-1 'my-face-u-1)
(defadvice font-lock-mode (before my-font-lock-mode ())
  (font-lock-add-keywords
   major-mode
   '(("\t" 0 my-face-b-2 append)
     (" " 0 my-face-b-1 append)
     ("[ \t]+$" 0 my-face-u-1 append)
     )))
(ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)

;;起動時のフレームサイズを設定する
;; *scratch*バッファを開き,(frame-width), (frame-height) と書き,C-jする
(setq initial-frame-alist
      (append
       '((width . 120)    ; フレーム幅(文字数)
         (height . 55)   ; フレーム高(文字数)
         (top . 30)    ; フレームの Y 位置(ピクセル数)
         (left . 10)    ; フレームの X 位置(ピクセル数)
         ) initial-frame-alist))

;ツールバー(アイコン)を消す
(tool-bar-mode -1)

;; 同名のファイルのバッファ名にディレクトリ名を追加する uniquify.el
(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)
-----------------------------------------------------------------------------

** software/packages

*** ddskk

**** install

 以下から拾ってくる

 Daredevil SKK (DDSKK)
 http://openlab.ring.gr.jp/skk/ddskk-ja.html

-----------------------------------------------------------------------------
 $ wget http://www.ring.gr.jp/archives/elisp/skk/maintrunk/ddskk-14.4.tar.gz
 $ wget http://openlab.jp/skk/dic/SKK-JISYO.L.gz
 $ gzip -cd ddskk-14.4.tar.gz | tar xvf -
 $ gunzip SKK-JISYO.L.gz
 $ mv SKK-JISYO.L ddskk-14.4/dic/
 $ cd ddskk-14.4/
 $ make what-where
 $ make cdb
 $ make install
-----------------------------------------------------------------------------

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ ddskk
;; http://openlab.ring.gr.jp/skk/ddskk-ja.html
;; ~/ddskk-14.4/etc/dot.emacs
;; ~/ddskk-14.4/etc/dot.skk
(require 'skk-autoloads) ; XEmacs でパッケージとしてインストールした場合は不要
(global-set-key "\C-x\C-j" 'skk-mode)
(global-set-key "\C-xj" 'skk-auto-fill-mode)
(global-set-key "\C-xt" 'skk-tutorial)

(setq skk-cdb-large-jisyo "/usr/share/skk/SKK-JISYO.L.cdb")
-----------------------------------------------------------------------------

*** auto-install

**** install

---------------------------------------------------------------------------------
~ $ mkdir ~/.emacs.d/auto-install
~ $ cd ~/.emacs.d/auto-install/
~/.emacs.d/auto-install $ wget http://www.emacswiki.org/emacs/download/auto-install.el
---------------------------------------------------------------------------------

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ auto-install.el

;; ロードパスの追加
(add-to-list 'load-path
             "~/.emacs.d/auto-install")
(require 'auto-install)
(setq auto-install-directory "~/.emacs.d/auto-install")

(auto-install-update-emacswiki-package-name t)
;; (when (y-or-n-p "ネットに繋がっていますか?")
;;  (auto-install-update-emacswiki-package-name t)) ; 通信遅れ対策

;; install-elisp.el 互換モードにする
(auto-install-compatibility-setup)

;; ediff 関連のバッファを 1 つのフレームにまとめる
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
(put 'downcase-region 'disabled nil)
-----------------------------------------------------------------------------

*** aspell

**** install


$ apt-cyg install aspell aspell-en

C-x C-f ~/.aspell.conf

-----------------------
lang en_US
-----------------------

C-x C-s

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;;ispell が無いから、 aspell を使う
(setq-default ispell-program-name "aspell")
(eval-after-load "ispell"
 '(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
-----------------------------------------------------------------------------

*** 日本語の info を導入する

**** install

M-x eshell

--------------------------------------------------------------------------
~ $ wget http://www.rubyist.net/~rubikitch/archive/emacs-elisp-info-ja.tgz
~ $ tar xzvf emacs-elisp-info-ja.tgz
--------------------------------------------------------------------------

C-x C-f /usr/share/info/dir


--------------------------------------------------------------------------

 *** /usr/share/info/dir.orig  date.old
 --- /usr/share/info/dir    date
 ***************
 *** 213,215 ****
 --- 213,219 ----
  
   GNU Emacs Lisp
   * SKK: (skk).           Simple Kana to Kanji conversion program.
 +
 + * Elisp-ja: (elisp-ja).    Emacs Lisp Reference Manual(Japanease)
 + * Emacs-ja: (emacs-ja).    The extensible self-documenting text editor(Japanease)
 +
--------------------------------------------------------------------------

**** init.el

;; ------------------------------------------------------------------------
;; @ 日本語 info をいれる
(require 'info)
;; (add-to-list 'Info-additional-directory-list "/usr/share/info")
(add-to-list 'Info-directory-list "~/info")

*** cmigemo

**** install

M-x eshell

--------------------------------------------------------------------------
~ $ mkdir download
~ $ cd download/
~/download $ wget http://hp.vector.co.jp/authors/VA000501/qkcc100.zip
~/download $ unzip qkcc100.zip
~/download $ make
~/download $ cp -p qkc.exe /usr/local/bin/
~/download $ wget http://cmigemo.googlecode.com/files/cmigemo-default-src-20110227.zip
~/download $ unzip cmigemo-default-src-20110227.zip
~/download $ cd cmigemo-default-src/
~/download/cmigemo-default-src $ chmod 755 *
~/download/cmigemo-default-src $ ./configure
--------------------------------------------------------------------------

C-x C-f /cmigemo-default-src/src/wordbuf.c

-----------------------------------------------------------------------------
 *** /home/user/download/cmigemo-default-src/src/wordbuf.c.orig    date.old
 --- /home/user/download/cmigemo-default-src/src/wordbuf.c  date
 ***************
 *** 9,14 ****
 --- 9,15 ----
   #include <stdio.h>
   #include <stdlib.h>
   #include <string.h>
 + #include <limits.h>
   #include "wordbuf.h"

   #define WORDLEN_DEF 64
-----------------------------------------------------------------------------

M-x eshell

-----------------------------------------------------------------------------
~/download/cmigemo-default-src $ make cyg
~/download/cmigemo-default-src $ cd build/
~/download/cmigemo-default-src/build $ cp cygmigemo1.dll /usr/bin/
~/download/cmigemo-default-src/build $ cp cmigemo.exe /usr/bin/
~/download/cmigemo-default-src $ export http_proxy="http://XXX.XXX.XXX.XXX:YY"
~/download/cmigemo-default-src $ make cyg-dict
~/download/cmigemo-default-src $ cd dict/
~/download/cmigemo-default-src/dict $ make utf-8
~/download/cmigemo-default-src $ cd ..
~/download $ wget http://0xcc.net/migemo/migemo-0.40.tar.gz
~/download $ tar zxvf migemo-0.40.tar.gz
~/download $ mkdir -p ~/.emacs.d/cmigemo
~/download $ mv migemo-0.40/migemo.el.in ~/.emacs.d/cmigemo/migemo.el
-----------------------------------------------------------------------------

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ cmigemo
;; ロードパスの追加
(add-to-list 'load-path
             "~/.emacs.d/cmigemo")

(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\a"))
(setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-coding-system 'utf-8-unix)
(load-library "migemo")
(migemo-init)
-----------------------------------------------------------------------------

*** recentf-ext.el

**** install

M-x install-elisp-from-emacswiki
recentf-ext.el
C-c

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ 最近使ったファイルを開く recentf-ext.el

;; 最近のファイルを 3000 個保存する
(setq recentf-max-saved-items 3000)
;; 読み込み
(require 'recentf-ext)
-----------------------------------------------------------------------------

*** open-junk-file.el

**** install

M-x install-elisp-from-emacswiki
open-junk-file.el
C-c

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ 使い捨てのファイルを開く open-junk-file.el

;; 読み込み
(require 'open-junk-file)
;; ファイル名およびファイル場所の指定
(setq open-junk-file-format "~/junk/%Y-%m-%d-%H%M%S.")
-----------------------------------------------------------------------------

*** anything.el

**** install

M-x auto-install-batch anything

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ anything
(require 'anything-startup)
(setq extended-command-history '(
 "open-junk-file"
 "untabify"
 "align-regexp"
 "recentf-open-files"
 "toggle-truncate-lines"
 "describe-prefix-bindings"
))
-----------------------------------------------------------------------------

*** bat-mode.el

**** install

M-x eshell

---------------------------------------------------------------------------------
~ $ mkdir -p ~/.emacs.d/bat-mode
~ $ cd ~/.emacs.d/bat-mode/
~/.emacs.d/bat-mode $ wget http://ftp.gnu.org/old-gnu/emacs/windows/contrib/bat-mode.el
---------------------------------------------------------------------------------

M-x byte-complie-file bat-mode.el

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ windows batch-mode
;; ロードパスの追加
(add-to-list 'load-path
             "~/.emacs.d/bat-mode")

(setq auto-mode-alist
      (append
       (list (cons "\\.[bB][aA][tT]$" 'bat-mode))
       ;; For DOS init files
       (list (cons "CONFIG\\."   'bat-mode))
       (list (cons "AUTOEXEC\\." 'bat-mode))
       auto-mode-alist))

  (autoload 'bat-mode "bat-mode"
     "DOS and WIndows BAT files" t)
-----------------------------------------------------------------------------

*** auto-complete.el

**** install

M-x eshell

-------------------------------------------
~/ $ cd ~/download/
~/download $ unzip auto-complete-1.3.1.zip
~/download $ mv auto-complete-1.3.1 ~/.emacs.d/
-------------------------------------------

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ 入力補完支援 auto-complete.el
;; ロードパスの追加
(add-to-list 'load-path
             "~/.emacs.d/auto-complete-1.3.1")
(require 'cl)
(require 'auto-complete)

;; 3.2. インストールスクリト
;; http://cx4a.org/software/auto-complete/manual.ja.html
(add-to-list 'ac-dictionary-directories "~/.emacs.d/auto-complete-1.3.1/dict")
(require 'auto-complete-config)
(ac-config-default)

;; 7.4. TAB で補完を完了する( RET は使わない)
;; http://cx4a.org/software/auto-complete/manual.ja.html
(define-key ac-completing-map "\t" 'ac-complete)
(define-key ac-completing-map "\r" nil)

;; 7.8. 特定のモードで自動で auto-complete-mode を有効にする
;; http://cx4a.org/software/auto-complete/manual.ja.html
(add-to-list 'ac-modes 'org-mode) ;; org-mode になったら、 auto-complete をスタートさせる
(add-to-list 'ac-modes 'text-mode)
(add-to-list 'ac-modes 'ruby-mode)
(add-to-list 'ac-modes 'pyhon-mode)
-----------------------------------------------------------------------------

*** text-transrator.el

**** install

M-x auto-install-batch
text translator
C-c

var なんたらが無いとエラーが発生する場合もあるが、2ー3回やれば大丈夫っ
ぽい。

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; Emacs でテキスト翻訳をする elisp
;; http://quantumfluctuation.blogspot.com/2011/05/text-translatorel_22.html

(require 'text-translator)
(setq text-translator-auto-selection-func
      'text-translator-translate-by-auto-selection-enja)
;; 自動選択に使用する関数を設定
(setq text-translator-auto-selection-func
      'text-translator-translate-by-auto-selection-enja)
;; ;; グローバルキーを設定
;; (global-set-key "\C-xt" 'text-translator-translate-by-auto-selection)

;; ;; if you are setting environment variables HTTP_PROXY,
;; ;; you have not to set this.
(setq text-translator-proxy-server "XXX.XXX.XXX.XXX")
(setq text-translator-proxy-port   YY)
-----------------------------------------------------------------------------

*** emacs-w3m

**** download

CVS は HTTP Port でないため、 Proxy CVS 用に Proxy の設定をしなければな
らないが、よく分からない。

HTTP Proxy だけ与えられているので、トンネルする方法もあるようだが、そん
なことはできるだけやりたくない。

しかたないので、 proxy が不要な環境で、 emacs-w3m のファイルをとってく
る。 bash での手順は以下のとおり。

-----------------------------------------------------------------------------
~ $ apt-cyg install w3m
~ $ wget http://emacs-w3m.namazu.org/emacs-w3m-1.4.4.tar.gz
~ $ cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot login
~ $ CVS password: [RET]
~ $ cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co emacs-w3m
~ $ tar zxf emacs-w3m-1.4.4.tar.gz
~ $ cp -r emacs-w3m-1.4.4 emacs-w3m-cvs
~ $ cp -f emacs-w3m/* emacs-w3m-cvs
-----------------------------------------------------------------------------

上記できた emacs-w3m-cvs フォルダの中身をとっておけば OK 。

**** install

-----------------------------------------------------------------------------
~/download/emacs-w3m-cvs $ chmod 755 *
~/download/emacs-w3m-cvs $ ./configure
~/download/emacs-w3m-cvs $ make
~/download/emacs-w3m-cvs $ make install
-----------------------------------------------------------------------------

**** init.el

-----------------------------------------------------------------------------
;; ------------------------------------------------------------------------
;; @ w3m-emacs
(require 'w3m-load)
(setq w3m-use-cookies t)
(setq w3m-home-page "www.google.co.jp")
-----------------------------------------------------------------------------


0 件のコメント:

コメントを投稿