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

Emacs part 22

■ このスレッドは過去ログ倉庫に格納されています
0001Zeno ◆5nZQbNmQPs 2007/06/03(日) 08:46:53
Emacs は我々が毎日振れ合い愛憎する最強の汎用環境/エディタである.
このスレッドは皆が Emacs に関しての情報を共有し合う場である.
まあ気楽にやっていこうではないか

EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
GNU Emacs - GNU Project - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
emacs - SCM: CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
NTEmacs スレッド http://pc11.2ch.net/test/read.cgi/software/1097170623/

前スレ http://pc11.2ch.net/test/read.cgi/unix/1168261179/

最新の stable リリースは「22.1」であり、本体は
* http://ftp.gnu.org/pub/gnu/emacs/emacs-22.1.tar.gz
* http://ftp.gnu.org/pub/gnu/emacs/windows/emacs-22.1-bin-i386.zip (Windows)
からダウンロード可能である.

ちなみに吾の名は Zeno -- Emacs を使用した情報操作の魔術師である.
0675名無しさん@お腹いっぱい。2007/09/25(火) 01:50:19
>>674
なるほど。とりあえずMeadow3を"フル"インストールしてみました。
言われているほど遅くないけど、300M近い容量にちょっと引いたりしてw
0676名無しさん@お腹いっぱい。2007/09/25(火) 02:05:52
Meadow 固有の設定とかもあるから本当に Windows 上のみで使うんでなければ NTEmacs の方がいいと思う
軽いし
0677名無しさん@お腹いっぱい。2007/09/25(火) 02:34:02
ここではNTEmacsのIME関係の不具合修正をうたってますね。
初めはいろいろ試してみることにします。

SourceForge.jp: NTEmacs JP Project
https://sourceforge.jp/forum/forum.php?forum_id=12230
0678名無しさん@お腹いっぱい。2007/09/25(火) 09:37:38
Windowsで使うならCygwin版か
VMでLinuxでも入れてCVS最先端
0679名無しさん@お腹いっぱい。2007/09/25(火) 16:41:54
Windowsならメモ帳で十分だろ
0680名無しさん@お腹いっぱい。2007/09/25(火) 19:45:49
>>675
本体フルに入れても300あるわけないじゃん。
追加パッケージ入れればそれくらいは行くけど。
0681名無しさん@お腹いっぱい。2007/09/25(火) 20:55:05
bookshelfのnetinstallerのフルだと800Mぐらいかな>Meadow
あとどこかのエロイ人がほぼ最新のをwindows用にビルドして公開しているから
それを使わせてもらうとか
0682名無しさん@お腹いっぱい。2007/09/27(木) 00:55:19
タブ幅を4にしたいのですが、ファイル毎に設定することはできないでしょうか?
0683名無しさん@お腹いっぱい。2007/09/27(木) 01:40:23
もちょっと詳しく。それじゃ質問の意味が分からないよ。
「特定のファイルのタブ幅を4にする方法はないか?」というコトだよね?

それならば、状況によってはできる。
できるかどうかは、そのファイルの内容による。

たとえば、どんなキーワードでも埋めておいていい (自分で日記とか書いている場合など) ならば、
Local Variable の機能を使う。

しかし、ファイル自体を修正してはいけない (人の書いたソースコードを読む場合など) ならば、
ファイル名とかディレクトリ名やファイル内の特定パターンの文字列をキーワードにして
find-file-hooks などで強引に変えてやるしかない。
なので、何か他と区別できるものがないならば、これは使えない。

最後の手段は自分でファイルを開いたあとに、
タブ4にしたいファイルの場合に手作業で tab-width を変更する。
これくらいは関数化しておくといいと思う。

雑に書くとこんな感じ。ここでは setq-default を使っているが、必要に応じて変えてくれ。
M-x tabx で 4 とか 8 とか入力してみ。

