redo を C-S-/ に割り当て
2007-03-12-1 / カテゴリ: [meadow] / [permlink]

redoの設定自体はここで大丈夫だったけど、C-S-/ にキーバインドできない…
探してみると、こっちの方法でOK
(require 'redo)
(global-set-key (quote [67108927]) (quote redo))

Meadow の redo のキーバインドはみんな悩みどころなんだろうか…

タブの入力
2007-02-22-1 / カテゴリ: [emacs][meadow] / [permlink]

struct hoge {
   m_foo;    // foo
   m_bar;    // bar
   m_baz;    // baz
         ^^^^ この辺にタブを入れたい
};
タブキーや C-i はインデント
タブの入力は
M-i
スタイルに関係なく 0x09(ハードタブ) がカーソル位置に挿入される。
表示上のタブ幅はスタイルに影響される。[2006-03-09-1]で言えば tab-width の値。

関数一覧表示
2006-12-08-1 / カテゴリ: [programming][emacs][meadow] / [permlink]

関数を一覧表示する — summarye.el
現在のバッファのソースコード内にある関数定義の一覧を表示する。
navi.el の方が(デフォルトでは)使いやすそうだったけど、あいにく手元の(一覧を表示したい)C++ソースでちゃんと動いてくれなかったんで summarye.el を使用。
便利なり。

read-only で開いたファイルを書込みOK状態にする
2006-03-09-2 / カテゴリ: [meadow][emacs] / [permlink]

C-c C-q
トグル式。も1回やれば読み取り専用になる。
ファイルシステム上のモードが変わるわけではないので、read-onlyのファイルを開いた場合は、1. read only を解除する 2. C-c C-q 3. 保存 にする。
のかな。

タブ幅の変更
2006-03-09-1 / カテゴリ: [meadow][emacs] / [permlink]

基本技、だろーな
(setq tab-width 4)

Cモードのみ、に追加してみた
(add-hook 'c-mode-common-hook
          '(lambda ()
             (c-set-style "stroustrup")
             (setq c-basic-offset 4)
             (setq tab-width 4)
             (setq indent-tabs-mode nil)))
Referrer (Inside): [2007-02-22-1]

選択undo
2006-03-08-1 / カテゴリ: [meadow][emacs] / [permlink]

1. あるバッファの編集を行なう(編集A)
2. 同じバッファの編集を行なう(編集B)

ここでフツーに undo すれば当然「編集B」の箇所が対象だが、「編集A」のみ undo したい場合、対象箇所をリージョン選択し C-/ で、選択範囲のみの undo が可能。

スタイルの変更
2006-03-06-2 / カテゴリ: [programming][c][meadow][emacs] / [permlink]

ずっと Perl やってたからかな? C でも BSD なスタイル(↓)で書いてる.
int function() {
    :
}
(Javaもこのスタイルっぽい)

まぁ,いろいろあって GNU スタイル(↓)に改宗しよーと思い,
int function()
{
    :
}
Meadow でコードを書いてたら,関数は良いが制御構文が…
if (foobar)
  {
    :
  }
えー!? ナニコレ!?

http://www.02.246.ne.jp/~torutk/cxx/emacs/indentation.html
どーやら Emacs では,デフォルトのスタイル(c-set-style で設定)は gnu で,上記の自動インデントを行うみたい.さすがに括弧の位置はインデントしたくないので,stroustrup を使うことにする.これなら関数も制御構文も
foobar
{
    :
}
になってくれた.

.emacs はこんな感じ
(add-hook 'c-mode-common-hook
          '(lambda ()
             (c-set-style "stroustrup")
             (setq c-basic-offset 4)       ; インデントは4文字
             (setq indent-tabs-mode nil))) ; ハードタブじゃなくてスペース

タグジャンプ(定義位置の参照)
2006-03-06-1 / カテゴリ: [programming][meadow][emacs] / [permlink]

あらかじめ
% etags *.{c,h}
としておく.すると TAGS というバイナリファイルができる.
多分 VC++ における bsc ファイルだ.
この状態で Meadow で参照対象にカーソルを合わせ
Esc .  (M-x find-tag)
(または M-.)すればジャンプする.
おまけで,M-/ の補完も賢くなる.
etags.exe は $MEADOW/bin 以下.パス通しとけ.

