トップページ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 を使用した情報操作の魔術師である.
0625以下、名無しにかわりましてVIPがお送りします。2007/09/16(日) 09:58:19
>>623
使ってみたらプロトタイプ宣言に飛ばされるんですがどうしたらいいでしょうか?
できれば、内容定義してるところに飛びたいんです
0626名無しさん@お腹いっぱい。2007/09/16(日) 11:14:24
>>625
普通は飛ばないよ。普通は内容定義してるところに飛ぶと思うんだが。。
$ etags *.[ch]
ってやってからやってみ?
0627名無しさん@お腹いっぱい。2007/09/16(日) 14:16:41
cとかだとそういうもんじゃね?
C-uM-.で次のタグに飛べ。
0628以下、名無しにかわりましてVIPがお送りします。2007/09/16(日) 14:31:59
すいませんでした
正直言うと使ってるのMeadowでした

linuxはいってるPCのほうではちゃんと動きました

ちなみに、Meadow の方がうまくいかなかったのは付属のetags.exeじゃなくてcygwinの方使ってたせいでした
ご迷惑おかけしました

しかしこれ凄いですね、とてもベンリです
ありがとうございました
0629名無しさん@お腹いっぱい。2007/09/16(日) 18:50:34
Emacs 上のテキストに対して、 CSS の `margin-left'
(インデントではなく、本当の意味でのマージン) のような動作は可能ですか?

例えば、ディフォルトでは "margin-left : 30px;" で、
outline のレベル 1 にマッチする行には "margin-left : 5px;" と同じようになる設定です。
0630名無しさん@お腹いっぱい。2007/09/16(日) 20:35:07
意味がわからん
0631名無しさん@お腹いっぱい。2007/09/16(日) 20:46:51
text propertyの操作で表示は実現できそうだが、カラム位置計算が困難だった
りして、編集作業の方は使い物にならなくなると思う。
0632名無しさん@お腹いっぱい。2007/09/16(日) 23:36:40
pxだけでいいなら、1pxのスペースを含むフォントを生成すればいいんじゃね?
06336292007/09/17(月) 00:29:50
>>631
一応 text property 一覧全てを読んでみましたが、どれも駄目そうでした。。

>>632
でも、それではインデントと同じ意味合いのマージンになってしまいますよね?
(Emacsの set-left-margin 関数などの。)
僕の疑問は、文字を前方に prepend せずに、ブラウザがCSSの margin-left を処理するのと
同じような効果をEmacs上でも実現可能なのか、ということです。
0634名無しさん@お腹いっぱい。2007/09/17(月) 00:47:33
>>633
CSS もそちらの要望もよく判ってないけど overlay 使えばなんとかならんか
ね。
0635名無しさん@お腹いっぱい。2007/09/17(月) 10:17:15
つーか、Emacs上でどうしてそんなことするの?
0636名無しさん@お腹いっぱい。2007/09/17(月) 13:32:34
見た目をカス玉伊豆したいからだろう
0637名無しさん@お腹いっぱい。2007/09/17(月) 16:28:09
Emacsってテキストエディタだよな?
0638名無しさん@お腹いっぱい。2007/09/17(月) 20:18:24
いや、GNU Emacs は俺の嫁。
0639名無しさん@お腹いっぱい。2007/09/17(月) 21:55:05
emacs内部でsudoの様な事をするelispや外部アプリってありませんか?
/etc以下のファイルもemacsで編集したいのです
0640名無しさん@お腹いっぱい。2007/09/17(月) 22:07:47
trampでできたような気がする
0641名無しさん@お腹いっぱい。2007/09/17(月) 22:08:03
お前はセキュリティホールと言う言葉を知らんのか。
Shellモードででも触っとけ
0642名無しさん@お腹いっぱい。2007/09/17(月) 23:37:35
tramp で sudo:
0643名無しさん@お腹いっぱい。2007/09/18(火) 00:06:02
>>641の立つ瀬が無くてワロス
0644名無しさん@お腹いっぱい。2007/09/18(火) 01:09:17
昔Emacsに/etc/以下とか無差別にどこでもファイルが置けるバグがあったな
0645名無しさん@お腹いっぱい。2007/09/18(火) 07:44:38
外部でよけりゃenv EDITOR=emacsclient sudoeditで
0646名無しさん@お腹いっぱい。2007/09/19(水) 09:19:40
最近font-lockが異常に重くて死にそうです
0647名無しさん@お腹いっぱい。2007/09/19(水) 12:06:56
では死ぬがいい
0648名無しさん@お腹いっぱい。2007/09/19(水) 14:01:20
emacsを始めようとしてますが、どういう方法で習得するのが良いですか?
emacs本を買ってみたのですが、肝心の習得方法がどこにも載ってませんでした。
0649名無しさん@お腹いっぱい。2007/09/19(水) 14:30:01
>>648
まずはチュートリアルをやってみるといい。
メニューが表示されていれば
ヘルプ(Help)ってところに 練習(Emacs Tutorial) ってのがあると思う。

emacs -e help-with-tutorial

emacs -e help-with-tutorial-spec-language
で emacs を起動すれば同じようにチュートリアルが始まる。
spec-language の時は言語を選べる。
J<Tab><Enter> とか押せば日本語を選べる。
0650名無しさん@お腹いっぱい。2007/09/19(水) 15:24:15
C-xやC-cをSuperキーやHyperキーに割り当てて楽したいんですが、
不可能なのでしょうか?
マクロ、define-key global-set-keyを使う方法で上手くいきませんでした。
0651名無しさん@お腹いっぱい。2007/09/19(水) 15:35:18
>>649 ありがとうございます。tutorialやってます。なぜか日本語のほうはなかったです。
0652名無しさん@お腹いっぱい。2007/09/19(水) 16:34:18
>>650 とりあえずそのキーボードを見せてもらおうか (生唾)
0653名無しさん@お腹いっぱい。2007/09/19(水) 18:33:30
ttp://www.glassgiant.com/custom_keyboard/?l1=C-x&size=large
ttp://www.glassgiant.com/custom_keyboard/?l1=C-c&size=large
ttp://www.glassgiant.com/custom_keyboard/?l1=Super&size=large
ttp://www.glassgiant.com/custom_keyboard/?l1=Hyper&size=large
ttp://www.glassgiant.com/custom_keyboard/?l1=M-x+kill-emacs&size=large

お好きなキーをどぞー
0654名無しさん@お腹いっぱい。2007/09/19(水) 18:55:41
>>648
C-x o,C-x 1,C-x 2,C-x 3,C-x 0
英小文字oと数字の0が紛らわしいけど
この5つを覚えれば不意のバッファ分割にもマゴつかない
0655名無しさん@お腹いっぱい。2007/09/20(木) 00:10:59
>>646
おぉ仲間。
春に半年振りにVerUPした時ぐらいから重たくなった(Meadowですが…)。
特に、でかいヘッダは気が遠くなるぐらいに・・・・
0656名無しさん@お腹いっぱい。2007/09/20(木) 10:37:21
M-xがexecute-extended-commandで入力できるのと同様に
C-xやC-u,C-cもなんらかの関数で入力できないのかなぁと思いまして
キーボード自体はいたって普通のキーボードです
>>653のような商品があるくらいですから方法はあるはずなんですよね
0657名無しさん@お腹いっぱい。2007/09/20(木) 13:14:12
やったことないが
copy-keymapとかset-parent-keymapとかで
ctl-x-mapをマップするような方向でできそう。
0658名無しさん@お腹いっぱい。2007/09/20(木) 21:46:50
自分で希望のkeymap調べる関数書きゃいいんじゃないの。
C-uに至っては何をかいわんや。
>>656はelisp.info読むとかdescribe-keyしてみるとかすれ。
0659名無しさん@お腹いっぱい。2007/09/20(木) 23:45:04
>>657, 658
おっしゃる通りにelisp-infoを参考に色々ためしてたらprefixキーの置換は
(-set-key 設定したいキー なんとか-map)
でできました
C-uはuniversal-argumentのようなのでそれを設定したらできました
あとは使いながらC-なんとか C-それとか のキーバインドをC-なんとか それとかに変えていけば
モディファイ同時押しありの2 ストロークから同時押しなしの2ストロークの環境のできあがりです
どうもありがとうございました
0660名無しさん@お腹いっぱい。2007/09/21(金) 01:32:17
car-safe があるなら、memq-safe もあっていいような気が。
listp じゃないものを対象としちゃってもいいやつ。
0661名無しさん@お腹いっぱい。2007/09/21(金) 23:08:46
それは変なバグが混入しそうだから嫌だなあ
0662名無しさん@お腹いっぱい。2007/09/22(土) 09:38:52
car-safeって知らなかったから調べてみた
... こんなのLISPじゃない!!!
0663名無しさん@お腹いっぱい。2007/09/22(土) 09:56:11
だがそれがいい
0664名無しさん@お腹いっぱい。2007/09/22(土) 10:37:17
linum.el は行番号表示の決定版かな。
0665名無しさん@お腹いっぱい。2007/09/22(土) 18:13:06
>>664
setnu.el と比べてどう?
0666名無しさん@お腹いっぱい。2007/09/22(土) 21:25:13
>>665
setnu.el はだいぶ昔に使ったことがあったけど、なんか常用
できないレベルだった気がする。
linum.el はいたって普通に使えてる。
emacs-devel を見ていて知ったんだけど、たぶん標準添付
されそうな感じだよ。
0667名無しさん@お腹いっぱい。2007/09/22(土) 22:50:15
>>666
今使ってみたけど、フォントの設定とかfont-lockの性能に大きく左右されるね。
cperl-modeでスクロールが異常に遅くなって焦った。
0668名無しさん@お腹いっぱい。2007/09/23(日) 00:09:52
font-lock-support-mode とか調整すると改善できるかもよ
0669名無しさん@お腹いっぱい。2007/09/23(日) 18:29:13
Diredで置き換えなどを使って、ファイル名を変更することはできないでしょうか?
06706692007/09/23(日) 18:33:23
すみません 解決できました
0671名無しさん@お腹いっぱい。2007/09/24(月) 12:26:18
HTMLファイルの中にJavaScriptを埋め込みで書いているのですが、
HTMLも含め、JavaScriptを正しく再インデントできないでしょうか?
HTMLモードで再インデントを行うと、JavaScriptのインデントが、全て
同一になってしまいます。
0672名無しさん@お腹いっぱい。2007/09/24(月) 12:54:49
>>671
mmm-mode
0673名無しさん@お腹いっぱい。2007/09/25(火) 01:35:51
xyzzyからの乗り換え先を探しています。
Windows環境で使うならば、Meadowと(NT?)Emacsのどちらを選ぶのがベターでしょうか。
0674名無しさん@お腹いっぱい。2007/09/25(火) 01:42:20
NTEmacsだと普通のIME使えなかった気がする。
skkとか使うなら関係ないけど。
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 の寿命。
■ このスレッドは過去ログ倉庫に格納されています