Emacsで画面切り替え後に画面に残像のようなものが表示されておかし

はい。
また、Emacsが言うことを微妙に聞かなくなりました。
なにやら画面の切り替えやM->を実行すると存在しないはずの行に文字が出たり、
存在するはずの行に文字が表示されなかったり。
というか、表示と実際の行がずれてる感じでしょうか。
C-lを連打すると直るといえば直るのですがいくらなんでも。
ということでよくよくにらめっこしてみると、どうやらメニューバーが悪さをしている模様。
BuffersやFilesといったメニューが表示されている、一番上のあれですね。
なんかちらちら出たり消えたりするのです。
ぐぎぎ

ということで.emacsを編集してdisable menu bar なのですます。
使ってないしね。

;; disable menu-bar
(menu-bar-mode -1)

あやうく何かの呪いによる怪現象と諦めるところでした><

PoderosaからEmacsを使っていてBackSpaceの挙動が不審。。。

会社のサーバでEmacsを使っていてちょっとつまったことがあったのでメモメモ。
会社ではLinuxサーバに対してWindowsXP+Poderosaで作業をしているのです。
TeraTermがデフォルトでインストールされていたので、まぁそれを使えって話でも有るんですがそこは趣味で。
Poderosaのあの微妙なアイコンがダイスキなのです。

が。
個人的な趣味でPoderosa Version :3.0.0を使っているわけですが1つ困ったことにLinux上でEmacsからBackSpaceを打つとへんな挙動に。
Delもそうなんですが、バージョンをあげるとこのあたりOptionから変更できる模様。
が、3.0.0がいいんです!
ちゅわけでしょうがないから.emacsを編集することに。