(defun tabx (width)
(interactive "ntab-width's span : ")
(let ((i 0) (tlist (list 0)))
(while (< i 160)
(setq i (+ i width))
(setq tlist (cons i tlist)))
(setq tab-stop-list (reverse tlist))
(setq-default tab-width width)))
0684名無しさん@お腹いっぱい。2007/09/27(木) 08:00:44
>>676
ベンチ取ったり、1行スクロールさせたりしたけど
NTのほうが少し重いよ(スクロールはよく引っかかるし)。
どんな根拠で軽いといっているの?教えて。
0685名無しさん@お腹いっぱい。2007/09/28(金) 00:04:43
>>676じゃないけど、
Meadowでbdfフォントを使うとV方向のスクロールが激重になる。
font-lockを殺さないとスムーズに動かない。
このへんは開発陣も認識しているっぽいんだけど。
上で紹介されているlinum.elを導入したら、もう…
0686名無しさん@お腹いっぱい。2007/09/28(金) 00:26:13
>>685
古い話ですね。3.0じゃNTと比べても遜色なく逆に速かったと思います。
まぁもともとEmacs自体が重いので、遅いマシンで表示周りの
パッケージを入れるのもどうかと・・・
0687名無しさん@お腹いっぱい。2007/09/28(金) 00:33:15
>>685はMeadowとNTEmacsとの比較じゃなくて
MeadowでTTフォントを使ったときとbdfフォントを使ったときの比較だよ。
0688名無しさん@お腹いっぱい。2007/09/28(金) 00:50:39
Meadow とか NTEmacs は専用スレがあったはずだからそっち行ってくれよ。
0689名無しさん@お腹いっぱい。2007/09/28(金) 01:28:46
20も30もレス消費するなら移動が適当だろうけど
5,6レスで話が終わるなら別にいいんじゃねーの。
0690名無しさん@お腹いっぱい。2007/09/28(金) 03:03:03
これから延々と繰り返すんだろう
0691名無しさん@お腹いっぱい。2007/09/28(金) 08:03:57
>>687
それでも激重というほどの差はない。話はこれでおしまい。
0692名無しさん@お腹いっぱい。2007/09/28(金) 22:51:58
>>690
人生
0693名無しさん@お腹いっぱい。2007/09/29(土) 14:03:31
>>691
いやいや、激重になるよ。
環境に依存するのかもしれないけど。
0694名無しさん@お腹いっぱい。2007/09/29(土) 20:22:01
すれちg
0695名無しさん@お腹いっぱい。2007/09/29(土) 22:16:44
>>690
見事に予想が当たったな。
これだからドサは困るんだ。
0696名無しさん@お腹いっぱい。2007/09/30(日) 18:02:59
tramp 変じゃね
0697名無しさん@お腹いっぱい。2007/09/30(日) 22:05:52
ヘンだね。
おもきしハマった。
0698名無しさん@お腹いっぱい。2007/09/30(日) 23:56:06
symbolic-linkをオープンしようとすると
いちいちシンボリックリンクだけどfollowするか?って聞かれてウザイんだけど
「シンボリックリンクだったからここにある実体をオープンしたよ」
っていう報告される程度がいいっす
elisp書ければできるに違いないんだけど、既にその手のものがあったら
教えてほしいっす
0699名無しさん@お腹いっぱい。2007/10/01(月) 00:06:31
俺の環境ではそんなこと聞かれないからどこかに設定があると思うよ。
0700名無しさん@お腹いっぱい。2007/10/01(月) 01:01:12
>>698
find-file の中見れば分かるよ。
(setq vc-follow-symlinks t)
0701名無しさん@お腹いっぱい。2007/10/01(月) 09:39:07
windows.elとelscreenそれぞれの長所とか短所を教えて頂けませんか?
0702以下、名無しにかわりましてVIPがお送りします。2007/10/01(月) 16:13:50
>>701
windows.el 状態を保存できる
elscreen 保存できない、elscreen-tab.elを使うとタブ表示が可能
0703名無しさん@お腹いっぱい。2007/10/01(月) 16:41:32
質問です

文章の各行の行頭に番号を0,1,2,...,1000のように順に入力したいのですが、
外部プログラムを使わずにemacsだけで入力する方法はあるのでしょうか。
もしあれば教えていただけないでしょうか。
0704名無しさん@お腹いっぱい。2007/10/01(月) 16:43:34
elispでチャチャッと書いちゃえ
0705名無しさん@お腹いっぱい。2007/10/01(月) 16:47:27
キーボードマクロで何とかする方法とかってあります?
0706名無しさん@お腹いっぱい。2007/10/01(月) 17:10:48
C-x r n と C-x r + とキーボードマクロでできそう。
0707名無しさん@お腹いっぱい。2007/10/01(月) 17:12:25
f3 f3 <ret> f4
C-x eeeeeeeeeeeeeeeeeeeee

