最近色々調べて回ってるうちに

「あれ?こないだ見つけたサイトどこだっけ??」

見たいな事が増えてきたので、面白そうな内容は片っぱしからメモを取る事にしました。


Emacsの画面を分割して、

左はw3mでネットをブラついて、

何か見つけたら右に開いたOrg-Modeのファイルにコピペします。


くらいまーず はい

分割したバッファ間を移動するのは、


(global-set-key [(control up)] 'windmove-up)
(global-set-key [(control down)] 'windmove-down)
(global-set-key [(control right)] 'windmove-right)
(global-set-key [(control left)] 'windmove-left)


とか書いてCtrlキー+カーソルで移動できるようにしました。


マウスに手を伸ばす必要もなければ、ウインドウも切り替える必要もなく、

キー操作だけで切り貼りできるのが便利です。


メモっておきたいサイトにぶつかったら、

C-c l

でサイトのアドレスをコピーして、

Org-Modeの第一階層に

C-c C-l

でタイトルをペーストします。


後はその下に大事な処をメモります。


こうして置けば、そのファイルを検索すれば気になった内容をすぐに調べられるし、

サイトを全部見たい時には第一階層のタイトルをクリックして

サイトを開く事も出来ます。


所でw3mはフレームみたいのもきちんと表示してくれるんですが、

コピーしようとすると、下みたいになります。

「最近のエントリ」の部分は要りませんね



くらいまーず はい


もちろん矩形選択すれば良いって事は分かってるんです。

でも C-x r k とか C-x r y とか、

矩形の選択と矩形の貼り付けでコマンドが違っていたり、

覚える気にならないところです。


というわけで、

sense-region.el

を入れてみました。


これを入れると


くらいまーず はい

こう選択した後、

Ctrl+SPC

を押すと



くらいまーず はい

こんな感じで矩形のリージョンを分かりやすく表示してくれます。

後はM-wとかC-yとか普段使ってるコマンドでコピーしたり張り付けたりするだけです。


叩くキーの数は増えますが、

コピーはどのキーバインドだっけ??

と頭を悩ます必要が無くなります。


Emacsにauto-completeはずっと前に入れてあったんですが、

init.el弄る時くらいしか使ってませんでした。


auto-completeのHPはこちら

http://cx4a.org/software/auto-complete/index.ja.html

インストールも無茶苦茶簡単です。


何か文字を書きかけると、候補を出してくれて、しかも説明まで表示してくれるという有りがたい機能です。

これがあれば関数を書き間違えて、Emacsに怒られる事がだいぶ減ります。

(右側の機能を説明してくれている黄色いポップアップはAnythingの機能かもしれません・・・

うろ覚えです)


補完はバッファ内の文字列か外部の辞書から行う見たいです。


くらいまーず はい

デフォルトでC/C++/Java/Rubyその他、複数のプログラミング言語に対応しています。


マニュアルを見ると色々カスタマイズの方法が書いてあるんですが、

なるべく簡単にVerilog用の辞書を追加できないかなぁと思ってました。


で、物は試しで、C言語とかの辞書が入っているフォルダ

(デフォルトだとac-dict)

の中に、

verilog-mode

というファイルを追加して、

verilogで出てくる宣言やらを教科書片手に打ち込みました。

なるべくタイプ数を減らしたいので、教科書でよくつかわれているコメントなんかも

一緒に入れてあります。


くらいまーず はい

では適当にVerilogのファイルを開いて打ち込んでみます。

adder.v

というファイルを開いて、メジャーモードがVerilog-modeになっている事、

Auto-complete-modeがenableになっている事を確認します。


なんか思いっきり間違ってますが、気にしない


くらいまーず はい



くらいまーず はい

ちゃんと補完候補として認識してるみたいですね。

良かった良かった。

辞書をカスタマイズして、自分の使いやすい補完が簡単に出来そうなところが良いですね。



始終候補を出されてもうざったいので、

key-chord.elを入れて"ac"同時押しでauto-complete-modeをトグルするようにしています。

http://www.emacswiki.org/emacs/key-chord.el

(key-chord-define-global "ac" 'auto-complete-mode)


key-chordは2つのキーを同時に押しにコマンドを割り当てられる便利な機能です。

もっとも入力が日本語モードだと上手く動かないかもしれませんが・・・

つくづく変換って面倒くさいと思う今日この頃です。





別にGoogle Chromeに不満がある訳じゃないんですが、

EmacsでWEBページが見れると便利だろうな~という事で、

w3mを導入してみます。


Emacsで読めると、

・Emacsから出ることなく、ブラウジングが可能

 ニュースとかのクリッピングとかにはちょうどいいかもしれない

・w3mはテキストベースのブラウザなので、表示が早い

 画像なんて飾りだ!と言いきれる人には良いものです(きっと)

・Emacsないでw3mを実行すると、自分でカスタマイズした環境で使える。

・Lispの解説サイトとかに行くと、当然ながらC-x C-eを使って解説してる式の評価ができる。

 プログラムを実際に動作させながらお勉強ができる

といった利点があります。


ちなみに今回はWindowsで動かす場合についてです。

Cygwinが必須です。


まずはw3mをダウンロードして来ます。

最新のソースをダウンロードして、自分でコンパイルする場合は下からソースをダウンロード

http://w3m.sourceforge.net/index.ja.html

http://www.sic.med.tohoku.ac.jp/~satodai/w3m/src/


てっとり早く、コンパイル済みの物が欲しい場合は、

探せばだれかがUPしてるかもしれません。


ちなみにCygwinのインストール時にきちんと設定すれば、

デフォルトで入っているかもしれません。


ひっしにコンパイルしようと、この1週間夜もろくに寝ずに頑張ってたんですが、

Cygwinのアップデーターから簡単にインストールできるのが分かった時には、

がっくし来ました・・・


Cygwinから下みたいにうって、反応が返ってくればインストールされてます。


くらいまーず はい


ちなみにCygwinのアップデートの仕方ですが、

まず下のリンクからsetup.exeをダウンロードして来ます。

http://www.cygwin.com/


ダウンロードしてきたsetup.exeを起動すると、

インストール先のフォルダを聞かれるので入力します。

Cygwin.exeが入っているbinフォルダの一つ上の階層をしてします。


フォルダ指定後、ミラーサイトを指定すると、

下みたいにインストール出来る物のリストが表示されます。

下は検索窓に[make]と入力して、makeの文字列が含まれるパッケージだけ表示させてます。

動きはかな~り遅いので、気長にやってください。


くらいまーず はい


w3mは[Text]か[Web]のカテゴリーに入っているはずです。

Cygwin上の最新は0.5.1-2

ソースで落ちてる最新は0.5.2となります。

変更点がどの程度か分かりませんが、特に気にしないなら0.5.1で良い気がします。


くらいまーず はい


やっぱり最新じゃないと気が済まない!と言う人はソースからのコンパイルを試すとよいかもしれません。

Readmeを見ると、


./configure

make

make install


の3手順のみで、簡単です見たいに書いてますが、

恐らくCygwinをインストールしたときに導入したパッケージの問題から、

上手くいきませんでした。

./configure

の後で、

Package gtk+-2.0 was not found in the pkg-config

みたいに何かのパッケージが無いと怒られたり、

ダメもとでmakeしてみて

/home/w3m/terms.c:726: undefined reference to `_tgetent'

みたいにexternalで宣言してる関数が無いと怒られたりした場合は、

Cygwinのアップデートでパッケージを導入するか、

WEBから引っ張ってくる必要があります。


ちなみに自分で試した時に怒られたり、普通に考えて必要そうなものはこんな感じです。

autoconf
gcc
GC Library(libgc)
binutils
Gdkpixbuf
Imlib
umcompface(compfaceを入れれば付いてくる)
pkg-config
GTK++2.0


後、Cygwinのアップデートからは入手できなくて、

configureで引っかかったImlib2は下からダウンロードして来ました。

Imlib2

http://cygwin-je.sourceforge.jp/cygwin_je/release/imlib2/



引っかかってもエラーとにらめっこして関係ありそうなパッケージを入れ直したり、

上手くググる単語を選んだりしてるうちに通るようになると思います。


ちなみに色々やってCygwinを強制終了したんだけど、ファンが回りまくってる場合は、

タスクマネージャーから[sh.exe]とか[sed.exe]とかCygwin関係のプロセスを終了してみてください。

プロセスを右クリックして、ファイルの場所を表示させれば分かります。

あんまり良い事ではないんでしょうが・・・


きちんとmakeが通れば、実行ファイルが出来ているはずです。

後はmake installするか、手動でファイルを所定の場所に置けば使えるはずです。


くらいまーず はい


きちんとインストールできていれば、バージョンが上がっているはずです。


くらいまーず はい

ちなみにmake installでインストールした場所だと、emacs w3mを導入したときに上手くいかないかもしれません。

その場合は手動でファイルをCygwin.exeと同じフォルダに移す必要があります。



何はともあれ、w3mがインストール出来たら

したからemacs-w3mをダウンロードして来ます。

http://cvs.namazu.org/emacs-w3m.tar.gz


落としてきたら、下のページなどを参考にしながらmakeしてください。

emacs-w3m本体のほかに、あらかじめインストールする必要があるものが

何点かあります。

http://www.bookshelf.jp/texi/emacs-w3m/emacs-w3m-ja_2.html#SEC2


上手くインストール出来れば、


M-x w3m

でEmacs内でw3mが起動します。


w3mをCygwinから動かした時、proxyの設定が必要だった場合は、

Emacs本体への設定と別にemacs-w3m用に設定する必要があります。

プロキシを使わない設定の人は、init.elか.emacsに下を書きます。


(w3m-command-arguments (quote ("-no-proxy")))


proxyを使いたい場合は、下みたいに正規表現を使って、

proxyを使う場合、使わない場合を選択できます。


(setq w3m-command-arguments-alist
'(;; Don't use the proxy server to visit local web pages.
("^http://\\(?:[^/]*\\.\\)*your-company\\.com\\(?:/\\|$\\)"
"-no-proxy")
;; Use the proxy server to visit any foreign urls.
(""
"-o" "http_proxy=http://proxy.your-company.com:8080/")))


うまく動けばこんな感じです。

Viva! Ubuntu!!を表示してるところ


くらいまーず はい


もちろん画像も表示できます。

が、画像を表示させるとそれなりに重いので普段は表示なしがお勧めです。

画像の表示、非表示は[T]を打つたびに切り替わります。


くらいまーず はい


その他使い方は下のページに詳しく載ってます。

http://www.bookshelf.jp/texi/emacs-w3m/emacs-w3m-ja.html



とりあえずザックリな使い方は、


M-x w3m

でw3mを起動


[S]を押して調べたい言葉を入力してgoogle検索


"SPC"で画面を下にスクロール

"S-SPC"で画面を上にスクロール


"SPC"で画面の一番下まで行って、次のページがある場合は、

"SPC"を押すことで移動できます。


"TAB"でカーソルに一番近いリンクの貼られた個所へ移動


"]"で一番近いフォームへ(googleとかで検索したい文字を打つ場所)

"Enter"で検索したい文字を入力したら、

"C-c C-c"で検索できます。


"Enter"でそのページへ飛ぶ

"S-Enter"でそのページを新しいタブで開く

タブの所でホイールを回すとタブ間を移動

カーソルで操作するには

"C-c C-p" or "C-c C-n"


"B"で一つ前に戻る


"a"でブックマーク保存


"v"でブックマークのリストを見る


"q"でw3m終了


見たいな感じです。