標準ライブラリの関数や定数なんかも含めたければ,/usr/include/*.h /usr/include/*/*.h も引数に入れれば良い.
が,Cygwin + Meadow 環境では
% etags *.{c,h} c:/usr/include/*.h c:/usr/include/*/*.h
じゃないと「ンなファイルねぇよ」になる.

連続する空行を削る
2006-01-25-1 / カテゴリ: [meadow][emacs] / [permlink]

連続空行の1行目の上の非空行で
C-x C-o
便利だ。

空行中に実行すると、カーソル行上下の空行が削られる。
(その後 C-k すれば全部消える)

IMAP over SSL(part2)
2006-01-22-1 / カテゴリ: [meadow][SSL][imap][wanderlust] / [permlink]

古いけど[2005-07-05-1]の続き。
ssl.el はパスが変わったかな? 本家から、stable/wl-2.12.2.tar.gz を落としてきて、utils/ssl.el を C:\Meadow\packages\lisp\wl\ssl.el にコピー。で、byte-compile-file する。

で、相変わらず imaps 接続すると
Cannot open: elmo-network-initialize-session
となるので、パケットキャプチャしてみた。
つか、なんで以前はやらなかったんだろ^^;

で、やっぱり証明書まわりだ。
Alert (Level: Fatal, Description: Unknown CA)
だって。

ただ、self signed な証明書だと NG だけど、自己CAでも良いので署名があればアクセスできてそう。

さくらの imaps(とpops)は self signed な証明書なんで、ダメだった。openssl でアクセスすると
$ openssl s_client -connect example.sakura.ne.jp:993
:
SSL-Session:
:
    Start Time: 1137938883
    Timeout   : 300 (sec)
    Verify return code: 19 (self signed certificate in certificate chain)
---
(以下、imap)
こんな感じ。
ちなみに、自己CAでサインしてるおうちサーバだと同じ部分は
    Verify return code: 21 (unable to verify the first certificate)
だ。
こっちは、imapsでアクセスできる。

うーむ...
というか、wlはルートCAたどれなくてもアクセスできるって事??