M-x replace-regexp <ret> ^ <ret> \,(1+ \#) <ret>
0708名無しさん@お腹いっぱい。2007/10/01(月) 17:16:31
0から始まるんなら \,(1+ \#) でなくて \#
0709名無しさん@お腹いっぱい。2007/10/01(月) 17:23:00
>>707
f3 知らなかった……。
22 でできたの?
0710名無しさん@お腹いっぱい。2007/10/01(月) 17:26:50
http://www.emacsblog.org/2007/04/05/keyboard-macros-in-the-wild-the-mundane-sql-fix/
0711名無しさん@お腹いっぱい。2007/10/01(月) 17:29:59
>>709
いつからか知らないけど、少くとも去年の7月頃から使えてたよ。

>>707 ちがってた
f3 f3 C-a C-n f4
C-x eeeeeeeeeeeeeeeeeeeee
みたいな感じ
0712名無しさん@お腹いっぱい。2007/10/01(月) 20:19:55
>>700
あああその変数でビンゴでした
ありがとう
0713名無しさん@お腹いっぱい。2007/10/04(木) 12:51:35
calendarでその月全体は、
Oct *, 2007 hoge
で表現できると思うのですが、
その週(日日の範囲)は、どのようにして表現したらいいのでしょうか?

また、月全体の指定をすると"m"したときに色が変わるのですが、
月全体の指定や、(できれば週の指定)の場合は"m"をしたときに、
ハイライト表示させないようにすることはできませんか?
0714以下、名無しにかわりましてVIPがお送りします。2007/10/04(木) 18:40:15
ttp://spreadsheet.sakura.ne.jp/blog/?p=316
ここのlispを貼り付けて使ってみたんですが、
ブックマークを開いたときに
** assignment to free variable selected-bookmark
** reference to free variable selected-bookmark
という内容のウィンドウが開いてしまいます
どうしたら出ないようにできるんでしょうか?
0715名無しさん@お腹いっぱい。2007/10/04(木) 18:45:03
>>714
でないようにするには、該当箇所を表示してるところをコメントアウト
0716以下、名無しにかわりましてVIPがお送りします。2007/10/05(金) 10:36:37
それが何処か分かりません!
誰か教えてください!!!
0717名無しさん@お腹いっぱい。2007/10/05(金) 10:42:11
なんで let 使わないんだろ。
0718名無しさん@お腹いっぱい。2007/10/05(金) 10:43:37
>>714
コメント欄あるんだからそっちでやれ。
0719名無しさん@お腹いっぱい。2007/10/07(日) 00:59:32
scroll-up とか next-line とかは elisp で定義されていませんか?
されていれば定義を見たいので、どの辺に定義されているか教えてください。
meadow 21.4.1 を使っています。
0720名無しさん@お腹いっぱい。2007/10/07(日) 01:40:30
>>719
M-x help [Enter] f scroll-up [Enter]
M-x help [Enter] f next-line [Enter]
0721名無しさん@お腹いっぱい。2007/10/07(日) 01:48:59
helpの使い方は絶対覚えるべきだな。
C-h を backward-delete-char にかえて
そのままヘルプの存在忘れてる初心者とか結構いそう。
0722名無しさん@お腹いっぱい。2007/10/07(日) 01:51:40
長えな
C-h f scroll-up [Enter]
でええやん
0723名無しさん@お腹いっぱい。2007/10/07(日) 01:53:27
C-h の代わりに F1 が使えたり
0724名無しさん@お腹いっぱい。2007/10/07(日) 02:38:51
C-h 潰して F1 使うのが普通だよな。
0725名無しさん@お腹いっぱい。2007/10/07(日) 02:50:50
俺は C-x C-c に割り当ててるわ。
どうせ uptime と同じだしね、emacs の寿命。
0726名無しさん@お腹いっぱい。2007/10/07(日) 03:07:29
自分はC-xC-hにあててる。
0727名無しさん@お腹いっぱい。2007/10/07(日) 03:12:07
話変わるけどリージョンがない時の C-w と M-w に何か割り当てると便利
0728名無しさん@お腹いっぱい。2007/10/07(日) 03:18:09
いつの間にかmark setしてるから
怖くてしょうがないわな
0729名無しさん@お腹いっぱい。2007/10/07(日) 03:18:52
Emacs専用のキーボードがほしいんです><
0730名無しさん@お腹いっぱい。2007/10/07(日) 04:00:33
>>729
巷ではHHKBがそれだよ
0731名無しさん@お腹いっぱい。2007/10/07(日) 08:33:45
俺は昔のSymbolicsのキーボードをps2に変換して使ってる
0732名無しさん@お腹いっぱい。2007/10/07(日) 09:57:37
find-function てコマンドもある。
0733名無しさん@お腹いっぱい。2007/10/07(日) 12:41:26
>>720-726,732
ありがとう。
built-in function って書いてあるから、elisp では書かれて
いないということですね。
0734名無しさん@お腹いっぱい。2007/10/07(日) 13:52:55
>>733
next-line()はsimple.elにある、って出なかった?
07357332007/10/07(日) 17:03:35
>>734
scroll-up だけみてました。
確かにそう出ました。これで定義まで飛べるのか。
これでいろいろコード見ながら elisp の勉強します。

0736名無しさん@お腹いっぱい。2007/10/08(月) 00:52:31
Emacs 22だとbuilt-in functionもCのソースに飛べる。
0737名無しさん@お腹いっぱい。2007/10/08(月) 12:49:04
>>736
22じゃなくても可能ですが。
きみんところでは22を自分でコンパイルしてインストールしただけでは?
0738名無しさん@お腹いっぱい。2007/10/08(月) 14:09:42
>>737
自分でソースコンパイルすると表示されるようになるの?
設定済み Meadow でも表示されるようにできない?
0739名無しさん@お腹いっぱい。2007/10/08(月) 15:36:03
>>737
俺それ23の新機能だと思ってたorz
これまではどうしてできなかったんだろう
0740名無しさん@お腹いっぱい。2007/10/08(月) 16:21:10
つかソースがないのにどうやって表示すんのよ。
CのだろうがLispのだろうがソースがない環境じゃ無理
0741名無しさん@お腹いっぱい。2007/10/08(月) 16:41:44
んだ。
ソース引っぱってきて find-function-C-source-directory にセットしる。
0742名無しさん@お腹いっぱい。2007/10/09(火) 19:38:10
キーマップの定義について質問です。
C-c leftをS-leftにバインドしたいのですが、書き方が良くわかりません。
どう書けばよいのでしょうか?
0743名無しさん@お腹いっぱい。2007/10/09(火) 20:20:41
[S-left]
0744名無しさん@お腹いっぱい。2007/10/09(火) 21:29:39
大文字か小文字かで shift か super かが違ったと思うよ。
0745名無しさん@お腹いっぱい。2007/10/09(火) 23:46:57
>>742
キーについては>>743>>744が言ってくれているとおり。

ところで
>C-c leftをS-leftにバインドしたい
この意味が分からない。

C-c left にバインドされている機能を S-left にもバインドしたいということ?
それとも、S-left って押したら、C-c left を押したことにしたいということ?

要望によって、設定が変わると思うよ。
0746名無しさん@お腹いっぱい。2007/10/10(水) 12:11:34
745のいう前者なら
(local-set-key [(shift left)] (key-binding [(control c) left]))
みたいな。
後者ならキーマクロにしてしまう。
(local-set-key [(shift left)] [(control c) left])

キーの検索や設定の関数は用途に応じて適当に。
0747チラシの裏2007/10/10(水) 16:48:47
emacs使いこなせるようになりたいなぁ〜。
みんな尊敬する凄いなぁ〜。
0748名無しさん@お腹いっぱい。2007/10/10(水) 17:56:59
ファイルの保存時にタブが空白に展開されるのって、どこかに
設定があるんでしょうか?
かなり調べたんですがわからず…
indent-tabs-modeとかtab-widthは設定して、編集時には
タブが挿入できるんだけど、保存すると空白に展開される…
0749名無しさん@お腹いっぱい。2007/10/10(水) 18:29:12
emacs -nwではshift+カーソルキーが認識されないのですが、これはバグなのでしょうか?
0750名無しさん@お腹いっぱい。2007/10/10(水) 19:12:57
同じコンソールの他のソフトウェアでも認識されなければ、
ターミナルエミュレータのバグでしょう。
0751名無しさん@お腹いっぱい。2007/10/10(水) 20:08:09
>>749
TeraTermから使おうとしているなら無理だ。通らない。
KEYBOARD.CNFで上手くやれば、いくつかはいけるかも。

X上で使おうとしているなら、.Xmodmap でなんとかなるだろう。


昨日から答えているけど、いかんせん環境が分からんので推量が多くなる。
環境を教えてくれれば、解決するかもよ。
0752名無しさん@お腹いっぱい。2007/10/10(水) 20:35:11
>>748
-qで起動してもそうならない以上、
設定が悪さをしているとしか思えない。

どのメジャーモードでも同じ動きになるのかな?
あと、C-xC-s で保存しても、C-xs で保存しても同じかな?
だったら before-save-hook で untabify とか呼んでいるのかも。


それ以前に、タブが入っていなかったりして。
indent-tabs-mode とか変えるんじゃなくて、
C-q TAB で確実にタブを入れて確認してみよう。
0753名無しさん@お腹いっぱい。2007/10/10(水) 20:39:10
>>752
メジャーモードによってはそういうユーザーの好みによって設定すべき変数を
上書きしているお節介なやつがあるよ。
0754名無しさん@お腹いっぱい。2007/10/10(水) 21:23:57
>>753
知ってる知ってる。visual-basic-mode とか、まさに。
というか、これなんじゃないかと思っているんだけど。

でもまぁ本人に確認してもらわないことには分からないからね。
0755名無しさん@お腹いっぱい。2007/10/10(水) 22:43:44
>>747
lispの本一冊読んで
emacs lispのintroと
リファレンスマニュアル流し読みすれば
それなりに何話してるかわかるようになるよ。
07567482007/10/10(水) 22:58:29
みなさんあざっす。
とりあえず使ってるのはruby-mode + rails-mode です。
ちょっと調べてみます。
07577482007/10/10(水) 23:08:28
調べてみたら、rails-mode.elが直球で untabify.elっていうのを
使ってました。なので、
(require 'untabify)
をコメントアウトして解決しました。ありがとうございました。
0758名無しさん@お腹いっぱい。2007/10/10(水) 23:17:07
visual-basic-mode じゃなかったか。残念。
rails-mode なんてのがあるのね。解決してよかったね。

ところで rails-mode の最新版だと思われる 0.5.99.1 をちょっと見てみたんだけど
0.5.99.1 のパッケージには rails-mode.el なんてのは無くなっていて
rails.el の中で (require 'untabify-file) していた。

その untabify-file.el の最後のほうで
(add-hook 'write-file-hooks 'untabify-before-write)
とあるので、保存時に untabify-before-write() が呼ばれて、最終的には
(save-excursion
(untabify (point-min) (point-max))
(delete-trailing-whitespace))
かな。これだとタブが半角スペースに変換されてるね。

この挙動が気にいらなければ remove-hook すればいいよ。

(eval-after-load "untabify-file"
'(progn
(remove-hook 'write-file-hooks 'untabify-before-write)))

とかでどうだろうか。
もしもバージョンアップすることがあれば参考にして。
07597482007/10/10(水) 23:36:13
あ、rails-mode.elじゃなくてrails.elでした。

なるほどそちらのほうが、rails.elの中身に手を加えるよりも
スマートですね。ありがとうございます。
0760名無しさん@お腹いっぱい。2007/10/11(木) 00:36:40
遅レスだけどC-hはH-hにしてる
0761名無しさん@お腹いっぱい。2007/10/11(木) 00:55:56
M-h のつもりかな
0762名無しさん@お腹いっぱい。2007/10/11(木) 00:58:51
>>760
さすがにそんなはずはなかろうよ。

オレも「無変換」キーで H- にしていたことがあったけど、
変更したいキーバインドがなくてやめた。
0763名無しさん@お腹いっぱい。2007/10/11(木) 00:59:25
>>762>>761
0764名無しさん@お腹いっぱい。2007/10/11(木) 08:00:05
俺なんて無変換が左Ctrlで変換が右Shiftだぜ!
0765以下、名無しにかわりましてVIPがお送りします。2007/10/11(木) 15:04:57
>>764
俺がいるwww
そんな特異な割り当てでもなくね?
0766名無しさん@お腹いっぱい。2007/10/11(木) 18:44:42
Infoのdirファイルは廃止するべきだとおもう。
メンテまんどくせ。
0767名無しさん@お腹いっぱい。2007/10/11(木) 20:06:40
ひょっとして手で編集してる?
0768名無しさん@お腹いっぱい。2007/10/11(木) 21:28:46
windowsのeditorみたいにマウスで選択した領域の単語を検索するにはどうすればいいのでしょうか?
DeleteSelectionMode
かとも思ったのですが違うみたいです
07697682007/10/11(木) 21:48:04
>>768
自己解決しました
0770名無しさん@お腹いっぱい。2007/10/11(木) 23:44:06
>>769
どうやって?
0771以下、名無しにかわりましてVIPがお送りします。2007/10/12(金) 00:23:03
ふつうにC-s C-yってやりゃいいだけの話じゃないのか
07727142007/10/12(金) 00:28:14
だれかお願いしますよ!
07737682007/10/12(金) 00:49:33
>>771
領域選択したら
M-w
そのあと
c-s m-y
でいけました

c-s c-y
はなぜか全然違う領域がペーストされる
0774名無しさん@お腹いっぱい。2007/10/12(金) 04:02:33
カーソルが置いてある近くの単語を勝手に辞書引きして表示しまくる
■ このスレッドは過去ログ倉庫に格納されています