トップページunix
1001コメント308KB

Emacs part9

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
各種 Emacs 関連はこちらで。

Emacs
http://cocoa.2ch.net/unix/kako/967/967450973.html
Emacs part2
http://pc.2ch.net/unix/kako/1001/10010/1001087615.html
Emacs part3
http://pc.2ch.net/unix/kako/1007/10076/1007618266.html
Emacs part4
http://pc.2ch.net/unix/kako/1013/10133/1013390142.html
Emacs part5
http://pc.2ch.net/unix/kako/1021/10217/1021734785.html
Emacs part6
http://pc.2ch.net/unix/kako/1032/10326/1032611750.html
Emacs part7
http://pc.2ch.net/test/read.cgi/unix/1042141693/
Emacs part8
http://pc.2ch.net/test/read.cgi/unix/1051455239/

Emacs Lisp で書かれたプログラムのバグを知らせる方法
http://www.jpl.org/elips/BUGS-ja.html
0067名無しさん@お腹いっぱい。NGNG
>>66
> > 御大、「すべからく」の使い方間違ってる・・・
> 意味はわからずに、使っている。「とにかく」「いずれにせよ」に近い。
> 実は若い?

じゃぁ、若!
migemo0.40にて(setq isearch-case-fold-search t)をつけていますけど、
Linux版で"kylix"は検索できなくて"Kylix"なら引っかかります。
0068名無しさん@お腹いっぱい。NGNG
>>66
若い人に限らず使うよ。
50代の人とかのが多いんじゃないのかな。
昔方程式なんかを説明すうるのに使ってたみたい。
0069名無しさん@お腹いっぱい。NGNG
>>68
誤用が若い人に多い、ってことでしょ?
0070名無しさん@お腹いっぱい。NGNG
>>69
上述の理由により理系の人に誤用が多いと思う。
文系でそゆこと言ってるやつは頭弱い。

以下、かなりスレ違いな話題だけど、

うんでも、別にそゆ用法は間違いじゃないと思うんだけどな。

なんでも、正しい言葉使いが良いってのは、文化的ファシズムであると思うよ。
その方向を突き進めると、方言なんかは撤廃すべきだとか、経済的に強い国以外
の文化はどうでも良いとかいう話になっちゃう。

オープンソースやらGnu又はオープンソース系日本語関係プロジェクトなんかで
気になるのはその点で、正しいものだけ取り込むってのは、文化的には間違いな
んよ。IMの辞書なんかではそれが顕著だよね。

外国とかはどうなんか知らんけど。
0071名無しさん@お腹いっぱい。NGNG
スレ違い、いい加減に汁。
若も、ちょっと不機嫌がぞ。
http://goas.no-ip.org/~shirai/diary/?07241800

早く報告汁べし。
0072名無しさん@お腹いっぱい。NGNG
70は馬鹿丸出し
0073名無しさん@お腹いっぱい。NGNG
70はヤヴァい。
0074名無しさん@お腹いっぱい。NGNG
はい、それから〜
0075名無しさん@お腹いっぱい。NGNG
スペースキーの表記法を教えて下さい。
キーマップの変更をしたいのですが、
"\C- " [C-space] [C-spc] はどれも
有効にはなりませんでした
0076名無しさん@お腹いっぱい。NGNG
>>75
どの Emacs で?
[(control ? )] はどうよ。
0077名無しさん@お腹いっぱい。NGNG
>>76
ありがとうございます、できました(Emacs21)

comp.emacs ネタですが、マークの挙動を
変えようとしてました。