ssl.el のソースには
(defcustom ssl-certificate-directory "~/.w3/certs/"
  "*Directory to store CA certificates in"
  :group 'ssl
  :type 'directory)
なんて記述があるけど、イマイチわからず。

(usage メモ)
.wl (や.folders)への記述なしに、一時的に imap(s) アクセスするには、g で
%inbox:username[/method]@imap.example.org[:port]
とか
%inbox.sent:username[/method]@imap.example.org:993!
! で SSL 接続。
/method は省略すれば .wl の
(setq wl-smtp-authenticate-type "cram-md5")
とか clear とか login が使われる。

http://www.gohome.org/wl/doc/wl-euc_19.html#SEC19


(追記)
現在の環境
Setup.exe version 2.10.8
GNU Emacs 21.4.1 (i386-mingw-nt5.1.2600) of 2005-08-28 on CUBE
Wanderlust/2.12.2 (99 Luftballons) (パッケージの2.12.2-1)

ファイル・バッファの検索
2006-01-13-1 / カテゴリ: [meadow] / [permlink]

color-moccur、むちゃイケてる。Meadow/Emacs memo: バッファの検索 -- color-moccur

Meadow で開いているファイル全てから検索
M-x moccur
 -> List lines matching regexp: (パターン)

特定ディレクトリ直下のファイルから検索
M-x moccur-grep
 -> Directory: c:/Documents and Settings... (ディレクトリの指定)
 -> Input Regexp and FileMask: ^# pl$ (検索パターンとファイル名マスクをスペース区切りで)
ファイル名マスクも正規表現で、ファイルグロブでないところがちと戸惑う…

特定ディレクトリ以下、再帰的に検索
M-x moccur-grep-find
(以下、moccur-grep と同じ)

linux の emacs でも使えるのかな? 今、手元にないから試せない...

バイナリファイルを開く
2006-01-11-2 / カテゴリ: [meadow][emacs] / [permlink]

M-x hexl-find-file
で、ファイル名

または、ファイルを開いている状態で
M-x hexl-mode

いずれも、キーボードからキーのasciiコードなら入力可能
(a -> 61, 0 -> 30 など)
通常モード(テキスト編集)に戻すには
C-c C-c
または
M-x hexl-mode-exit

編集は
M-x hexl-insert-hex-char
または
c-M-x
で、キーボードの文字を16進として入力できる。

制御コードとか、non-printableなコードを入れる場合は面倒だな…

lookup で和英・英和辞書
2005-12-26-1 / カテゴリ: [win][meadow] / [permlink]

英辞郎のデータをFreePWING形式に変換
全部 cygwin 環境で実施.Jcode.pm がなければ入れておく.
Meadow は Netinstall で lookup をインストールする.

□ 準備(FreePWINGのインストール)
辞書形式の変換に必ず必要というわけではないが,英辞郎の辞書データの変換には必要.しかもうまくいってない… orz
FreePWINGから最新版のソースをダウンロード.
$ tar zxvf freepwing-1.4.4.tar.gz
$ cd freepwing-1.4.4
$ ./configure
$ make
すると
:
:
rm -f catdump.tmp
make[1]: Leaving directory `/home/zaki/tmp/freepwing-1.4.4/catdump'
make[1]: Entering directory `/home/zaki/tmp/freepwing-1.4.4'
make[1]: `all-am' に対して行うべき事はありません。
make[1]: Leaving directory `/home/zaki/tmp/freepwing-1.4.4'
とかなんとかうまくいかん...
が,必要なファイルのビルドは終わっているっぽい(fpwutils以下)ので,
$ make install
を__無理矢理__実行する :p
/usr/local 以下の bin/fpwmake と libexec/freepwing, share/freepwing あと Perl のモジュール類かな,入るのは.

□ 英辞郎
なんかミョーに苦戦した.Makefile が悪い…のか? 英辞郎のEPWING化参照.
英辞郎の EIJIRO**.TXT を同じディレクトリにおいておく.空きディスクは1Gくらい必要かな.
$ cat > Makefile
INSTALLDIR=.
DIR=EIJIRO

FPWPARSER=eijiro-fpw.pl
FPWPARSERFLAGS=EIJIRO39.TXT

include fpwutils.mk
$ make -I /usr/local/share/freepwing
EIJIRO39.TXT は英辞郎データのファイル名.
-I は FreePWING でインストールされた fpwutils.mk があるディレクトリ.
超時間かかるので寝る前に仕掛けるのが良いかも.
makeが終わると,カレントに honmon ファイルが生成される.
んで
$ nkf -e catalogs.sjis > catalogs.txt
$ /usr/local/libexec/freepwing/catdump -u catalogs.txt catalogs
できた catalogs と honmon を
C:/Program Files/dict/EIJIRO/CATALOGS
C:/Program Files/dict/EIJIRO/EIJIRO/DATA/HONMON
という構成でコピー

□ 和英辞郎
割とすぐできた.
$ fpwmake
$ fpwmake catalogs
カレントにできた catalogs と honmon を
C:/Program Files/dict/WAEIJIRO/CATALOGS
C:/Program Files/dict/WAEIJIRO/WAEIJIRO/DATA/HONMON
とする.

□ eblook.exe
http://openlab.jp/edict/eblook/
これもビルド…しないといけないっぽいっつーか,ビルドのために別ソフトもビルドしてインストールしなければならん?? 辞書の変換で力尽きた… orz
と,Meadow/Emacs memo: Meadowで辞書を引こうから,eblook.lzh をダウンロードできるので,eb.dll と eblook.exe を $MEADOW/bin 以下にコピー

□ .emacs
これで最後
(autoload 'lookup "lookup" nil t)
(autoload 'lookup-region "lookup" nil t)
(autoload 'lookup-pattern "lookup" nil t)
(define-key global-map "\C-cl" 'lookup-pattern)
(setq lookup-search-agents
      '((ndeb "C:/Program Files/dict/EIJIRO/")
	(ndeb "C:/Program Files/dict/WAEIJIRO")
	))
(setq lookup-process-coding-system 'sjis-dos)
こんだけ追加.キーバインドは好みで.パスは CATALOGS ファイルがあるパス.

対応括弧へのジャンプ
2005-12-25-4 / カテゴリ: [meadow][emacs] / [permlink]

括弧にカーソルを合わせて
M-C-n (開き括弧へ)
M-C-p (閉じ括弧へ)
ほかは,
M-x show-paren-mode
で,カーソルにフォーカスしているときに対応する括弧が強調される.

.emacs には
(show-paren-mode t)
としておけば有効になるけど,起動時に
Args out of range: 501414, 501414
って出るんだよなぁ… 一応有効になるけど.

UTF なファイルを開く
2005-12-25-3 / カテゴリ: [win][meadow] / [permlink]

標準状態だと,UTF コードは読めない.ググるとすぐ見つかったけどメモ.
http://kawacho.don.am/win/meadow/mule-ucs/mule-ucs.html

1. Netinstall で mule-ucs をインストールする
2. .emacs に以下を (set-language-environment "Japanese") より手前に追加
;;; Mule-UCS の設定
(require 'un-define) ; Unicode
(require 'jisx0213)  ; JIS X 0213

wanderlust で UTF8 エンコードなメールも読めるようになった.

Shift + カーソルでリージョン選択
2005-11-03-1 / カテゴリ: [win][meadow] / [permlink]

(pc-selection-mode)
ナイスだ.

あとは,リージョン選択中のみ C-c/C-x の挙動を換えられたらなぁ.xyzzy の「C-x と C-c を Windows と xyzzy でなかよく」のような.

日本語入力中(変換中)のフォントを設定
2005-10-28-4 / カテゴリ: [win][meadow] / [permlink]

default-frame-alist の font だけだと、入力中のフォントはかわらず、特にフォントサイズを変更しているときにスゲー違和感がある。
で、ネットで探してみたけど、それっぽい設定はあったが有効にならず...
dot.emacs.ja を見たら、答えがあった(笑)
       '(ime-font . (w32-logfont "SH G30-Mz"
                                      0 14 400 0 nil nil nil
                                      128 1 3 49))
としておく。
フォントサイズは、よくわからん引数の2番目の14のところを、height で指定したのと同じにすればオーケーっぽい。

色一覧
2005-10-28-3 / カテゴリ: [win][meadow] / [permlink]

M-x list-colors-display

外部から起動中の Meadow にファイルを開かせる
2005-10-28-2 / カテゴリ: [win][meadow] / [permlink]

xyzzy でいう xyzzycli.exe を実行する

まず gnuserv パッケージをインストールする。
.emacs に
(require 'gnuserv)
(gnuserv-start)
; フレームを新たに作らない
(setq gnuserv-frame (selected-frame))
を設定

環境変数に
GNUCLIENTW=-F
GNUDOITW=-F
EMACS=MEADOW
RUNEMACS=c:/Meadow/2.00/bin/RunMW32.exe
を設定
上3つは、起動時に Meadow をフォアグラウンドにする設定。
RUNEMACS は、すでに起動している Meadow が無い場合に、新しく起動する設定。
どちらも必要なければ設定しなくてもまぁよい。

で、たとえば cygwin の bash から
$ gnuclientw foobar.txt
とか、
dyna のエディタに gnuclientw.exe を指定するとか、
.txt の関連付けに gnuclientw.exe を指定するとかすれば良い。

左側に行番号を表示する(vi の :se nu)
2005-10-28-1 / カテゴリ: [win][meadow] / [permlink]

[2005-04-19-2]のリベンジ

まぁ、http://cwaweb.bai.ne.jp/~daisaku/meadow.html の通りで動いた。
Emacs Lisp Listから、setnu.el を拝借し、$Meadow/2.00/site-lisp/setnu.el とし、.emacs に
(autoload 'setnu-mode "setnu" nil t)
とした。

とりあえず、
M-x setnu-mode
で期待通りの表示にはなるけど、標準状態で on にどうしてもならない...

ので、.emacs に
;; [F8] で set number をトグル
(global-set-key [f8] 'setnu-mode)
なんて設定をいれといた^^;


10,000 行を超えるファイルだと、トグルに8秒くらいかかる...(PenM 800MHz)
カテゴリ: meadow / 1 2 次ページ

最終更新時間: 2013-05-02 16:12