Emacs part 22
■ このスレッドは過去ログ倉庫に格納されています
0001Zeno ◆5nZQbNmQPs
2007/06/03(日) 08:46:53このスレッドは皆が 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 を使用した情報操作の魔術師である.
0353名無しさん@お腹いっぱい。
2007/08/01(水) 23:11:31(Emacs Lisp用語での)関数とマクロがどう捉えられているかを
説明できる人はいないか
0354名無しさん@お腹いっぱい。
2007/08/01(水) 23:42:55いつから c のソースはマクロ扱いになったんだ?
0355名無しさん@お腹いっぱい。
2007/08/02(木) 00:15:000356名無しさん@お腹いっぱい。
2007/08/02(木) 08:26:200357名無しさん@お腹いっぱい。
2007/08/02(木) 09:07:330358名無しさん@お腹いっぱい。
2007/08/02(木) 09:53:47clパッケージ以後でしょ。
cl.elは1993のcopyright表示。
0359名無しさん@お腹いっぱい。
2007/08/02(木) 17:45:230360名無しさん@お腹いっぱい。
2007/08/02(木) 21:33:51君は何を言ってるんだ?
0361名無しさん@お腹いっぱい。
2007/08/03(金) 12:34:36ターミナルのなかで使っているときは問題ないのですが
Xウィンドウで立ち上がったときにフォントが四角い空白
になってしまいます。
必要なフォントを確認して簡単にインストールする方法は
ありませんか。
0362名無しさん@お腹いっぱい。
2007/08/03(金) 12:45:56Warning: Cannot convert string "-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
Warning: Unable to load any usable ISO8859 font
Warning: Cannot convert string "-*-helvetica-medium-r-*--*-120-*-*-*-*-iso8859-1" to type FontStruct
Warning: Unable to load any usable ISO8859 font
Warning: Unable to load any usable ISO8859 font
0363名無しさん@お腹いっぱい。
2007/08/03(金) 13:26:31(set-face-font 'default "7x14")
こんなふうにしてみる
0364名無しさん@お腹いっぱい。
2007/08/03(金) 17:52:09最初から。
>>358
マクロと cl は関係ないだろ。
もっと前から、たとえば↓とかで defmacro は使われてる。
http://cvs.savannah.gnu.org/viewvc/emacs/lisp/emulation/vip.el?revision=1.1&root=emacs&view=markup
0365361
2007/08/03(金) 19:50:07早速試しましたが、状況は変わりませんでした。
その後Xorgのアップグレードでこじらせてしまい
ポートの入れ直しをしています。
0366名無しさん@お腹いっぱい。
2007/08/04(土) 12:52:200367名無しさん@お腹いっぱい。
2007/08/04(土) 13:36:230368名無しさん@お腹いっぱい。
2007/08/05(日) 08:25:31fill-paragraphやauto-fill-modeで
漢字熟語やカタカナ文字列の途中で改行されてしまうのは
どうにかならないでしょうか。あとで検索・置換するときにどうも具合が
悪いと思うのです。
0369名無しさん@お腹いっぱい。
2007/08/05(日) 11:22:05なんか嫌なことでもあったんか?
0370名無しさん@お腹いっぱい。
2007/08/05(日) 13:31:360371名無しさん@お腹いっぱい。
2007/08/05(日) 14:24:07> fill-paragraphやauto-fill-modeで
> 漢字熟語やカタカナ文字列の途中で改行されてしまうのは
> どうにかならないでしょうか。
何でそんな変わった、珍しい、奇異な、奇抜な事がしたいの?
0372名無しさん@お腹いっぱい。
2007/08/05(日) 14:31:310373名無しさん@お腹いっぱい。
2007/08/05(日) 14:48:47fill-paragraphやauto-fill-modeの改行の問題じゃないだろ。
0374名無しさん@お腹いっぱい。
2007/08/05(日) 15:08:03http://www.srekcah.org/~utashiro/perl/scripts/mg/
0375名無しさん@お腹いっぱい。
2007/08/05(日) 16:00:43> どうにかならないでしょうか。
どうにでもなるので頑張ってください。
0376名無しさん@お腹いっぱい。
2007/08/05(日) 16:31:52あるので、そういう場合は手動で直してる。不便だ...。
0377名無しさん@お腹いっぱい。
2007/08/05(日) 16:36:45単語の途中って、英単語を切っちゃうってこと?
0378368
2007/08/05(日) 16:53:25ありがとうございます。migemoは使ってましたが、好みの問題で現在はskk付属
のisearch使ってます(migemo便利ですが、登録されてない単語がひけないの
で)。(したがって一応のところ、emacsのバッファでは改行とか含んでても
isearchできることはできます。M-x grepとかでうまいことやりたいんです。)
mgはUTF-8使えないんですよね。lgrep (lv)使ってます。
置換はいまだにやりにくいです。
>>375
どうしたもんでしょうか。みんなあんまり気にならないんですかね。
>>373
たしかにfill-paragraphの問題ではないといえばないですね。
longlines.elが有望そうなんですが、いまのところ日本語うまくいきませんよね。
0379名無しさん@お腹いっぱい。
2007/08/05(日) 17:28:43fillのときはnormal-auto-fill-functionに設定された関数が呼ばれる。
デフォルトではdo-auto-fillで、そいつは行分割位置を決めるのに
fill-move-to-break-pointという関数を呼んでいる。
そいつの中身を見てみると、……と書いてたけど長くなったのでやめ。
途中端折って結論。次のどちらか。
1. 全ての漢字とカタカナについてcategoryから|を抜く。
(|はずばり「ここで行を切ってもいいよ」というカテゴリ)
2. fill-find-break-point、またはそこから呼ばれるkinsokuを改善。
どっちかというと前者かな。後者は行を長くはできても短くしてはいけないようだし。
ここでかっこよくコードの一つも書けりゃいいんだけど
全ての漢字とカタカナについて列挙するループの仕方がわからにゃい。
0380名無しさん@お腹いっぱい。
2007/08/05(日) 17:54:18新聞なんかでもそうだし。
改行は文節単位でしかおこなわないで
整形はブラウザやフォーマッタ側で調整するというのも一つの考えかただけど
72文字くらいで改行というテキスト文化も結構歴史長いしね。
0381名無しさん@お腹いっぱい。
2007/08/05(日) 18:05:120382名無しさん@お腹いっぱい。
2007/08/05(日) 18:37:58以下コピペ
PuTTYでLinuxに繋いでemacsを使おうとした時に気づいたのですが、
右Altキーがききません。
左Altキーはきいているようです。
どなたか解決法を知らないでしょうか。
環境
・接続側
PuTTY 0.60 + PuTTYjp
WindowsVista
キーボード:http://www.amazon.co.jp/Logicool-iK-37-%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88-%E3%83%8A%E3%83%93%E3%82%B2%E3%83%BC%E3%82%BF%E3%83%BC-%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89/dp/B0000VE14U
(公式からページがみつけられなかったので。。。)
・接続先
CentOS5
よろしくお願いします。
0383名無しさん@お腹いっぱい。
2007/08/05(日) 18:39:36> どうしたもんでしょうか。みんなあんまり気にならないんですかね。
そもそも、「漢字熟語やカタカナ文字列」の途中で改行しないようにするためには、
そういう情報をもってないとダメだし、検索もそれなりに大変。
それに、それをやったとして助詞とか副詞が行頭に来るのもあまり見栄えがよくない。
検索側で何とかする方がいいと思う。
M-x grep なら、grep 自体を書き換えればいいんじゃないかな。
0384名無しさん@お腹いっぱい。
2007/08/05(日) 19:30:17スレ違い。マルチ氏ね。
0385368
2007/08/05(日) 20:24:12うーん、むずかしそうですね。
>>380 >>383
emacsで作るのは主にLaTeXやHTMLなんで、見栄えの問題ではないんですよね。
まあ自然言語はけっきょく最後は自分の目で確認しなきゃならないわけ
なので、きっとこの件であんまり困るべきではないんですね。しばらく
あきらめます。
(もうひとつの手は、emacsではfillせずに長い行で扱って、
カーソル移動をいじるというのがありますが、これもいろいろ問題があって・・・)
あと歌代さんのmgは、
いざというときのためにutf-8に対応しておいといてもらえないかなあ。
0386名無しさん@お腹いっぱい。
2007/08/05(日) 23:00:310387名無しさん@お腹いっぱい。
2007/08/05(日) 23:23:53エスカレートすると文脈とか解釈してほしくなるんだろうけどw
0388名無しさん@お腹いっぱい。
2007/08/05(日) 23:48:11それで全体として最もデコボコにならない区切りを計算すれば出来なくはないんじゃないかな。
0389名無しさん@お腹いっぱい。
2007/08/06(月) 00:09:31思った人は作ってみるといいんじゃないかな。
0390名無しさん@お腹いっぱい。
2007/08/06(月) 00:20:330391名無しさん@お腹いっぱい。
2007/08/06(月) 00:21:290392名無しさん@お腹いっぱい。
2007/08/06(月) 01:19:44/ / パカ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0393名無しさん@お腹いっぱい。
2007/08/06(月) 01:32:510394名無しさん@お腹いっぱい。
2007/08/06(月) 03:10:28切りがいいところで改行してる。
今みたいに。
HTML や TeXみたいに処理系で fill してくれるんなら
これがベストジャマイカ。
0395名無しさん@お腹いっぱい。
2007/08/06(月) 04:54:14正直、勝手に文字が挿入されるのはちょっと気持ち悪い。
Emacsは表示行で改行してくれないので、physical-line.elを使わせてもらってる。
0396名無しさん@お腹いっぱい。
2007/08/06(月) 04:59:110397名無しさん@お腹いっぱい。
2007/08/06(月) 16:35:30おまえソープで口で逝っちゃってそのあと
起たなくてでも苦労して半勃起で入れようとしたら
中折れになって嬢に「しょうがないよ」って言われた
俺のこと言ってるのか?あん?
0398名無しさん@お腹いっぱい。
2007/08/06(月) 17:18:47Meadow使ってるんだが、そういうの使ったこと無くてよくわからない。
Icicles、CEDET?anything?
なんか調べてるとそれっぽそうなのは見つかったんだけどいまいちわからないわ。
0399名無しさん@お腹いっぱい。
2007/08/06(月) 22:05:300400名無しさん@お腹いっぱい。
2007/08/06(月) 22:24:27M-/ でいいんじゃないのかなー
0401名無しさん@お腹いっぱい。
2007/08/06(月) 23:43:57いやーdabbrevごときと比べちゃいかんだろ。
0402名無しさん@お腹いっぱい。
2007/08/06(月) 23:48:49いや、39才・魔法の使い手の俺のことだろうw
0403名無しさん@お腹いっぱい。
2007/08/07(火) 00:06:420404名無しさん@お腹いっぱい。
2007/08/07(火) 00:35:05IntelliSense自体、dabbrevをインスパイヤしたんじゃないのw
0405398
2007/08/07(火) 03:46:03慣れたら便利になるだろうと思います。
出来れば補完候補一覧を表示する機能。。探します。
どのOSでも動く環境ってことで選ぶとEmacsとViくらいしか自分の中で選択肢がないです。
自分はRuby,C++,TeXを扱っているのでやはりEmacsが一番使いやすいかなーと。
安定してるし、VSに比べたら軽いし。
0406名無しさん@お腹いっぱい。
2007/08/07(火) 03:48:000407名無しさん@お腹いっぱい。
2007/08/07(火) 03:58:55;; Website: http://www.russet.org.uk
これってそういうのに使える?
IntelliSenseっていうのわからないし、こいつも話聞いただけなんで
よくわらないんだけど。
まあ、おれは dabbrevつかい。
typo した関数名が dabbrev で増殖してしまうのが悲しい。
0408名無しさん@お腹いっぱい。
2007/08/07(火) 07:36:08あるワードの上にカーソルを置くと、それに対応する部分のワードを
点滅させる(対応括弧での点滅みたいな感じで)には
どんな機能を使うのがよいのでしょうか?
0409408
2007/08/07(火) 07:37:370410名無しさん@お腹いっぱい。
2007/08/07(火) 08:17:24複数選択は作ろうとがんばってる人がいるよ。
ttp://d.hatena.ne.jp/khiker/20070728/emacs_dabbrev#c
まだM-/の置き換えにはならないけどね(複数選択が必要になったときのみ実行かな)。
あとTAGSファイル作って読み込んでおけば補完されやすくなるし、
元関数に簡単にジャンプできるからメソッド(引数)の確認も簡単。
C++ならgtagsとetagsと併用すればなおいい。
etagsは、複数選択できないけどetags-select.el入れればできる。
おっと補完の話だった。おいらは使っていないけどabbrevも使いこなすといいらしい。
bookshelf でも読み直すといい。
IntelliSenseは、馬鹿でもある程度使いやすくするMSの文化。
Emacsを使うなら古くて回りくどい部分もあるけど、ちゃんと設定していけば使えないことも無い。
世界中の多くのプログラマが古くから使っているんで、Emacsの文化と思ってそれに慣れていけばいい。
どうしてもほしいのならElisp勉強して作ればいい。コードはたくさん転がっているし流用可能。
ま、がんばれ。
0411名無しさん@お腹いっぱい。
2007/08/07(火) 08:45:40後半要約するとロートルの使ってる使いにくい環境に慣れろと
0412名無しさん@お腹いっぱい。
2007/08/07(火) 09:01:06ttp://cedet.sourceforge.net/intellisense.shtml
これがそのまんまじゃねーの?
本家くらい調べろよ。
0413名無しさん@お腹いっぱい。
2007/08/07(火) 09:30:24C-xC-cでも無反応で、何度かC-gしているうちに終了できるように
なるんだけど、原因は何だろうか。確実な再現手順は不明。
長く使ってる後におこりやすい。とりあえずmewと(server-start)と
navi2chとcvsとispellとw3mを使わないとだいじょうぶみたいだけど
正確なところは不明。
今朝のCVS先端で不定期に現象が出るが、22.1リリースのちょっと前
くらいからこうだった気がする。
0414名無しさん@お腹いっぱい。
2007/08/07(火) 09:39:570415398
2007/08/07(火) 14:30:17SemanticのIntelliSense機能をドキュメントよんでインストールしてみたけど、そう簡単にいかないんですね。
CEDETをインスコしてみたけど、Semanticのロードでエラーがでるなぁ。。。
エディタの設定だけで時間が過ぎるとかなんかだめなので、暇を見て調べつつやってみようかと思います。
M-/をタブに割り当てて使ってみてます。毎回Escまで手を伸ばすのはちょっとめんどくさいので。
それなりに快適に使えてるけど。。。やっぱり読み込んだライブラリから補完する機能ってほしいね。
CEDETとか読んでるとSpeedbarとかがそれに該当するみたいだということまでは把握したんだけど。
>>410
これなんかすごく使いやすそうに見える。使ってみたいなぁ。
abbrev逝ってきます。やっぱり過去の情報はきちんと読み込まないとだめですね。
ばかな俺にはIntelliSenseが会っていたということか。。。
ぶっちゃけGUIアプリ組まないならそれほど巨大なプロジェクトは扱わないと思ってたんだけど、
研究室の大きなプロジェクトとかが結構半端内サイズに昇華していたので、探したりしてました。
いろいろ情報サンクス。
いろいろ使ってみて、自分なりな環境を再現できたらここにまた書きにこようかと思います。
0416名無しさん@お腹いっぱい。
2007/08/07(火) 19:55:03kill-emacs-hook になんか変な関数が登録されてたりしない?
0417名無しさん@お腹いっぱい。
2007/08/07(火) 20:09:44それ以後に追加された関数や引数を利用していると警告してくれる
シロモノはないですか?
0418名無しさん@お腹いっぱい。
2007/08/07(火) 22:40:52それにdabbrevならあるし。
kill ringないけど。
javaの開発生産性はeclipse>超えられない壁>emacs
それ以外はemacs>>>>eclipse(jdt)
0419名無しさん@お腹いっぱい。
2007/08/07(火) 23:57:53jdeでとメソッドや変数の保管が出来るよ。
ただし、X使用時だけど。
0420名無しさん@お腹いっぱい。
2007/08/08(水) 01:17:11Ctrl-Cでは効かないのですが、
どのようなコマンドを打てばいいのですか?
killではなく、SIGINTの割り込みを発生させたいのです。
0421名無しさん@お腹いっぱい。
2007/08/08(水) 04:48:47C-c C-cじゃだめ?
0422名無しさん@お腹いっぱい。
2007/08/08(水) 06:08:47C-h C-m
0423名無しさん@お腹いっぱい。
2007/08/08(水) 08:22:550424名無しさん@お腹いっぱい。
2007/08/08(水) 10:06:320425名無しさん@お腹いっぱい。
2007/08/08(水) 11:07:01C-c C-cも試しましたが、shell画面に「C-c C-c」と表示されるだけで、
プロセスは終了されませんでした。
0426名無しさん@お腹いっぱい。
2007/08/08(水) 13:54:34っていうか環境ぐらい書け。
0427名無しさん@お腹いっぱい。
2007/08/08(水) 13:59:260428名無しさん@お腹いっぱい。
2007/08/08(水) 14:59:54環境書き忘れていました。
申し訳ございません。
WindowsXP(Home) + Meadow3.00
ベースとなるEmacsのバージョンは22.0.90.1です。
>>427
はい、MeadowでCygwinのbashを起動したときに
C-c C-cによるプロセス制御が効かないのです。
eshellでもC-c C-cが効きませんでした。
0429名無しさん@お腹いっぱい。
2007/08/08(水) 16:12:32無理なんだと諦めてた。
0430名無しさん@お腹いっぱい。
2007/08/09(木) 01:56:390431名無しさん@お腹いっぱい。
2007/08/10(金) 21:57:020432名無しさん@お腹いっぱい。
2007/08/12(日) 03:43:330433名無しさん@お腹いっぱい。
2007/08/13(月) 23:14:370434名無しさん@お腹いっぱい。
2007/08/13(月) 23:17:25^Q^I
0435名無しさん@お腹いっぱい。
2007/08/13(月) 23:22:50C-q C-iってことですかね?
入力できませんでした
0436435
2007/08/13(月) 23:41:33C-q C-iを入力するとミニバッファに
C-q TAB is undefined
と表示されます
0437名無しさん@お腹いっぱい。
2007/08/14(火) 00:16:00emacs -q で起動した場合でもそうなる?
0438名無しさん@お腹いっぱい。
2007/08/14(火) 00:33:040439名無しさん@お腹いっぱい。
2007/08/14(火) 08:09:53(add-hook 'find-file-hooks
(function
(lambda () (if (string-match "[Mm]akefile" buffer-file-name)
(setq indent-tabs-mode t)
(setq indent-tabs-mode nil) ))))
(add-hook 'find-file-not-found-hooks
(function
(lambda () (if (string-match "[Mm]akefile" buffer-file-name)
(setq indent-tabs-mode t)
(setq indent-tabs-mode nil) ))))
0440名無しさん@お腹いっぱい。
2007/08/14(火) 08:35:55今のEmacsのmakefile-modeには不要。
普通にindent-tabs-modeという変数があるよと言えばいいのに。
0441名無しさん@お腹いっぱい。
2007/08/14(火) 09:27:27つ 露出狂
0442名無しさん@お腹いっぱい。
2007/08/15(水) 01:00:32今どきのやり方じゃないな。
でも20年の歴代ものなら仕方ないか。
0443名無しさん@お腹いっぱい。
2007/08/15(水) 22:05:192つのファイルに違いがあるかどうかだけ知って、
それをifの条件で使用したいんだけど。
0444名無しさん@お腹いっぱい。
2007/08/15(水) 22:17:47あるよ
0445名無しさん@お腹いっぱい。
2007/08/15(水) 22:49:22なんてコマンド?
0446名無しさん@お腹いっぱい。
2007/08/15(水) 23:08:46コマンド? コマンドがどうかしたの?
0447名無しさん@お腹いっぱい。
2007/08/15(水) 23:10:190448名無しさん@お腹いっぱい。
2007/08/15(水) 23:25:550449名無しさん@お腹いっぱい。
2007/08/16(木) 00:00:51diffの使い方を教えてください。
0450名無しさん@お腹いっぱい。
2007/08/16(木) 05:41:02「自分で書け」はわかってます。
aproposでbuffer-file-nameは見てみました。
0451名無しさん@お腹いっぱい。
2007/08/16(木) 05:48:450452名無しさん@お腹いっぱい。
2007/08/16(木) 05:52:49"Copy BUFFER's full pathname into the kill ring.
If prefix arg is 0, copy the directory part.
If prefix arg is other than nil and 0, copy the basename."
(interactive)
(let ((s
(if (= 0 (prefix-numeric-value current-prefix-arg))
default-directory
(if (buffer-file-name)
(if (null current-prefix-arg)
(buffer-file-name)
(file-name-nondirectory (buffer-file-name)))
""))))
(kill-new s)))
■ このスレッドは過去ログ倉庫に格納されています