2011年9月7日
gnupack 6.02 on Windows 7 x64
-*- mode: org; coding: utf-8 -*-
* はじめに
Cygwin と Emacs の環境がだいぶ固まってきたので、ここでひとつまとめて
おく-その2 Windows 7 64bit 編-。elisp のこととか良く分からないけど、
コピペだけで設定可能だった。指摘してくれるとうれしい。
v6.02 から以下は削除した。うまくいかない or つかわない から
- text-adjust.el
ソースコードと混在させたテキストを使うときに逆に困る。変な半角
あいてしまうし。このあたりの調整のしかたが不明
- google.el
つかわない
- yspel.el
つかわない・・・使いたいけどめんどい。自動でやってくれないか。
- flymake.el
うまく動かない。
- sense-region.el
cua-mode に移行
- migemo.el
v7 からデフォルトで入っている
* システムの概要
以下のマシンに gnupack をつかって、 cygwin と NTemacs の環境を整える。
+ OS 名 :: Microsoft Windows 7 Professional
+ バージョン :: 6.1.7601 Service Pack 1 ビルド 7601
+ OS 製造元 :: Microsoft Corporation
+ システム名 :: <machine-name>
+ システム製造元 :: Dell Inc.
+ システムモデル :: Precision M4600
+ システムの種類 :: x64-ベース PC
+ プロセッサ :: Intel(R) Core(TM) i7-2720QM CPU @ 2.20GHz、2201 Mhz、4 個のコア、8 個のロジカル プロセッサ
+ BIOS バージョン/ 日付 :: Dell Inc. A04, 2011/06/17
+ SMBIOS バージョン :: 2.6
+ Windows ディレクトリ :: C:\WINDOWS
+ システム ディレクトリ :: C:\WINDOWS\system32
+ ブート デバイス :: \Device\HarddiskVolume2
+ ロケール :: 日本
+ ハードウェア アブストラクション レイヤ バージョン = "6.1.7601.17514"
+ ユーザー名 :: <domain>\<username>
+ タイム ゾーン :: 東京 (標準時)
+ 合計物理メモリ :: 7.88GB
+ 利用可能な物理メモリ :: 5.64GB
+ 合計仮想メモリ :: 15.8 GB
+ 利用可能な仮想メモリ :: 13.7 GB
+ ページ ファイルの空き容量 :: 7.88 GB
+ ページ ファイル :: C:\pagefile.sys
* インストール手順および設定
** gnupack
*** インストール手順 ( 27.08.11 現在:リリース版の最新は 7.00 )
1. gnupack gnupack_devel-7.00.exe を以下からダウンロードする
http://sourceforge.jp/projects/gnupack/releases/?package_id=10360
2. [gnupack_devel-7.00.exe] を実行
3. [解凍先] を [C:\] にして、 [実行] をクリック
4. 以下の exe を起動して、それぞれ起動確認
C:\gnupack_devel-7.02\bash.exe
C:\gnupack_devel-7.02\emacs.exe
C:\gnupack_devel-7.02\gvim.exe
*** config.ini の 設定
**** フォント、プロキシの設定
1. C-x C-f で、 c:\gnupack_devel-6.02\config.ini を開く
2. 以下のように修正
=== c:/gnupack_devel-7.00/config.ini 2011-08-28 16:55:31.970894200 +0900
--- c:/gnupack_devel-7.00/config.ini.orig 2011-08-28 14:10:49.504883400 +0900
===============
=== 16,31 ====
MAKE_MODE = unix
TZ = JST-9
LANG = ja_JP.cp932
- http_proxy = http://<username>:<psssword>@<proxyaddress>:<port>/
PATH = %EMACS_DIR%\bin;%INST_DIR%\app\vim;%INST_DIR%\app\script
PATH = %PATH%;%INST_DIR%\app\mingw\tdm\bin;%_local_%\bin;%CYGWIN_DIR%\bin
PATH = %PATH%;%windir%\system32;%windir%;%windir%\system32\Wbem
- PATH = %PATH%;C:\Program Files\ANSYS Inc\v130\ansys\bin\intel
- PATH = %PATH%;C:\usr\local\share\InnoSetup5
- PATH = %PATH%;C:\w32tex\bin;C:\gs\gs7.07\bin;C:\gs\gs7.07\lib
-
- ANSYSLMD_LICENSE_FILE = <hostname>
GS_LIB = %INST_DIR%\app\gs\lib;%INST_DIR%\app\gs\kanji;%INST_DIR%\app\gs\Resource\Init
GS_DLL = %INST_DIR%\app\gs\bin\gsdll32.dll
--- 16,25 ----
*** wget の proxy 設定
http_proxy の設定で、<username>と<password>を設定していると、 wget が
正常に動作しない模様。 wget の設定もやっておく。
1. emacs を起動
2. C-x C-f で ~/.wgetrc を作成し、以下を記載
http_proxy=<proxyadress>:<port>
** cygwin
*** w3m
bash を起動して
apt-cyg w3m
とするだけ。起動確認は
w3m -M www.google.com
で、終了は
q
で可能
*** ruby
bash を起動して、 apt-cyg install ruby subversion-ruby とするだけで、
関連のものも自動でインストールされる(サブバージョンはバージョン管
理のもの)。
念のため
ruby -v
*** python
1. パッケージ群のインストール
過去にパッケージ不足とかでできなかったことがあるため、
apt-cyg find python
で出てきたものをすべてインストールする。内容は良く分からない。
apt-cyg install libboost_python1.43 postgresql-plpython python python-brlapi python-cairo python-crypto python-doc python-feedparser python-gamin python-gdata python-gobject2.0 python-gobject2.0-devel python-gsf python-gtk2.0 python-gtk2.0-demo python-gtk2.0-devel python-lcms python-libproxy python-libxml2 python-libxslt python-ming python-numpy python-paramiko python-pygtk python-pyrex python-test python-tkinter python-xdg subversion-python
2. easy_install, setuptools, pyflakes のインストール
setuptools とかいうのが良く出てくるのと、 pyflkes (チェッカ)を使
いたいので、 bash で以下のようにインストール
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg#md5=bfa92100bd772d5a213eedd356d64086
sh setuptools-0.6c11-py2.6.egg
easy_install pyflakes
3. 確認
python と pyflakes の確認を行う。
~/tmp/sample.py
を
print "hoge"
とつくって、 bash で
python sample.py
として、 hoge の 表示を確認し、さらに、 sample.py を
print "hello
として、 bash で
sample.py:1: EOL while scanning string literal
print "hoge
^
といってくれれば成功
3. pyflakes のバッチファイルを作成
ウィンドウズで使うため(というか、 emacs で使うため)に、以下のバッ
チファイルを作成しておく。
1) emacs を起動
2) C-x C-f で pyflakes.bat を以下に作成
c:/gnupack_devel-6.02/app/cygwin/cygwin/bin
3) 以下のように記載し、 C-x RET f shift-jis-dos として、 C-x C-s
@echo off
c:\gnupack_devel-7.00\app\cygwin\cygwin\bin\python /usr/bin/pyflakes %*
4. pyflakes.bat の確認
cmd を起動して
c:\gnupack_devel-7.00\app\cygwin\cygwin\bin\pyflakes sample.py
をして、指摘してくれれば OK。なんか最初やったら、warning 出た気がする・・・。
*** RCS
一番単純なバージョン管理。 bash で apt-cyg install rcs だけ。
*** emacs-w3m
**** ファイルの入手について
CVS は HTTP Port でないため、 Proxy CVS 用に Proxy の設定をしなけれ
ばならないが、よく分からない。
HTTP Proxy だけ与えられているので、トンネルする方法もあるようだが、
そんなことはできるだけやりたくない。
しかたないので、 proxy が不要な環境で、 emacs-w3m のファイルをとって
くる。 bash での手順は以下のとおり。
apt-cyg install cvs autoconf
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 。
**** インストール手順
bash を起動し以下を実行。 autoconf は必要みたい。
apt-cyg install cvs autoconf
cd emacs-w3m-cvs
./configure --with-emacs=/app/emacs/emacs/bin/emacs --with-lispdir=/app/emacs/site-lisp/w3m --with-icondir=/app/emacs/emacs/etc/w3m
make
make install
*** aspell
bash で以下。
apt-cyg install aspell aspell-en
*** git
bash で
apt-cyg install git
** NTemacs
*** Personal initialization
=== c:/gnupack_devel-7.00/home/.emacs.d/init.el.orig 2011-08-30 10:13:45.173259700 +0900
--- c:/gnupack_devel-7.00/home/.emacs.d/init.el 2011-08-30 10:18:51.686908000 +0900
===============
=== 340,360 ====
ps-print-header nil ; ヘッダの非表示
)
! ;; ------------------------------------------------------------------------
! ;; @ hiwin-mode
! (require 'hiwin)
!
! ;; 非アクティブwindowの背景色(hiwin-modeの実行前に設定が必要)
! (setq hiwin-deactive-color "gray30")
!
! ;; hiwin-modeを有効にする
! (hiwin-mode)
!
! ;; kill-bufferで再描画されるようにする
! (defadvice kill-buffer
! (around kill-buffer-around activate)
! ad-do-it
! (if hiwin-ol (hiwin-draw-ol)))
;; ------------------------------------------------------------------------
;; @ tabbar
--- 340,360 ----
ps-print-header nil ; ヘッダの非表示
)
! ;; ;; ------------------------------------------------------------------------
! ;; ;; @ hiwin-mode
! ;; (require 'hiwin)
!
! ;; ;; 非アクティブwindowの背景色(hiwin-modeの実行前に設定が必要)
! ;; (setq hiwin-deactive-color "gray30")
!
! ;; ;; hiwin-modeを有効にする
! ;; (hiwin-mode)
!
! ;; ;; kill-bufferで再描画されるようにする
! ;; (defadvice kill-buffer
! ;; (around kill-buffer-around activate)
! ;; ad-do-it
! ;; (if hiwin-ol (hiwin-draw-ol)))
;; ------------------------------------------------------------------------
;; @ tabbar
===============
=== 455,458 ====
--- 455,646 ----
(load-library "migemo")
(migemo-init)
+ ;; ------------------------------------------------------------------------
+ ;; @ 個人的な初期設定
+
+ ; 区切り文字に全角スペースや、・を含める
+ (setq paragraph-start '"^\\([ ・○<\t\n\f]\\|(?[0-9a-zA-Z]+)\\)")
+
+ ;; startup directory
+ (setq default-directory "~/")
+ ;; ファイルのカーソル内の位置を記憶
+ (setq-default save-place t)
+
+ ;; ガベッジコレクション閾値 を 500MB に
+ (setq gc-cons-threshold 524288000)
+
+ ;; ログの記録行数を増やす
+ (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)
+
+ ;; @ クリップボード転送ができないことがある。
+ (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)
+
+ ; キー入力中にマウスポインタを右上隅へ移動
+ (mouse-avoidance-mode 'banish)
+
+ ;; @ 括弧の対応表示
+ (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)
+
+ ;; タブ, 全角スペースを色つき表示する (色名は 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)
+
+ ;;; フレームサイズをトグルで切り替え
+ ;; http://www.bookshelf.jp/soft/meadow_30.html#SEC416
+ ;; 現在のフレームサイズを調べる方法
+ ;; *scratch*バッファを開き,(frame-width), (frame-height) と書き,C-jする
+
+ (setq my-frame-max-flag nil)
+
+ (defun my-toggle-frame-size ()
+ (interactive)
+ (if my-frame-max-flag
+ (progn
+ (setq my-frame-max-flag nil)
+ (if (functionp 'w32-restore-frame)
+ (w32-restore-frame)
+ (set-frame-configuration my-last-frame-conf)
+ (message "not MAX.") (sit-for 2)
+ ))
+ (setq my-frame-max-flag t)
+ (if (functionp 'w32-maximize-frame)
+ (w32-maximize-frame)
+ (setq my-last-frame-conf (current-frame-configuration))
+ (set-frame-position (selected-frame) 0 0)
+ ;; フレーム最大化時に (frame-height) で得た値
+ (set-frame-height (selected-frame) 40) ; うまく効かない
+ ;; フレーム最大化時に (frame-width) で得た値
+ (set-frame-width (selected-frame) 195)
+ (message "to MAX.") (sit-for 2)
+ )))
+
+ (add-hook 'ediff-before-setup-hook 'my-toggle-frame-size) ; ediff 立ち上げ時に、画面を最大化
+ (add-hook 'ediff-quit-hook 'my-toggle-frame-size) ; ediff 終了時に、画面を元に戻す
+ (global-set-key [f11] 'my-toggle-frame-size) ; f11 に割り当て
+
+ ;; @ 定型文の挿入 my-template-select
+ ;; http://www.bookshelf.jp/soft/meadow_37.html#SEC554
+
+ (defvar my-template-text-file "~/.template")
+ (defvar my-template-buffer nil)
+ (defvar my-template-point nil)
+
+ (defun my-template-insert ()
+ (interactive)
+ (let (content)
+ (when (setq
+ content
+ (get-text-property (point) :content))
+ (save-excursion
+ (set-buffer my-template-buffer)
+ (save-excursion
+ (goto-char my-template-point)
+ (insert content))))))
+
+ (defun my-template-select ()
+ (interactive)
+ (let ((buffer
+ (get-buffer-create "*select template*"))
+ templates begin template-map text)
+ (setq my-template-buffer (current-buffer)
+ my-template-point (point))
+ (unless (file-readable-p my-template-text-file)
+ (error "Couldn't read template file: %s"))
+ (with-temp-buffer
+ (insert-file-contents my-template-text-file)
+ (goto-char (point-min))
+ (while (re-search-forward "^\\*\\(.*\\)$" nil t)
+ (when begin
+ (setq templates
+ (cons
+ (cons
+ (car templates)
+ (buffer-substring
+ begin (1- (match-beginning 0))))
+ (cdr templates))))
+ (setq templates (cons (match-string 1) templates))
+ (setq begin (1+ (match-end 0))))
+ (when begin
+ (setq templates
+ (cons
+ (cons
+ (car templates)
+ (buffer-substring begin (point-max)))
+ (cdr templates)))))
+ (pop-to-buffer buffer)
+ (setq buffer-read-only nil
+ major-mode 'template-select-mode
+ mode-name "Select Template"
+ template-map (make-keymap))
+ (suppress-keymap template-map)
+ (define-key template-map " " 'my-template-insert)
+ (define-key template-map "\C-m" 'my-template-insert)
+ (define-key template-map "n" 'next-line)
+ (define-key template-map "p" 'previous-line)
+ (define-key template-map "q" 'kill-buffer-and-window)
+ (use-local-map template-map)
+ (buffer-disable-undo)
+ (delete-region (point-min) (point-max))
+ (dolist (tt templates)
+ (setq text (concat (car tt) "\n"))
+ (put-text-property
+ 0 (length text) :content (cdr tt) text)
+ (insert text)
+ (goto-char (point-min)))
+ (delete-region (1- (point-max)) (point-max))
+ (setq buffer-read-only t)
+ (set-buffer-modified-p nil)))
*** auto-install.el
簡単に el をインストールできるってもの。文字化けとかでインストールできない
ものも多いんだけど、とりあえず入れる。*以下、これが入っている事を仮定する*。
**** download
emacs を起動して、以下を実行
M-x eshell
mkdir -p ~/.emacs.d/auto-install
cd ~/.emacs.d/auto-install
wget http://www.emacswiki.org/emacs/download/auto-install.el
**** init.el (.emacs,emacs.el)
;; ------------------------------------------------------------------------
;; @ auto-install.el
;; ロードパスの追加
(add-to-list 'load-path
"~\\.emacs.d\\auto-install")
(require 'auto-install)
(setq auto-install-directory "~\\.emacs.d\\auto-install")
;; 起動時に EmacsWiki のページ名を補完候補に加えない
(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)
*** recentf.el
最近使ったファイルリストを表示するやつ
**** download
M-x install-elisp-from-emacswiki
recentf-ext.el
C-c C-c
**** init.el (.emacs,emacs.el)
;; ------------------------------------------------------------------------
;; @ 最近使ったファイルを開く recentf-ext.el
;; 最近のファイルを 3000 個保存する
(setq recentf-max-saved-items 3000)
;; 読み込み
(require 'recentf-ext)
*** open-junk-file.el
使い捨てのファイルをサクサクつくる
**** download
M-x install-elisp-from-emacswiki
open-junk-file.el
C-c C-c
**** init.el (.emacs,emacs.el)
;; ------------------------------------------------------------------------
;; @ 使い捨てのファイルを開く open-junk-file.el
;; 読み込み
(require 'open-junk-file)
;; ファイル名およびファイル場所の指定
(setq open-junk-file-format "~/junk/%Y-%m-%d-%H%M%S.")
*** anything.el
便利なんだって。使い方、まだ、よくわかんない。
**** download
M-x auto-install-batch
anything
C-c C-c を連打
anything-migemo.el で、*文字コードエラー*
---------------------------------------------------------------------
These default coding systems were tried to encode text
in the buffer `anything-migemo.el':
(undecided-unix (5157 . 35660) (5158 . 65381) (5159 . 35675) (5160
. 65388) (5161 . 38577) (5162 . 27115) (5163 . 4194181) (5164
. 65381) (5165 . 34569) (5166 . 4194203) (5219 . 35660)) (utf-8-unix
(5163 . 4194181) (5166 . 4194203) (5225 . 4194181) (5228 . 4194203)
(5281 . 4194181) (5284 . 4194203) (7386 . 4194206) (7529 . 4194206)
(7669 . 4194206) (8168 . 4194206) (8313 . 4194206))
However, each of them encountered characters it couldn't encode:
undecided-unix cannot encode these: 譌 ・ 譛 ャ 隱 槫 ・ 蜉 ...
utf-8-unix cannot encode these: ...
Click on a character (or switch to this window by `C-x o'
and select the characters by RET) to jump to the place it appears,
where `C-u C-x =' will give information about it.
Select one of the safe coding systems listed below,
or cancel the writing with C-g and edit the buffer
to remove or modify the problematic characters,
or specify any other coding system (and risk losing
the problematic characters).
raw-text emacs-mule no-conversion
---------------------------------------------------------------------
が出るが euc-jp とかしてたら、とりあえず大丈夫っぽいんで、続けて
C-c C-c を連打し、念のため
M-x eshell
rm -rf anything-migemo.*
wget http://www.emacswiki.org/emacs/download/anything-migemo.el
M-x byte-compile-file
~/.emacs.d/auto-install/anything-migemo.el
**** init.el (.emacs,emacs.el)
;; ------------------------------------------------------------------------
;; @ anything
(require 'anything-startup)
*** aspell (ispell)
**** download
cygwin の方で終わってる
**** init.el (.emacs, emacs.el)
;; ------------------------------------------------------------------------
;; @ ispell が無いから、 aspell を使う
(setq-default ispell-program-name "aspell")
(eval-after-load "ispell"
'(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
**** .aspell.conf
~/.aspell.conf を作って
lang en_US
とする
*** emacs-w3m
**** download
cygwin の方で終わってる
**** init.el (.emacs, emacs.el)
;; ------------------------------------------------------------------------
;; @ w3m-emacs
(require 'w3m-load)
(setq w3m-use-cookies t)
(setq w3m-home-page "www.google.co.jp")
*** bat-mode.el
**** download
ftp だからか時間がかかるので注意
M-x install-elisp
http://ftp.gnu.org/old-gnu/emacs/windows/contrib/bat-mode.el
C-c
**** init.el (.emacs, emacs.el)
;; ------------------------------------------------------------------------
;; @ windows batch-mode
(setq auto-mode-alist
(append
(list (cons "file://.[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)
*** tail.el
**** download
M-x install-elisp-from-emacswiki
tail.el
C-c
**** init.el (.emacs, emacs.el)
;; ------------------------------------------------------------------------
;; @ emacs で tail を動かす
(require 'tail)
(setq tail-volatile nil) ;前の記載を消さない
(setq tail-hide-delay 100000) ;隠すまで 100000sec
(setq tail-max-size 15) ;Window のサイズ
**** jtail.bat
以下のような jatail.bat を作っておき、 PATH の通ったところに置いてお
いたほうが良い。 eshell も bash も出力が ja_JP.cp932 になっているか
ら。
tail -f %1 | nkf -u -s
*** auto-complete.el
**** download
auto-install だとうまくいかないので、注意。
M-x eshell
cd ~/tmp
wget http://cx4a.org/pub/auto-complete/auto-complete-1.3.1.zip
unzip auto-complete-1.3.1.zip
mv auto-complete-1.3.1 ~/.emacs.d/
**** init.el (.emacs, emacs.el)
7.8 のようなダサい書き方やめたいけど、分からない。
;; ------------------------------------------------------------------------
;; @ 入力補完支援 auto-complete.el
;; ロードパスの追加
(add-to-list 'load-path
"~\\.emacs.d\\auto-complete-1.3.1")
(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)
(add-to-list 'ac-modes 'ansys-mode)
*** ansys-mode.el
**** download
mkdir ~/tmp/ansys-mode
cd ~/tmp/ansys-mode
wget http://ansys-mode.googlecode.com/files/ansys-mode-13.0.1.tgz
tar zxvf ansys-mode-13.0.1.tgz
mv ~/tmp/ansys-mode/ ~/.emacs.d/
**** anshelp130.bat
C-x C-f
~/.emacs.d/ansys-mode/anshelp130.bat
start hh "c:\Program Files\ANSYS Inc\v130\commonfiles\help\ja\ansys130.chm"
C-x C-s
**** dict/ansys-mode (dynprompt)
ぜったい、もっと簡単な方法ある気がするから、誰か教えてほしい。
C-x C-f
C:/Program Files/ANSYS Inc/v130/ansys/docu/dynaprompt130.ans
C-x C-w
~/.emacs.d/auto-complete-1.3.1/dict/ansys-mode
C-h C-x r t |
M-x replace-string , [RET] | [RET]
M-x org-mode
TAB
M-S-<left> を連打
M-x replace-string |[space] [RET] [RET]
M-<
M-x replace-string | [RET] [RET]
C-h
M-x delete-trailing-whitespace
C-x C-s
**** init.el (.emacs, emacs.el)
add-to-list の書き方ダサい。。。。
;; ------------------------------------------------------------------------
;; @ ansys-mode の設定
;; ロードパスの追加
(add-to-list 'load-path
"~\\.emacs.d\\ansys-mode")
;; 拡張子によって ansys-mode に
(add-to-list 'auto-mode-alist '("\\.mac\\'" . ansys-mode))
(add-to-list 'auto-mode-alist '("\\.dat\\'" . ansys-mode))
(add-to-list 'auto-mode-alist '("\\.inp\\'" . ansys-mode))
(autoload 'ansys-mode "ansys-mode" nil t)
;; ansys-mode の時は、アウトラインマイナーモードに
(add-hook 'ansys-mode-hook
'(lambda ()
(outline-minor-mode 1)
))
;; chm ヘルプを起動する
(custom-set-variables
'(ansys-help-program "~\\.emacs.d\\ansys-mode\\anshelp130.bat"))
*** zlc.el
zlc ってなんだろ。 TAB で便利。
**** dowonload
auto-install だとうまくいかないので、注意
M-x eshell
cd ~/.emacs.d/
mkdir zlc
M-x w3m-goto-url-new-session
http://github.com/mooz/emacs-zlc/raw/master/zlc.el
C-x C-h
M-w
C-x C-f
~/.emacs.d/zlc/zlc.el
C-y
C-x C-s
**** init.el
;; ------------------------------------------------------------------------
;; @ zlc.el
(add-to-list 'load-path "~\\.emacs.d\\zlc")
(require 'zlc)
;; (setq zlc-select-completion-immediately t)
(let ((map minibuffer-local-map))
;;; like menu select
(define-key map (kbd "<down>") 'zlc-select-next-vertical)
(define-key map (kbd "<up>") 'zlc-select-previous-vertical)
(define-key map (kbd "<right>") 'zlc-select-next)
(define-key map (kbd "<left>") 'zlc-select-previous)
;;; reset selection
(define-key map (kbd "C-c") 'zlc-reset)
)
*** python-mode.el
本当は新しい python.el を使いたいけど、 C-c がうまくいかないし、 pymacs ? の
入れ方も分からないしってことで、古いほうの python-mode.el を入れる
**** download
M-x eshell
cd tmp
wget http://launchpad.net/python-mode/trunk/5.2.0/+download/python-mode-5.2.0.tgz
tar zxvf python-mode-5.2.0.tgz
mv python-mode/ ~/.emacs.d/
**** init.el
;; ------------------------------------------------------------------------
;; @ python-mode
;; ロードパスの追加
(add-to-list 'load-path "~\\.emacs.d\\python-mode")
(require 'python-mode)
(setq auto-mode-alist (cons '("file://.py$/" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist (cons '("python" . python-mode)
interpreter-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)
*** text-translator.el
**** download
auto-install-bathch だと、 var.el が無いだの、 var.el は文字化けするだので、
正常にインストールできないので注意
M-x eshell
mkdir -p ~/.emacs.d/text-translator
cd ~/.emacs.d/text-translator
wget http://www.emacswiki.org/emacs/download/text-translator.el
wget http://www.emacswiki.org/emacs/download/text-translator-vars.el
wget http://www.emacswiki.org/emacs/download/text-translator-load.el
**** init.el (.emacs, emacs.el)
;; ------------------------------------------------------------------------
;; Emacs でテキスト翻訳をする elisp
;; http://quantumfluctuation.blogspot.com/2011/05/text-translatorel_22.html
;; ロードパスの追加
(add-to-list 'load-path "~\\.emacs.d\\text-translator")
(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 "<proxy-address>")
(setq text-translator-proxy-port <portnum>)
*** iss-mode.el (Inno Setup mode)
**** download
M-x eshell
mkdir -p ~/.emacs.d/iss-mode
cd ~/.emacs.d/iss-mode
wget http://www.xsteve.at/prg/emacs/iss-mode.el
**** init.el
;; @ Inno Setup iss-mode
(add-to-list 'load-path "~/.emacs.d/iss-mode")
(require 'iss-mode)
(autoload 'iss-mode "iss-mode" "Innosetup Script Mode" t)
(setq auto-mode-alist (append '(("\\.iss$" . iss-mode)) auto-mode-alist))
(setq iss-compiler-path "C:/usr/local/share/InnoSetup5/")
(add-hook 'iss-mode-hook 'xsteve-iss-mode-init)
;; 以下はなんか動かない
(defun xsteve-iss-mode-init ()
(interactive)
(define-key iss-mode-map [f6] 'iss-compile)
(define-key iss-mode-map [(meta f6)] 'iss-run-installer))
*** yatex
**** download
wget http://www.yatex.org/yatex1.74.tar.gz
**** install
tar xzvf yatex1.74.tar.gz
cd yatex1.74/
C-x C-f makefile
C-x C-q
で以下のように編集
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
=== c:/gnupack_devel-6.02/home/tmp/yatex1.74/mekefile.orig 2011-07-12 13:10:20.249481300 +0900
--- c:/gnupack_devel-6.02/home/tmp/yatex1.74/makefile 2011-07-12 13:43:06.550439000 +0900
===============
=== 3,16 ====
#
# Edit these variables to be suitable for your site
! PREFIX = /usr/local
## mule2
! EMACS = mule
! EMACSDIR= ${PREFIX}/lib/${EMACS}
## emacs20
! #EMACS = emacs
! #EMACSDIR= ${PREFIX}/share/${EMACS}
## XEmacs
#EMACS = xemacs
#EMACSDIR= ${PREFIX}/lib/${EMACS}
--- 3,16 ----
#
# Edit these variables to be suitable for your site
! PREFIX = C:/gnupack_devel-6.02/app/emacs/emacs
## mule2
! # EMACS = mule
! # EMACSDIR= ${PREFIX}/lib/${EMACS}
## emacs20
! # EMACS = emacs
! # EMACSDIR= ${PREFIX}/share/${EMACS}
## XEmacs
#EMACS = xemacs
#EMACSDIR= ${PREFIX}/lib/${EMACS}
===============
=== 21,26 ====
--- 21,30 ----
#EMACS = /Applications/Emacs.app/Contents/MacOS/Emacs
#PREFIX = /Applications/Emacs.app/Contents/Resources
#EMACSDIR = ${PREFIX}
+ ## NTemacs23.3 on gnuplot
+ EMACS = emacs
+ EMACSDIR= c:/gnupack_devel-6.02/app/emacs/emacs
+
LISPDIR = ${EMACSDIR}/site-lisp/yatex
# LISPDIR = ${EMACSDIR}/site-packages/lisp/yatex
===============
=== 35,41 ====
# Comment out below if you are using Emacs Windows(meadow, etc)
! GEO = -geometry 80x20+0+0
###################
# Do not edit below
--- 39,45 ----
# Comment out below if you are using Emacs Windows(meadow, etc)
! # GEO = -geometry 80x20+0+0
###################
# Do not edit below
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
eshell に戻って
export DISPLAY=":0.0"
make install
としてインストール
C-x C-f
c:/gnupack_devel-6.02/app/emacs/emacs/info/dir
として、以下のように編集
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
=== c:/gnupack_devel-6.02/app/emacs/emacs/info/dir.orig 2011-07-12 13:50:54.602247800 +0900
--- c:/gnupack_devel-6.02/app/emacs/emacs/info/dir 2011-07-12 13:48:52.566308200 +0900
===============
=== 95,97 ====
--- 95,101 ----
Customization facility.
* SMTP: (smtpmail). Emacs library for sending mail via SMTP.
+ * YaTeX: (yatexj). Yet Another tex-mode for Emacs. (Japanese).
+ * YaTeX-e: (yatexe). Yet Another tex-mode for Emacs. (English).
+ * yahtml: (yahtmlj). Yet Another HTML-mode for Emacs. (Japanese).
+ * yahtml-e: (yahtmle). Yet Another HTML-mode for Emacs. (English).
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C-x C-f
~/.emacs.d/init.el
として、以下を追記
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;; ------------------------------------------------------------------------
;; @ yatex
(setq load-path (cons "C:/gnupack_devel-6.02/app/emacs/emacs/site-lisp/yatex" load-path))
(setq auto-mode-alist
(cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq tex-command "c:/w32tex/bin/platex")
(setq dvi2-command "C:/w32tex/dviout/dviout")
(setq YaTeX-use-LaTeX2e t)
(setq YaTeX-use-AMS-LaTeX t)
(setq
YaTeX-math-sign-alist-private
'(
("q" "Q" "(Q)")
("z" "Z" "ZZ")
("t""text""text")
("qu" "quad" "__")
("qq" "qquad" "____")
("ls" "varlimsup" "___\nlim")
("li" "varliminf" "lim\n---")
("il" "varinjlim" "lim\n-->")
("pl" "varprojlim" "lim\n<--")
("st" "text{ s.t. }" "s.t.")
("bigop" "bigoplus" "_\n(+)~")
("bigot" "bigotimes" "_\n(x)\n ~")
))
; dviからpdfを作成する%sはファイル名
(setq dviprint-command-format "C:/w32tex/bin/dvipdfmx %s")
* 現状の問題点
- なんかチカチカするのと、画面描画フリーズみたいになる(いわゆるマウスポインタ消しゴムで直る現象)
- eddif-buffers で config.ini を比較すると 改行コードが ^M になっちゃう
- (set-frame-height (selected-frame) 40) が うまく効かない
- (setq gc-cons-threshold 524288000) で、500MB 以上設定すると emacs が起動しない
- まず、文字コードが良く分からない。 python 周りとか特に。本家の cygwin と違うし。 utf-8 に全部したい。
- flymake の C 設定もよく分からない。 makefile が必要とか無理だし。 c のファイルを開くと flymake に怒られる
- git が使えない。 proxy 設定してるのになぁ。
- cvs も使えない。 http_proxy のトンネル方法もイマイチ不明
- org-mode が変。たくさんかくと org-mode でカーソル移動が遅くなる、カクカク動く。
- hiwin-mode が変。フォーラムに上がってる設定をしても、非アクティブ、アクティブの判断が悪く、ずっとグレー。グレー
をやめても、*scratch* や w3m で青くなったり黒くなったりでチラついて気持ち悪い。
- anything.el は履歴保存してくれないのかな。デフォルトの設定じゃ駄目なのかしらん。
- w3m で shift 選択できない。どうように、 org-mode でもできない。
- org-mode が auto-complete とかぶる。 auto-complete のキーバインドを強制上書きしても org-mode に聞かない。うざい。
- ansys-mode のカスタマイズ方法が不明。 unix/linux のみ対応を windows 対応にしたいけど、 elisp とか分からない。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