Emacs part 27
■ このスレッドは過去ログ倉庫に格納されています
0001Zeno
2008/11/09(日) 08:48:02スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること
_/l__
/ く
| ´ω` | ぐにゅう emacs
| C='|
* Emacs スレッドのマスコットキャラである「ぐにゅう君」 (↑のAA) と
吾 (Zeno ◆5nZQbNmQPs) への挨拶も忘れないように!
GNU Emacs - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
Emacs CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
Emacs Lisp List http://www.damtp.cam.ac.uk/user/sje30/emacs/ell-date.html
最新の stable リリース (22.2) のダウンロード http://ftp.gnu.org/pub/gnu/emacs/emacs-22.2.tar.gz
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/
前スレ http://pc11.2ch.net/test/read.cgi/unix/1218093847/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
Emacs は世界を救う!
0409名無しさん@お腹いっぱい。
2008/12/10(水) 15:24:470410名無しさん@お腹いっぱい。
2008/12/10(水) 16:13:48> ゲイツが学生時代にLispにはまってれば…
当時の Lisp使いは理論から入った人に多かった。
ゲイツは計算理論は全然やってなかったみたいだし、
そもそも、物事の美しさを理解できないタイプであるゲイツは、
Lispを学んでたとしても好きになっていただろうかは疑問だ。
0411名無しさん@お腹いっぱい。
2008/12/10(水) 18:28:49svnですか?
git?
cvs?
dsvnでsf.netにアクセスしたいのでパスワードどこに記載すればいいんだ
0412名無しさん@お腹いっぱい。
2008/12/10(水) 19:15:07実は自分もそれを知りたかった。人の建てたsvnサーバがあるんだけど、初回に
コマンドラインからアクセス
svn checkout --username *** --password *** ...
したら、その後はdsvn.elでも何も指定なしでアクセスできてる。不思議。
ってそれはEmacs関係ないか。
0413名無しさん@お腹いっぱい。
2008/12/10(水) 20:16:56End of `/ ... /' string/RE not found: (scan-error Unbalanced parentheses 2381 8115)
とミニバッファにずっと表示されます
= split(/<>/);
のあたりから色分けがうまくできてないみたいです
どうやったら直せますか?
0414名無しさん@お腹いっぱい。
2008/12/10(水) 21:24:16mode-info を使っているんなら、バージョンアップするといい。
0415名無しさん@お腹いっぱい。
2008/12/11(木) 01:39:50やっぱ Mercurial だなー
仕事では Subverison
0416名無しさん@お腹いっぱい。
2008/12/11(木) 02:24:08右往左往するのしんどいし。その点svnは使ってて安心感があるんだが…
0417名無しさん@お腹いっぱい。
2008/12/11(木) 05:20:54git-svnもあるからいろいろ安心だし。
0418名無しさん@お腹いっぱい。
2008/12/11(木) 10:52:49どっちが便利?
0419名無しさん@お腹いっぱい。
2008/12/11(木) 11:15:250420名無しさん@お腹いっぱい。
2008/12/11(木) 12:34:090421名無しさん@お腹いっぱい。
2008/12/11(木) 12:41:240422360
2008/12/12(金) 08:57:59コメント抜きだと1832行。
isearch-mode 関係を整理すれば 2650-2700 ぐらいまでいけそう。
0423名無しさん@お腹いっぱい。
2008/12/12(金) 14:50:32コメントで自作小説のアイデアメモってた…
0424名無しさん@お腹いっぱい。
2008/12/12(金) 22:32:15docstringにそんなこと書いてないよね?
> if (XINT (end) - XINT (start) == end_byte - start_byte)
> return Qt;
その範囲が全部1バイトで表現される文字(つまりASCII?)ということだと思うのだけど
それらを包含しない文字コードはないという想定なのだろうが
それにしたってtではなくnilを返すべきじゃないのかしらん。
とりあえず手元ではtだったらnilにするようアドバイスをかけちゃった。
0425名無しさん@お腹いっぱい。
2008/12/13(土) 18:44:400426名無しさん@お腹いっぱい。
2008/12/13(土) 18:49:15EmacsからPDIC辞書をひくプログラムは他にもありますか?
0427名無しさん@お腹いっぱい。
2008/12/13(土) 18:55:38howm-mode も outline-mode もマイナーモード。
メインモードは目的によりけり。
0428名無しさん@お腹いっぱい。
2008/12/14(日) 02:49:32弄りすぎてモード制がボトルネックになってきたから
全部ハードコーディングで実装して快適に暮らすんだ。
0429名無しさん@お腹いっぱい。
2008/12/14(日) 04:07:110430名無しさん@お腹いっぱい。
2008/12/14(日) 04:16:39がんばって!!
0431名無しさん@お腹いっぱい。
2008/12/14(日) 15:57:24できたら公開してね
0432名無しさん@お腹いっぱい。
2008/12/14(日) 16:26:310433名無しさん@お腹いっぱい。
2008/12/14(日) 16:33:22(setq trees '(maple oak pine birch))
(setcdr (nthcdr 2 trees) nil)
trees
(maple oak pine)
;; b)
(setq trees '(maple oak pine birch))
(setcar (nthcdr 3 trees) nil)
trees
(maple oak pine nil)
a) の場合は リストが短かくなるのに対して、
b) 方法は リストの最後が nil になるのはなぜですか?
0434名無しさん@お腹いっぱい。
2008/12/14(日) 16:55:120435名無しさん@お腹いっぱい。
2008/12/14(日) 16:58:310436名無しさん@お腹いっぱい。
2008/12/14(日) 18:06:05consセルを全く理解していない人はそもそもいきなりリストの途中へのsetcarとsetcdrを
比較して悩んだりしないだろ。
あるいは理解していないことがわかっているならまずモデルの理解をしようとするのが自然で
そのための疑問でなく応用問題の答をもとめる質問をいきなりしたりはすまい。
0437名無しさん@お腹いっぱい。
2008/12/14(日) 18:55:040438名無しさん@お腹いっぱい。
2008/12/14(日) 19:53:32環境保護団体が森林保護のために仕組んだ暗号だと思うんだ。
0439名無しさん@お腹いっぱい。
2008/12/14(日) 21:18:53おまえ消されるぞ
0440名無しさん@お腹いっぱい。
2008/12/14(日) 21:43:430441名無しさん@お腹いっぱい。
2008/12/14(日) 21:45:310442360
2008/12/15(月) 15:11:29emacsはビルド中も比較的安心して見ていられる。
全体的な速度が以前のよりも上がったようだ。
個人用のパッケージも問題なく動いているよう。
0443名無しさん@お腹いっぱい。
2008/12/15(月) 22:20:36フォントの設定も楽になったしね
0444名無しさん@お腹いっぱい。
2008/12/16(火) 00:05:230445名無しさん@お腹いっぱい。
2008/12/16(火) 00:52:47爆笑。
0446名無しさん@お腹いっぱい。
2008/12/16(火) 05:39:430447名無しさん@お腹いっぱい。
2008/12/16(火) 05:50:110448名無しさん@お腹いっぱい。
2008/12/16(火) 08:38:080449名無しさん@お腹いっぱい。
2008/12/16(火) 09:28:300450名無しさん@お腹いっぱい。
2008/12/16(火) 12:05:29stanley のoptimizeコンパイルをしてくれるemas...
0451名無しさん@お腹いっぱい。
2008/12/16(火) 13:10:010452名無しさん@お腹いっぱい。
2008/12/16(火) 16:28:230453名無しさん@お腹いっぱい。
2008/12/16(火) 17:48:04俺はまるでダメだけどEmacsに罪はねーよ
0454sage
2008/12/16(火) 20:59:36emacsは自動でインデントを揃えてくれ、とても重宝しているのですが、更に欲を言うと
a=b+c;
を
a = b + c;
のようにフォーマットをしてくれる機能(またはelisp?)はないでしょうか?
個人的にはVisual Studioの整形みたいなものを想像しています。
Uncrustifyのような細かい設定まで出来れば完璧です。
わかりにくい文章で申し訳ありませんが、よろしくお願い致します。
0455名無しさん@お腹いっぱい。
2008/12/17(水) 13:13:390456名無しさん@お腹いっぱい。
2008/12/17(水) 14:12:51行内で式が完結していれば、
(lambda ()
(interactive)
(shell-command-on-region (beginning-of-line) (end-of-line) "indent" t t)
(command-execute "\t"))
;; region指定あれば優先した方がいいかな
0457名無しさん@お腹いっぱい。
2008/12/17(水) 15:56:02たまに変数名が衝突してわかりにくいバグが発生する
0458名無しさん@お腹いっぱい。
2008/12/17(水) 16:09:160459名無しさん@お腹いっぱい。
2008/12/17(水) 17:01:05emacs replacementの完成の方が速そうな勢いだものな…
0460名無しさん@お腹いっぱい。
2008/12/17(水) 17:15:54またお前か。うんざりだ。もうemacs使うなよ。
0461454
2008/12/17(水) 17:59:20>>456
.emacs内にそのまま記述してみたのですが、いまいちよく分かりませんでした。
何か実行する手順みたいなのがあるのでしょうか??
何も分かって無くてすみません^^;
.emacsには
(defun my-c-indent (rstart rend)
"Format region using the shell command \"indent\" (C program formatter). If the mark is not active, operate on the current line."
(interactive "*r")
(unless mark-active
(beginning-of-line) (setq rstart (point))
(end-of-line) (setq rend (point))
)
(shell-command-on-region rstart rend "indent" t t)
(command-execute "\t")
)
のように書いて、成形したい行にカーソルを置くかリージョン選択して
M-x my-c-indent
とやればいいのではなかろうか。
0463454
2008/12/17(水) 23:12:38レスありがとうございます。
教えて頂いた通り、以下をリージョンを選択後、M-x my-c-indentを実行した結果、
#include<stdio.h>
main(){
int a,b,c;
a=b+c;
}
が
/bin/bash: indent: command not found
という文字列に置き換わってしまいました。
えっと、これは"indent"の部分を何かフォーマットを行ってくれるような外部プログラムに置き換えるのでしょうか・・・?
0464名無しさん@お腹いっぱい。
2008/12/17(水) 23:48:230465462
2008/12/17(水) 23:56:01そしたらGNU indentをインスコしないといかんね。ftp.gnu.orgから拾ってくればいいはずだけど、どうやら2.2.9はソースをちこっといじる(indent.hの100行目をコメントアウト)必要があるみたいだ。
0466454
2008/12/18(木) 16:00:28きっと後はindentの設定をいじれば、自分の好きなコーディング規約に出来るんですね!
聞いてばっかりで申し訳ないんですが、
;や}を入力してステートメントやブロックの入力を終了したとき、また貼り付けを行ったときなどにオートフォーマットをさせることは可能でしょうか?
それとインデントを揃えるコマンドであるC-M-\をこのmy-c-indentに置き換えたりすることもできれば嬉しいのですが。。。
0467462
2008/12/18(木) 21:12:16上のmy-c-indentの後でこう書けばいいかな。C-M-\とセミコロンだけだが閉じ括弧は自分でやってみてくだされ。
(add-hook 'c-mode-common-hook
'(lambda ()
(define-key c-mode-base-map "\C-\M-\\" 'my-c-indent)
(define-key c-mode-base-map ";"
(lambda (arg) (interactive "*P")
;; use "indent" to format the line
(let ((start) (end))
(beginning-of-line) (setq start (point))
(end-of-line) (setq end (point))
(shell-command-on-region start end "indent" t t)
)
;; default behavior for semicolon
(end-of-line) (c-electric-semi&comma arg)
;; eliminate an extra line comming from "indent" above
(c-electric-delete-forward arg)
)
)
)
)
ところで上のmy-c-..の (command-execute "\t")は(c-indent-command)のほうが良い
鴨。
0468名無しさん@お腹いっぱい。
2008/12/18(木) 21:27:070469454
2008/12/18(木) 22:17:18'}'の時は対応パラグラフ内のフォーマッティングを考えているのですが、教えて頂いたdefine-key c-mode-base-map ";"の部分を単純に'}'へ変えただけでは当然一行しかフォーマッティングされずorz
(let ((start) (end))
(beginning-of-line) (setq start (point))
(end-of-line) (setq end (point))
(shell-command-on-region start end "indent" t t)
)
の部分を書き換えるのかなぁ等と思っているのですが。。。
ちなみにうまくやれば、
a+b+c+
d+e+f;
と数行に渡って式を書いた後のセミコロンで
a + b + c +
d + e + f;
のように複数行へ渡った場合のフォーマッティングもできるのでしょうか?
長文すみませんm(_ _)m
P.S.
C-M-\でのフォーマッティングは仰るとおり(command-execute "\t")を(c-indent-command)へ変えることでうまくできました^^
0470名無しさん@お腹いっぱい。
2008/12/18(木) 22:44:19まずはその投稿を整形すべきだな。
0471名無しさん@お腹いっぱい。
2008/12/19(金) 00:25:03ESC ! や M-x shell-command でよいことは知っています。
Shift-Alt-1 では ! そのものが、Alt-Shift-1 では M-1 が入力されているようです。
これは私の環境のみのバグでしょうか?
0472名無しさん@お腹いっぱい。
2008/12/19(金) 00:26:230473名無しさん@お腹いっぱい。
2008/12/19(金) 00:50:320474名無しさん@お腹いっぱい。
2008/12/19(金) 00:54:220475名無しさん@お腹いっぱい。
2008/12/19(金) 01:23:460476名無しさん@お腹いっぱい。
2008/12/19(金) 02:04:51あと "Ctrl" も "Ctr^1" みたいになっている。
Emacsはキーボードクラッシャーだなあ。
0477名無しさん@お腹いっぱい。
2008/12/19(金) 06:47:470478462
2008/12/19(金) 07:15:03ブロックのはじまりを捕まえるには(forward-sexp)、複数行にわたる式だったら(c-beginning-of-statement)というのがあるのでそれぞれ(beginning-of-line)の代わりに使えば基本的にはおまえさんのやりたいことができるはず。
ちょうど良い練習になると思うのであとはC-h f, C-h v, C-h kとかをお供に頑張ってくれたまへ。
ただしgnu.orgにおいてあるindent 2.2.9には複数行の入力が改行で終わってないときには最後の行が無くなっちゃうという致命的なバグがあるようなので、debian.orgの2.2.10をインスコしなおす必要がある。
うちのにもともと入っていたのも2.2.9だったようだ。新しいの入れといてよジョブズたんorz...
0479名無しさん@お腹いっぱい。
2008/12/19(金) 10:52:26gnomeの設定と被ってる場合うまくいかない
0480454
2008/12/19(金) 15:59:03しばらく挑戦してみて報告しますね〜
0481名無しさん@お腹いっぱい。
2008/12/19(金) 16:02:04Ctrl+Bが遠いので変えようかと思ってるんだけど、どこにしようか決められない・・・
0482名無しさん@お腹いっぱい。
2008/12/19(金) 16:31:500483名無しさん@お腹いっぱい。
2008/12/19(金) 16:32:42C-n, C-pは合理的だと思うが
C-f, C-bは最悪だよな。
俺は C-f -> C-j, C-b -> C-k にしてる。
SKK使いだからSKKのC-jはC-lにしてる。
いまのところこれが一番かな。
0484名無しさん@お腹いっぱい。
2008/12/19(金) 16:40:18普通、Bは左人差し指、Nは右人差し指だよね
Bはアルファベットの中で一番遠く感じるキーだと思うんだけど
>>483
やっぱり我流で決めるべきかな
あんまり普通(=一般Emacsユーザの平均的な設定)からかけ離れてしまうと
まずいかなと妙な懸念を持ってるんだけど、そんなのは捨たほうがいいかなw
上下左右はよく使うんだから、viのhjkl並に易しい位置にしたいものだ・・
0485名無しさん@お腹いっぱい。
2008/12/19(金) 16:54:54あまり割り当てられていないキーの一つ。
>>484
Bはほとんどのキーボードで左右どちらからも同じ距離だし、
手首の回転で届かないYの方が遠いし。説得力まるでない。
0486454
2008/12/19(金) 16:58:34viライクなh,j,k,lだけでの移動にしたいんだけど、そんな事って可能?
0487名無しさん@お腹いっぱい。
2008/12/19(金) 17:01:20ええと、左手を普通にキーボードに乗せると、人差指がBに、中指がFに乗らんか?
手が小さいのか?
0488名無しさん@お腹いっぱい。
2008/12/19(金) 17:06:09ここをいじると他への影響が大きすぎる。
0489名無しさん@お腹いっぱい。
2008/12/19(金) 17:08:14C-x q って何だっけ?
0490名無しさん@お腹いっぱい。
2008/12/19(金) 17:12:13Yは真ん中からやや右よりだから右人差し指でしょ
Bはほんと真ん中にあるじゃん
>>487
自分はおそらく日本人の平均より手はでかいが
つーか左人差し指がF、右人差し指がJのホームポジションじゃないのか?
0491名無しさん@お腹いっぱい。
2008/12/19(金) 17:13:04http://www2.ocn.ne.jp/~cheerful/script/xyzzy/mode/minorviewmode.l
とか、XEmacs の view-less.el とか。
0492名無しさん@お腹いっぱい。
2008/12/19(金) 17:18:33「ホームポジション」に固執して不便を我慢するのですね。すばらしい心掛けです。
0493名無しさん@お腹いっぱい。
2008/12/19(金) 17:22:03'B'を左人差指に固執して不便を我慢するのですね。すばらしい心掛けです。
0494名無しさん@お腹いっぱい。
2008/12/19(金) 17:36:33ROM多いんだなこのスレ。その割に普段ろくな話題提供もしないんだから
コミュニティ精神の欠けらもない…
0495名無しさん@お腹いっぱい。
2008/12/19(金) 17:36:360496名無しさん@お腹いっぱい。
2008/12/19(金) 17:42:17人のこと言えるの?
0498名無しさん@お腹いっぱい。
2008/12/19(金) 18:13:50俺には無理だ・・・FとJの小突起に手が触れてないと迷子になる
0499名無しさん@お腹いっぱい。
2008/12/19(金) 18:17:28なんでみんな変えてると思ったんだ?
0500名無しさん@お腹いっぱい。
2008/12/19(金) 18:34:51俺もホームポジションは変えてないし、Bは左人差し指だな
>Emacs使いが'B'を左人差指はないわw
誰がどうキーボードを使おうと気にしないけどこれはどうかと思った
0501名無しさん@お腹いっぱい。
2008/12/19(金) 18:47:200502名無しさん@お腹いっぱい。
2008/12/19(金) 18:48:37http://pc11.2ch.net/test/read.cgi/unix/1055904385/
0503名無しさん@お腹いっぱい。
2008/12/19(金) 18:48:580504名無しさん@お腹いっぱい。
2008/12/19(金) 19:12:33エディタつーかITに限らず全てにおいてな
0505名無しさん@お腹いっぱい。
2008/12/19(金) 21:02:42日本的な常態性を貴ぶ文化は、ブレークスルーを起こしにくいんだよな。
0506名無しさん@お腹いっぱい。
2008/12/19(金) 21:12:45親指シフトでEmacsを使った経験がある人がいたら、アドバイスが聞きたいのだが。
0507名無しさん@お腹いっぱい。
2008/12/19(金) 21:23:000508名無しさん@お腹いっぱい。
2008/12/19(金) 21:29:02■ このスレッドは過去ログ倉庫に格納されています