(load "term/bobcat")
(global-set-key "\?" 'delete-backward-char)

Emacsは何がいいってこの手軽さですね。
自分の好み、環境に合わせて調教できるからダイスキ。
そういえば、1時間くらいruby-modeで色分けがされなくて悩んでいたんですが・・・
あれ?global-font-lockは?
今回21.4が入った時、default.emacsみたいなテンプレがなく1から作ったのですっかり忘れて。

(global-font-lock-mode 1 t)

よし、色分けされました。
結構こういう初歩的なところで躓く癖があるんですよね。
直さないと><

Windows環境でRubyOnRailsを動かそう!

お仕事の関係上、RoRの環境が欲しくなったのでDeskTopに構築をおこなってみました。
ので、そのログを。
ちなみにOSは
MicrosoftWindowsXP Professional Version2002 ServicePack3
ですます。

まずはRubyForgeからRubyを落とします。
何のかんのと細かいことはわかりませんので、さっくり導入できる一発インストール版を。

http://rubyforge.org/frs/?group_id=167&release_id=28426

無事落としてきたら以下手順で。

1. Nextを選択
2. I Agreeを選択
3. コンポーネントの選択はそのままでNextを選択
4. お好みのインストールディレクトリを選択してInstall押下
5. Nextを選択
6. 完了画面です。closeを押してさぁはじめよう!

という感じでさっくり完了しました。
もうこれでrubyが使えるなんてドキドキですネ!!
はやる気持ちを抑えながらWindowsスタートメニューからアクセサリ->コマンドプロンプトを選択。
起動したらマッハでrubyが動いてるか確認。

> ruby --version
ruby 1.8.6(2008-08.11 patchlevel 287)[i386-mswin320]

完璧です。
しかもこのワンインストーラ何が凄いって

> gem --version
1.3.1

ruby-gemまで入ってる。。。
この細やかな気遣いが良いですね。

次はrails
スタートメニュー->プログラム->Ruby-186-27->RubyGems->RubyGems Package Manager
を選択しカカッと。

>gem install rails

なんですが、エラーがデマシタ。。。

ERROR: http://gems.rubyforge.org/ does not appear to be a repository
ERROR: could not find gem rails locally or in a repository

え〜。社内からだと難しいのかなぁ。
ファイアウォール切ってもダメだったし。
とはいえここでめげるわけにはいきません!!
手動で。。。
(今回の手動インストールにあたりましてみねちんにっきを参考させて戴きました!多謝><)

まずはrakeの.gemファイルを取得!
C:/ruby>配下にどんどん保存ですます。
http://rubyforge.org/frs/?group_id=50&release_id=17414
次にactivesupport
http://rubyforge.org/frs/?group_id=570
actionpac
http://rubyforge.org/frs/?group_id=249
activerecord
http://rubyforge.org/frs/?group_id=182
activeresource
http://rubyforge.org/frs/?group_id=3507&release_id=22583
actionmailer
http://rubyforge.org/frs/?group_id=361

んで、最後にrails
http://rubyforge.org/frs/?group_id=307

はぁはぁ。。。
では順番に入れていきますです。
先ほどのRubyGemsPackageManegerを起動してコマンドをカタカタ。

C:\Ruby >gem install rake --local
Successfully installed rake-0.8.3...
1 gem installed
Installing ri documentation for rake-0.8.3...
Installing RDoc documentation for rake-0.8.3...


C:\Ruby >gem install activesupport --local
Successfully installed activesupport-2.2.2
1 gem installed
Installing ri documentation for activesupport-2.2.2...
Installing RDoc documentation for activesupport-2.2.2...


C:\Ruby >gem install actionpack --local
Successfully installed actionpack-2.2.2
1 gem installed
Installing ri documentation for actionpack-2.2.2...
Installing RDoc documentation for actionpack-2.2.2...


C:\Ruby >gem install activerecord --local
Successfully installed activerecord-2.2.2
1 gem installed
Installing ri documentation for activerecord-2.2.2...
Installing RDoc documentation for activerecord-2.2.2...


C:\Ruby >gem install activesource --local
Successfully installed activeresource-2.2.2
1 gem installed
Installing ri documentation for activeresource-2.2.2...
Installing RDoc documentation for activeresource-2.2.2...


C:\Ruby >gem install actionmailler --local
Sucessfully installed actionmailer-2.2.2
1 gem installed
Installing ri documentation for actionmailer-2.2.2...
Installing RDoc documentation for actionmailer-2.2.2...


C:\Ruby >gem install rails --local
Successfully installed rails-2.2.2
1 gem installed

あふ〜。本来ならコマンド1行ですむところがとんだ手間に。
ともあれでこれで

C:\Ruby >rails --version
Rails 2.2.2

おっし、動いてますネ。やった><

では早速プロジェクトを作成します。
まずは適当なところにworkディレクトリを作ってと。
今回は
"C:\Ruby\work"
としました。
次にコマンドを。

C:\Ruby >cd ./work
C:\Ruby\work >rails test

これでworkフォルダ配下にプロジェクト"test"が構築され、必要なファイル郡が保存されましたネ。
では実際にrailを起動し、ブラウズしてみます。

C:Ruby\work >cd ./test
C:Ruby\work\test >ruby script\server

無事railsが見えればおkです。

インストールお疲れ様でした!!

MacBookAirのEmacs環境を整えるよ!

前回Windows環境でのEmacs導入備忘録を書いていて、
あれ?そういえばMacの時の、は?
書いてないなぁ・・・、と思い至りました。
ので、またまたEmacsですが、備忘録で。
※尚使い方については、wadapさんの”これからemacsを使い始めたい人へ送るチュートリアル 第2回”を参照されると良いと思います!


前回と違い今回はウチの母艦、MacBookAirでのEmacs設定に触れたいと思います。
基本的な内容は前回のWindow時と全く同じと言っても良いのですが、やはり細かい部分で違いがありますので、おさらいしながら進めて行きたいと思います。
勿論、同じEmacsといってもWindowsの場合、個人的には使いやすいのはMeadowですし、Macの場合始めから入っているEmacsがありますので、それだけでも違いがあるとも言えるでしょう。


では早速ターミナルを起動しましょう!
ターミナルはDockにショートカットがあれば。
なければFinderからアプリケーションを選択し、”ターミナル.app”を起動してください。
ついでにDeckに追加してしまうと幸せになれるかもしれません。
ターミナルを起動し、emacsと打ち込むとなんとEmacsが起動します!
Macはこの購入したその時から、いきなりコーディングをできる環境が整っているのがいいですね!


とはいっても、デフォルトのままですと、少々味気ない。
例えば簡単な話、phpファイルを開いたらきれいに色分けされていてほしいし、括弧の始まりや終わりにカーソルが言ったら対応する部分がハイライトされてほしいのです。
ではそれらの諸設定をどうするかなのですが、以外と単純で.emacsファイルを新規で作成し以下として保存を行うだけなのです。

/Users/ユーザ名/.emacs

勿論まず最初は、中身がからっぽで構いません。
これから進めて行く内容から、お好きなものを埋めて行けば良いのです。


ここで1つ、前もって設定を行いたいのが、Carbon Emacsを使っている場合どうしても、C-Spaceでマークを設定しようとするとMacのSpotlightが起動してしまいます。
この時に他の方法、というのも手なのですが、手っ取り早くシステム環境設定からSpotlightのキーボードショートカットを変更してしまいましょう。
やはりここで手段を変えてしまうと、環境による戸惑いが出てしまいますので。。。


では早速.emacsを埋めて行きます。
基本的に設定はAsialブログの記事”PHP開発で追加しておきたいEmacs Lisp 8選”を見ながら進めて行きます!ありがとうございます><

1. PHP mode for Emacs

さっくりphpmode.elをダウンロードしてフォルダ

/usr/share/emacs/22.1/site-lisp

へ放り込みます。
※移動先フォルダはsudo mv〜としないと移動できませんので注意してください
次に入力補完の為に、PHPのHTMLマニュアルをダウンロード
こちらは分かりやすいように以下へ保存します。

/usr/share/emacs/22.1/site-lisp/html

設定はそのままで以下を。
>|*||
(autoload 'php-mode "php-mode")
(setq auto-mode-alist
(cons '("\\.php\\'" . php-mode) auto-mode-alist))
(setq php-mode-force-pear t)
(add-hook 'php-mode-user-hook
'(lambda ()
(setq php-manual-path "/usr/share/emacs/22.1/html")
(setq php-manual-url "http://www.phppro.jp/phpmanual/")))
|

2. flymake.el

php-modeのおかげでphpの開発効率アップ!
ときたら更なる開発効率のアップを目指したいところ。
という訳でon the flyにmakeしてくれるflymake.elを導入します。
なんとエラーをハイライト表示してくれちゃう優れもの!でござます。
詳細はDinoオープンラボラトリの記事Flymakeのススメ(PHP版 , JS版) を参照しました。
さっくりflymake.elをダウンロードして例のごとくsite-lispフォルダへ移動行います。
で、設定はそのままで以下を。
>|*||
;; flymake (Emacs22から標準添付されている)
(when (require 'flymake nil t)
(global-set-key "\C-cd" 'flymake-display-err-menu-for-current-line)
;; PHP用設定
(when (not (fboundp 'flymake-php-init))
;; flymake-php-initが未定義のバージョンだったら、自分で定義する
(defun flymake-php-init ()
(let* *1
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list "php" (list "-f" local-file "-l"))))
(setq flymake-allowed-file-name-masks
(append
flymake-allowed-file-name-masks
'*2
;; flymake-javascript-initが未定義のバージョンだったら、自分で定義する
(defun flymake-javascript-init ()
(let* *3
(local-file (file-relative-name
temp-file (file-name-directory buffer-file-name))))
;;(list "js" (list "-s" local-file))
(list "jsl" (list "-process" local-file))))
(setq flymake-allowed-file-name-masks
(append flymake-allowed-file-name-masks
'*4: \\(?:lint \\)?\\(\\(?:warning\\|SyntaxError\\):.+\\)" 1 2 nil 3)
flymake-err-line-patterns)))
(add-hook 'php-mode-hook
'(lambda() (flymake-mode t)))
(add-hook 'javascript-mode-hook
'(lambda() (flymake-mode t))))
|

10. wb-line-number.el

ラインナンバーは後ろの設定でも行ってますが、mode-lineに表示されるので人によってはいらないかもしれません。
ですが、ボク個人としてはやはり左側にないと落ち着かないので導入します。
こちらもwb-line-number.el
をダウンロードしやはりsite-lispフォルダへ。
設定としては以下を追記すれば良いかなと。
>|*||
(require 'wb-line-number)
(wb-line-number-toggle)
(setq truncate-partial-width-windows nil)
(set-scroll-bar-mode nil)
(setq wb-line-number-scroll-bar t)
|

以上で大きな設定は終わりになるかなと思います。


最後に細かい設定をして行きましょう。
>|*||
;;; ;;OthersSettings

;;;ファイル更新日の自動書き換え
(require 'time-stamp)
(add-hook 'before-save-hook 'time-stamp)
(setq time-stamp-active t)
(setq time-stamp-start "Last updated : ")
(setq time-stamp-format "%04y/%02m/%02d-%02H:%02M:%02S")
(setq time-stamp-end " \\|$")

;;;終了時に自動生成されたオートセーブファイルを削除行う
(setq delete-auto-save-files t)

;;;対応する括弧をハイライト表示行う
(show-paren-mode 1)

;;;カーソルの位置をモードラインに表示する
(column-number-mode t)
(line-number-mode t)

;;;モードラインへ現在時刻を表示行う
(display-time)

;;;折り返し表示をなくす
(setq truncate-lines t)
(setq truncate-partial-width-windows t)

;;;インデントの設定
(setq c-tab-always-indent t)
(setq default-tab-width 4)
(setq indent-line-function 'indent-relative-maybe) ;;直前行と同じインデント
(global-set-key "\C-x\C-i" 'indet-region) ;;選択範囲をインデント
(global-set-key "\C-m" 'newline-and-indent) ;;リターン押下で改行とインデント
(global-set-key "\C-j" 'newline) ;;改行
(global-set-key "\C-cc" 'comment-region) ;;C-c cで選択範囲をコメント
(global-set-key "\C-cu" 'uncomment-region) ;;C-c uで選択範囲のコメントを解除
|

*1:temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace

*2:"\\.php[345]?$" flymake-php-init)))) (setq flymake-err-line-patterns (cons '("\\(\\(?:Parse error\\|Fatal error\\|Warning\\): .*\\) in \\(.*\\) on line \\([0-9]+\\)" 2 3 nil 1) flymake-err-line-patterns))) ;; JavaScript用設定 (when (not (fboundp 'flymake-javascript-init

*3:temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace

*4:"\\.json$" flymake-javascript-init) ("\\.js$" flymake-javascript-init)))) (setq flymake-err-line-patterns (cons '("\\(.+\\)(\\([0-9]+\\

Windows環境にEmacs(Meadow3.00)を入れるよ!

今回はすっかりマックで中毒になってしまっているエディタ、EmacsWindows環境にも導入します。
調べてみると、Windows環境ではMeadowが良い様子。
インストールは透明化ができないと、どうしてもいやなので!
開発版(2008/12現在)のMeadow3.00を選択です。

と、いうことで早速Meadowダウンロードサイトからインストーラ(setup-ja.exe)をダウンロード行います。
入手した実行ファイルを元に、「インターネットからインストールする」を選択しセットアップを進めます。
パッケージの選択では、本体であるMeadow3の他にImageMagickと、[font]mule-fonts及び[library]apelを追加しておきます。

次にMeadowの設定を変更します。
設定ファイルはインストールフォルダ直下にdot.emacs.jaとしてありますので、ファイル名を.emacsとし、編集して行きます。

まずは一番大事な透明化の設定から。
初期フレームの設定項目にある
>|?||
(setq default-frame-alist
(append (list '( ---
|

最近ruby On Railsにばかり意識が行っていたのですが、今度CakePHPカンファレンス東京があるのでここはひとつ。

久しぶりにMacBookAirへCakePHPをインストールしてみるよ!

最後に触ってからちょっと立ってしまっているのでまずは本家からソースをダウンロードするところから。
見てみると10/02で更新されているみたい!
大分最近じゃないですか。
というわけで早速最新のCakePHP 1.2.0.7692 RC3を落とします。
解凍したら公開フォルダへさっくり移動。
今回は公開パスをhttp://localhost/project/にします。
ついでにcakeが書き込みを行うフォルダの権限を付与しましょう。

mv /Users/ユーザ名/Desktop/cake_1.2.0.7692-rc3/ Library/WebServer/Documents/project/
sudo chmod 707 /Library/WebServer/Documents/project/app/tmp/

ん、あれ?
index.phpが開いたらダウンロード始まったよ!
php動いてないし。。。
という訳で、httpd.confを変えます。
今回はphp5は既に入っているので、soの読み込みを追記するだけで動くはず!

LoadModule php5_module /usr/libexec/apache2/libphp5.so

で、httpdのリスタート、と。

sudo apachectl restart

早速index.phpにアクセスします。
よし、php動きましたね。やれやれ。

次にMySQLへの接続を設定したいので、database.php.defaultをdatabase.phpへと変更。
DB設定を変更して行きます。
MySQL側でユーザとパスワード、DB名を起こして登録を行います。
index.phpにアクセスして”Cake is able to connect to the database.”とでればOK!!
あとは、index.phpが真っ白なので.htaccessの設定ですね。
さて.htacessですが、cakeのrootフォルダとappフォルダ、それとwebrootフォルダにあります。
ですのでそれぞれのDocumentRootにある.htaccess内のRewriteBaseを/project、/project/app、/project/app/webrootとします。
また、cakeのrootとwebrootフォルダにあるindex.phpを編集しましょう。

/index.php

>|?||
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
//define ('CAKE_CORE_INCLUDE_PATH', FULL PATH TO DIRECTORY WHERE CAKE CORE IS INSTALLED DO NOT ADD A TRAILING DIRECTORY SEPARATOR';
define('CAKE_CORE_INCLUDE_PATH', '/Library/WebServer/Documents/project/');
}
|

スペルチェックをしてくれるナイスなWEBサービス”spella”を使ってみたよ!

結構前になるのですが、海外のサービスで英単語のスペルをチェックしてくれるサービス”spella”というのが立ち上がって、ユーザ募集をしていたのですが。
すっかり登録だけして忘れてしまっておりました。。。
ところ、久しぶりにアクセスしたらなんと。
稼働してる!
というわけでさっそく使ってみます。

これはたとえばporicyとかうっちゃってるとpolicyだよ!
とレポートはいてくれる優れものです。
結構多いんですよね、スペルミスとか。。。
よくやっちゃう?とか見かけるのが、(このサービスではソースコードやファイル名までは対象に入らないですが)例えば
bace.css
とか。
あと、registとか。
http://mixi.jp/regist.pl
みたいな。
実際にはないですよね、そんなの。
秋元さんがそのあたり記事にされていましたが。
http://labs.cybozu.co.jp/blog/akky/archives/2005/07/regist.html
ともあれこういった部分って結構かゆいところなので、あぁやっぱりみんな。。。
よかったよかった的な。

あとは、ちょと思ったんですが、やはりこのWEBサービス、マルチバイトは対応してなくて。
だから例えば、MSWordレベルでいいと思うんですが、日本語のチェックができるサービスを立ち上げたら面白いんだろうな。
とか。
そんなことをつらつら。