(defun just-mark ()
(interactive)
(transient-mark-mode 0)
(set-mark-command nil)
)
(defun mark-and-highlight ()
(interactive)
(transient-mark-mode 1)
(set-mark-command nil)
)
(define-key global-map "\C-@" 'just-mark) ;; マークのみ
(define-key global-map [(control ? )] 'mark-and-highlight) ;; リージョンに色付け
0078名無しさん@お腹いっぱい。NGNG
(defun memo ()
(interactive)
(let ((add-log-current-defun-function 'ignore)
(memo-file "~/memo/diary"))
(set-buffer (find-file-noselect memo-file))
(add-change-log-entry
nil
(expand-file-name memo-file))))

としているんだけど。CVS 版 Emacs だと動きません。
0079名無しさん@お腹いっぱい。NGNG
大した数の関数使ってる訳じゃないんだから、
一つ一つ自分で動作確認したら。
0080名無しさん@お腹いっぱい。NGNG
>>79
let を setq に変えて一つ一つ C-x C-e 摩るとうまく行くんですが……。

0081名無しさん@お腹いっぱい。NGNG
どうだめなのか、debug-on-error とかもつけないのかよ。
0082名無しさん@お腹いっぱい。NGNG
>>78
edebug-defun してみ。
0083名無しさん@お腹いっぱい。NGNG
>>81
diary バッファが表にこない
0084名無しさん@お腹いっぱい。NGNG
>>78
たぶん buffer が移動しない、ってことじゃない?
set-buffer じゃなくて switch-to-buffer 使おうね。

今まで動いてたのは add-change-log-entry で必要ないのに
find-file してたからで、たまたま。
0085名無しさん@お腹いっぱい。NGNG
っつーか
> としているんだけど。CVS 版 Emacs だと動きません。
この書き方だと CVS 版じゃなければ動く印象を受けるんだが、このコードだ
と CVS 版じゃなくてもバッファは前に来なくない?
0086名無しさん@お腹いっぱい。NGNG
わざわざ CVS版 Emacs で動かねーと書くからには、
21.3 では動くことぐらい検証してあるんだろうな?
0087名無しさん@お腹いっぱい。NGNG
>>86
動く
0088名無しさん@お腹いっぱい。NGNG
>>77
> >>76
> ありがとうございます、できました(Emacs21)

それだと、C-uC-@ or C-uC-SPC の jump to mark が使えないですね。

ところで、C-u C-u C-@, unconditionally set mark where point is.
て、なんなんでしょう?
0089名無しさん@お腹いっぱい。NGNG
>>88
> それだと、C-uC-@ or C-uC-SPC の jump to mark が使えないですね。
だってあんたのコード、 prefix arg を捨ててるやん。
0090名無しさん@お腹いっぱい。NGNG
jump to mark って
C-xC-x のこと?
0091名無しさん@お腹いっぱい。NGNG
>>90
describe-key しる
`C-x C-x runs the command exchange-point-and-mark'
だからちと違う
0092名無しさん@お腹いっぱい。NGNG
previous-complex-command (M-p)
next-complex-command (M-n)
とかっていうのなくなっちゃったの?
手元のemacs21.2では使えないみたいなんだけど
0093名無しさん@お腹いっぱい。NGNG
以下に3つのCの変数名があります。

(1) aa.bb.cc
(2) aa_bb_cc
(3) aabbcc

こんなとき、(1)だけを aa.xx.cc に置換するにはどうやっていますか?

ESC % では (1)(2)(3)
C-u ESC % では (1)(2)
replace-regexp で \bbb\b を指定では (1)(2)
が、置換対象になってしまいます。
0094名無しさん@お腹いっぱい。NGNG
replace-regexpで
\.bb\.
uu
じゃだめかな?
0095名無しさん@お腹いっぱい。NGNG
>>93
M-% の query に SPC ESC と答えりゃええやん。
0096名無しさん@お腹いっぱい。NGNG
普通に query-replace で aa.bb.cc を aa.xx.cc に置き換えればいいんじゃないの?
手元ではそれでよさそうだけど
0097名無しさん@お腹いっぱい。NGNG
>>96
ソレダ
009893NGNG
>>94-96
もちろん、それでOKです。
が、bb は構造体のメンバなので実際は、

(4) func(bb)
(5) bb=cc

のように表記している個所も考慮する必要があります。
また置換も '!' で瞬時に行いたいのです。

[^_a-zA-Z]bb[^_a-zA-Z] を元に置換するようなelispを
書くこと以外に、優れた方法はないのでしょうか。
0099名無しさん@お腹いっぱい。NGNG
>>93
そもそも_単語境界ってのが謎だな。sed使え。
0100名無しさん@お腹いっぱい。NGNG
数値 12.34567 から 12.35 を得る(小数点三位以下を四捨五入する)
方法はないでしょうか?

(/ (round (* 12.34567 100)) 100.0)
なんてショボイ方法をおこなっているのですが。
0101名無しさん@お腹いっぱい。NGNG
>100 良いんでないのん?
0102名無しさん@お腹いっぱい。NGNG
>>100
精度 & 負の扱いが round まかせでいいならそれで OK

もうちっと厳密に小数点第3位を見たいなら、
(/ (truncate (+ (* 12.34567 1000) 5)) 1000.0)
とかやるんかねえ。負の扱いは floor か truncate かで使い分けてくれや。
0103名無しさん@お腹いっぱい。NGNG
>>101-102
レス、ありがとうございます。

> 負の扱いは floor か truncate かで使い分けてくれや。
この辺りは考えてませんでした。もっと精進します。
0104名無しさん@お腹いっぱい。NGNG
1つ質問があります。
:(コロン)をプリフィックスキーにしたいのですが、
以下のようにzの場合はうまくいくのですが、

(define-prefix-command 'Control-Z-prefix)
(global-set-key '"\C-z" 'Control-Z-prefix)
(global-set-key '"\C-zo" 'other-window)

これを単純に:(コロン)に置き換えてもうまくいきません。

(define-prefix-command 'Control-:-prefix)
(global-set-key '"\C-:" 'Control-:-prefix)
(global-set-key '"\C-:o" 'other-window)

2行目で、
(error "Invalid modifier in string")
になってしまいます。

コロンをプリフィックスキーにするにはどうすればいいのでしょうか?
教えてください、お願いします。
0105名無しさん@お腹いっぱい。NGNG
trampを使っているのですが、(ftpを使いたいため
やむを得ず)ange-ftpと共存するにはどう設定したら
よいでしょうか?ange-ftpでなくてもdiredでマークして
操作できるものがあったら教えて下さい。
0106名無しさん@お腹いっぱい。NGNG
>>104
Xなのかコンソールなのかハッキリしてくだちい。

C-h c RET C-: 等で C-: が Emacsに認識されてるか
どうかで対応がかわる。

Xならおそらく認識される筈なので、>>76を参照しる。
0107105NGNG
tramp-default-method-alist
でできますた。
010894NGNG
(4)は
[\.\(]bb[\.\)]
でどうだろうか?
.bb)にマッチしたりするけど、、、
(5)は。。。
[\.\(]?bb[\.\)=]
でどう?
こういうとき駄目って例があれば。
0109名無しさん@お腹いっぱい。NGNG
>>106
X上で動作させていました。
無事解決しました。ありがとうございました。
0110名無しさん@EMACS21NGNG
.emacsの設定に使う load と autoload の使い分けって、emacs起動時に待つ
かコマンド起動時に待つかを選択すると考えて良いんでしょうか?

0111名無しさん@お腹いっぱい。NGNG
>>110
待つ? 何を?
0112名無しさん@お腹いっぱい。NGNG
>>111
loadするのを待つってことですかね。
0113名無しさん@お腹いっぱい。NGNG
>>110
タイミングとしてはその認識であってる、と思う。
0114名無しさん@お腹いっぱい。NGNG
>>113

ってことは、起動速度をあげたいときは、autoload を使うようにすればいいのね。
.emacs、見直してみようっと。
0115名無しさん@お腹いっぱい。NGNG
>>114
そーだね。起動時間だけじゃなくてメモリの節約にもなるし autoload を使え
るものは使った方がいいよ。
0116名無しさん@お腹いっぱい。NGNG
>>114
よく使うコマンドは、autoloadすると使う時(初めだけ)
ファイル読み込んだりしてうっとうしいので、初めに読み込んだほうがいいよ。

また、elispを読み込む順番で、挙動不審になるパッケージもあるので。
(あるコマンドを実行すると、それまでのキー設定を上書きしたり、
既存の関数を上書きしてそれを使用している他の
 コマンドが動かなくなることも・・・)

俺も一時期、autoloadを使ったが安定して使うには
初めにほとんど読み込むようにしている。

ようはEmacsを使うのなら起動時間にとらわれないことだ。
落ちるまで立ち上げっぱなしにしておけばいい。

0117名無しさん@お腹いっぱい。NGNG
>>93
syntax-table の中の "_" の役割を変えちゃえばいいです。
んでそんなコマンドを書こうと思ったらすでに標準で準備されてるんすね。

M-x modify-syntax-entry RET _ w RET
すると _ が普通の文字と同じになるんで
query-replace-regexp で \bbb\b をすれば _ は単語境界にならなくなります。

終わったら
M-x modify-syntax-entry RET _ _ RET
でシンボルの役割に戻しときましょうです。
M-f で _ のとこで止まらなくなっちゃいます(その方が便利かもしれないですけど)。

011893NGNG
>>117
それだー!ありがとうございます。
↓こうやることにしました。

(add-hook 'c-mode-hook
'(lambda ()
(modify-syntax-entry ?_ "w" c-mode-syntax-table)))

ちなみに _ が単語境界にならなくなったことで
C-u ESC % でも意図したような置換が可能になりました。
0119user-real-uid と user-uid の地害を教えてください。NGNG
User Identification
===================

- Function: user-real-uid
This function returns the real UID of the user. The value may be
a floating point number.

(user-real-uid)
=> 19

- Function: user-uid
This function returns the effective UID of the user. The value
may be a floating point number.
0120119NGNG
ちなみにやりたいことは、uid が 0 だったら、(save-buffers-kill-emacs)
としたいです。(user-login-name) は環境変数を見るらしくあきらめました。
0121ヽ(´ー`)ノNGNG
> real UID of the user
> effective UID of the user
そのまんまじゃん?
0122NGNG
☆無修正画像&サンプルムービーをどうぞ!!☆
http://yahooo.s2.x-beat.com/linkv/linkv.html
0123名無しさん@お腹いっぱい。NGNG
eMacには、emacsがよく似合う
0124名無しさん@お腹いっぱい。NGNG
>123
eMac の上で emacs 動かしてるのか (ワラ
かなりの少数派だな
0125名無しさん@お腹いっぱい。NGNG
こっちのスレだと、みんな喜びそうだね。
http://pc.2ch.net/test/read.cgi/mac/1054470569/l50
0126名無しさん@お腹いっぱい。NGNG
>125
正直シランカッタ
0127名無しさん@お腹いっぱい。NGNG
cvs から migemo.el の新しいの入れたけど、未だに
C-s emacs で Emacs が検索できない。

僕だけの問題のようなので、一度 emacs を入れ直してみるか…。

それと、ミニバッファには Failing と出ているのにもかかわらず
検索ができてしまう時もある。もうわけわからん。
0128名無しさん@お腹いっぱい。NGNG
migemo.el の問題なのか migemo の問題なのかわからんよ。
0129名無しさん@お腹いっぱい。NGNG
emacs はさ、もうサーバ部分とクライアント部分に
わかれた方がすっきりして、発展しやすいと思うんだよね。
0130名無しさん@お腹いっぱい。NGNG
なんのサーバとなんのクライアントだよ
0131名無しさん@お腹いっぱい。NGNG
multi thread の lisp interpreter と
その一 thread であるエディタ部分とか。
0132名無しさん@お腹いっぱい。NGNG
% emacs --batch -q --no-site-file --eval '(progn (calendar) (message (buffer-string)))'
これ面白い。

% emacs --batch -q --no-site-file --eval '(message "hoge")'
このくらいならほとんど一瞬だし。

% alias elisp='emacs --batch -q --no-site-file --eval'
こうしとくといいかもね。
0133名無しさん@お腹いっぱい。NGNG
バッファの下からwindow-height 行をウィンドウに表示させたいのですが,ど
のようにしたらよいでしょうか?

現在↓こんなコードでやっているのですが,もっと良い方法は無いでしょうか?

(when (< (window-height) (count-lines (point-min) (point-max)))
(goto-char (point-max))
(forward-line (- (/ (- (window-height) 7) 2)))
(recenter))
0134名無しさん@お腹いっぱい。NGNG
>>133
(goto-char (point-max))
(recenter -1)
0135133 NGNG
>>134
ありがとうございます
0136名無しさん@お腹いっぱい。NGNG
built-in function の一覧を調べる方法はないでしょうか?
0137名無しさん@お腹いっぱい。NGNG
>>136
何が目的なのかはしらんが、built-in functionの一覧を知りたいような人が
そのコードも書けないなんて変な話だ。

(defvar list-of-buitin-functions nil)
(defun listup-builtin-function (symbol)
(when (and (functionp symbol)
(subrp (symbol-function symbol)))
(setq list-of-buitin-functions
(cons symbol list-of-buitin-functions))))
(mapatoms 'listup-builtin-function)
0138名無しさん@お腹いっぱい。NGNG
>>137

ありがとうございます。elisp を勉強しようと思いまして、基本となる built-in function
から学んでみようかと思いました。

方向性を間違ってるでしょうか・・・
0139名無しさん@お腹いっぱい。NGNG
>>138
激しく間違いっす。
0140名無しさん@お腹いっぱい。NGNG
C言語だな、そりゃ。
0141名無しさん@EmacsNGNG
>>136
emacs/etc/DOC
0142名無しさん@お腹いっぱい。NGNG
mode-infoすげー便利。知らんかった俺がバカだった
0143名無しさん@お腹いっぱい。NGNG
po-mode.el で、対訳表を管理する機能ってありませんか?
0144名無しさん@お腹いっぱい。NGNG
カーソルがあるウィンドウのモードラインと他のウィンドウのモードラインの
色を変え方を教えてください。
0145名無しさん@お腹いっぱい。NGNG
>>144
CVS 版を入れる
014648NGNG
>>48
> minibuf-isearch が XEmacs 21.1.14 で動かないんですが動かした人いませんか?

師匠が、minibuf-isearchをXEmacsで動かすようにしてくれました。
http://goas.no-ip.org/~shirai/diary/?07302000

機能追加までして。便利です。

しかし、XEmacs から今日 Emacs21.2 に移行しました。
Emacs21でも問題なく動いています。多謝。
0147名無しさん@お腹いっぱい。NGNG
リストのいくつかの要素を頻繁に変更する必要があるのですが、
便利な関数はありますか?というか、ベクトルにした方がいい
のでしょうか。結構、大きなサイズのデータなのですが、ベクトルだと
大きなメモリが必要になったりするのですか?
0148名無しさん@お腹いっぱい。NGNG
>>147
配列長が固定ならベクトル使ったほうがいいよ。
後ろのほうの要素でもアクセス速度落ちないし。
メモリサイズはよく知らんが、むしろリストよりも小さくなるかも?
でも vconcat とかするとリストの cons とかの場合と違って
まるごとコピーされたデータが必要でメモリ食うけど。
0149名無しさん@お腹いっぱい。NGNG
Gnu Emacs 21.2.1をRedHat9で使っています。

Meadowで良く見る、「IMEがONのときカーソルの色を変える」
ていうのは(検索で)よく見ますが、
CannaがONのときカーソルの色を変えたいのですが、
.emacsにどう書けばいいのでしょうか?

0150名無しさん@お腹いっぱい。NGNG
あ、おれもちょうど知りたいと思ってたとこ。
っていうか、Tamago4のときだけどね。
0151名無しさん@お腹いっぱい。NGNG
>>150
(defvar input-method-activate-hook nil
"Normal hook run just after an input method is activated.

The variable `current-input-method' keeps the input method name
just activated.")

(defvar input-method-inactivate-hook nil
"Normal hook run just after an input method is inactivated.
0152あぼーんNGNG
あぼーん
0153名無しさん@お腹いっぱい。NGNG
>>151

2 つ以上のバッファを編集/操作しなければ何とかなるかもしれませんが、そ
の hook だけだとだめでしょうね。
0154名無しさん@お腹いっぱい。NGNG
set-buffer-local-cursor-color
0155名無しさん@お腹いっぱい。NGNG
trrで日本語のテキストは通りませんか? あればURLキボンヌ
0156名無しさん@お腹いっぱい。NGNG
emacsclientを便利に使っているんですが、
emacsを2つ以上立ち上げていて、どちらでも
(server-start)していると、emacsclientで
どちらにバッファーが表示されるのかわかりません。

そこで、現在ほかにemacsが起動していたら(server-start)しない
という設定を.emacsに書きたいのですが、
どうすればよいのでしょうか?
0157名無しさん@お腹いっぱい。NGNG
(゚Д゚)ハァ?
0158名無しさん@お腹いっぱい。NGNG
>>156
emacs21 ならserver-socket-name の存在を、
そうでなくても server-start()のコード見て
ソケットの有無で判別したら?
0159名無しさん@お腹いっぱい。NGNG
そもそもemacsを複数立ち上げるのが間違い。
0160名無しさん@お腹いっぱい。NGNG
>>159
> そもそもemacsを複数立ち上げるのが間違い。

バッファー一覧でnavi2chとソースコードの
ファイル名が一緒に出てくるのがいやなんです。
0161名無しさん@お腹いっぱい。NGNG
GNU Emacs と XEmacs で使い分ける。
0162名無しさん@お腹いっぱい。NGNG
(setq navi2ch-article-buffer-name-prefix " *navi2ch article ")
これで navi2ch buffer がバッファ一覧から隠れると思う. 試してない.
0163名無しさん@お腹いっぱい。NGNG
>>160
elscreen なり windows.el なり使え
0164名無しさん@お腹いっぱい。NGNG
>>159
> そもそもemacsを複数立ち上げるのが間違い。

メモリがもったいない?
他にもメリットデメリットがあれば教えてください。
0165名無しさん@お腹いっぱい。NGNG
複数上げんとやってられないなぁ。
コード書き用、IRC 用、その他用、navi2ch 用、監視用。
navi2ch と監視は localhost じゃないけども。
0166名無しさん@お腹いっぱい。NGNG
>>165
> 複数上げんとやってられないなぁ。

私も
さすがにコード編集用に複数はあげないけれど…
■ このスレッドは過去ログ倉庫に格納されています