Emacs Part 32
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/10/24(土) 04:05:36スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること
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
ダウンロード http://ftp.gnu.org/pub/gnu/emacs/
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
Git: git clone git://git.savannah.gnu.org/emacs.git emacs
_/l__
/ く
| ´ω` | ぐにゅう emacs
| C='|
前スレ http://pc12.2ch.net/test/read.cgi/unix/1251665639/
Emacs は世界を救う!
0507504
2009/12/02(水) 17:43:40アドバイスありがとうございます。
text-mode/cc-modeのifを見てみると
if (${1:condition})
{
[][][][]$0
}
となっていました。
これを見る限り、>>504の最後のスタイルに当たると思うのですが、なぜか{の前にスペースが入ってしまいます。
調べてみると、どうやらyasnippetとは別にデフォルトのインデントスタイルが影響してるみたいです。
if (condition)
{
[][][][]return 0;
}
これを範囲インデントすると
if (condition)
[][]{
[][][][]return 0;
[][]}
となってしまいます。
これがデフォルトということはやっぱりemacs使いの人はこのインデントスタイルに慣れてるのでしょうか。
だとしたら設定いじるより自分の先入観を消す方が早いのか。
0508名無しさん@お腹いっぱい。
2009/12/02(水) 18:02:46http://ja.wikipedia.org/wiki/%E5%AD%97%E4%B8%8B%E3%81%92%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB
0509名無しさん@お腹いっぱい。
2009/12/02(水) 18:05:18ttp://blog.livedoor.jp/pokketo-program/archives/1341901.html
0510名無しさん@お腹いっぱい。
2009/12/02(水) 18:05:30if(${1:conditon}) {
[][][][]$0
}
にして if と '{' を同じ行にするとデフォルトのままでも '{' と '}' をインデントしたりしなくなるみたいだ。
あとインデントスタイルは個人でやるときは別に好きにしていいと思うけどね。
'{'を2カラム上げるやりかたもそんなに一般的とは思えないし。
0511504
2009/12/02(水) 18:18:40丁寧にありがとうございます。
吟味した結果k&rスタイルに落ち着きました。
if (condition)
[][]{
[][][][]return 0;
[][]}
この見慣れないスタイルはGNUが推してるスタイルのようですね。
EmacsもGNUだからこれがデフォルトになってると…。
0512名無しさん@お腹いっぱい。
2009/12/02(水) 18:44:19行数は増えるけどね。
0513名無しさん@お腹いっぱい。
2009/12/02(水) 19:08:260514名無しさん@お腹いっぱい。
2009/12/02(水) 19:15:490515名無しさん@お腹いっぱい。
2009/12/02(水) 19:49:07色んな言語と色んな開発環境、IDE使っていくうちに結構どうでもよくなって
全部デフォルトなんてこともありうるけど。
0516名無しさん@お腹いっぱい。
2009/12/02(水) 21:12:21HTMLでは半角スペースは で表す。
if (condition)
{
return 0;
}
0517名無しさん@お腹いっぱい。
2009/12/02(水) 22:22:25お前は何を言ってるんだ・・・
0518名無しさん@お腹いっぱい。
2009/12/02(水) 22:25:01>>516の言ってることを理解できないとか、ちょっと引くわ...
0519名無しさん@お腹いっぱい。
2009/12/02(水) 22:33:150520名無しさん@お腹いっぱい。
2009/12/02(水) 22:35:30int *a;
じゃなくて
int* a;
だが、誰も賛同してくれない。
0521名無しさん@お腹いっぱい。
2009/12/02(水) 22:39:27> int* a;
C++ は後者を支持しているんだけどな。
でもやっぱり foo *var スタイルが多いな。
俺はCでもC++でも書くことがあるから、中間を取って
foo * var
って書いたりする。
0522名無しさん@お腹いっぱい。
2009/12/02(水) 22:50:54int* a, b; // !?
int* a, *b; // !!??
0523520
2009/12/02(水) 22:53:37そこは諦めて
int *a, *b;
あるいは
int* a;
int* b;
としてる。でも本当は
(int*) a, b;
とかしたい。
(struct tm)* t;
とか。
0524名無しさん@お腹いっぱい。
2009/12/02(水) 22:54:37俺は int* a; スタイルなら、1行には1個しか書かないようにしてる。
他人と仕事するときは自分のスタイルはすべて忘れる。
0525520,523
2009/12/02(水) 22:56:40int (*func)(int, int);
じゃなくて
(int (int, int))* func;
とか。Javaの書き方(String[] args等)はだいぶ俺の考えに近い。
0526名無しさん@お腹いっぱい。
2009/12/02(水) 22:59:05確かに Java だの C# だのは型と変数部分がしっかり分離してていいよね。
0527名無しさん@お腹いっぱい。
2009/12/02(水) 23:01:47double[,] m = new double[3, 3];
こうだからw
0528名無しさん@お腹いっぱい。
2009/12/02(水) 23:19:27int *a; の書き方を支持してるね。
Cはポインタに限らず訳のわからない宣言方法だらけだから
無理に分かりやすく解釈するよりも「そういうもんだ」と諦めろということらしい。
0529名無しさん@お腹いっぱい。
2009/12/02(水) 23:25:43int * a は
int (* a) って結合だからなあ
int* a だと
(int*) a って勘違いしちゃうからってのが前者を推奨する側の根拠だったと思う。
>>522 みたいなときに b がどうなるのかわからんみたいな。
もっともコンパイルするときに警告でるからわかるとは思うけどね。
0530名無しさん@お腹いっぱい。
2009/12/02(水) 23:35:24C なら int *a
で使いわけてる。
0531名無しさん@お腹いっぱい。
2009/12/02(水) 23:40:52lispだとコーディングスタイル論争が無いから新鮮だ。
0532名無しさん@お腹いっぱい。
2009/12/02(水) 23:43:270533名無しさん@お腹いっぱい。
2009/12/03(木) 00:26:30int* a, b;みたいなときパッと見わけわかんないじゃん
論理的にはint *a, b;だろ
0534名無しさん@お腹いっぱい。
2009/12/03(木) 01:07:320535名無しさん@お腹いっぱい。
2009/12/03(木) 01:09:15どうせlisperにはカッコ見えてないだろうしw
0536名無しさん@お腹いっぱい。
2009/12/03(木) 02:07:22インデントしちゃうのは他の言語からきた人。
それだけ。
それだけ。
0537名無しさん@お腹いっぱい。
2009/12/03(木) 02:31:49で、一度に一個しか書かない派だな。
C++(orC99)は使う直前に変数を宣言できるから、一度に複数宣言する
事があまりないし。
0538名無しさん@お腹いっぱい。
2009/12/03(木) 04:13:44古い人が特に気に入らないようで
0539名無しさん@お腹いっぱい。
2009/12/03(木) 06:05:58職場のPCはWindowsXPです 職種は普通の事務職です(プログラマではありません)
職場の自分用のPCは有るのですがインストール権限は有りません
しかし、職場のPCでもEmacsを使いたいと思い
ttp://code.google.com/p/emacs-for-windows/
上記のサイトからダウンロードしたEmacs23.1を使っています
.emacsとロードパスを通してinstall-elispが使えるところまでは出来ました
今つまづいているのはAnthyのインストールです
上記のサイトから使わせてもらっている Portable Emacs の
どこをどうすればAnthyを使えるようになるのでしょうか
家のubuntuのEmacsからAnthy関係のファイルをコピペして設定を書けば
Anthyが動くような気もするのですが そんなものでも無いのでしょうか?
0540名無しさん@お腹いっぱい。
2009/12/03(木) 11:20:070541名無しさん@お腹いっぱい。
2009/12/03(木) 11:27:39そりゃまとめるだろうけど、
letのバインドのとこの閉じカッコの位置なんか、好みで違うじゃん。
0542名無しさん@お腹いっぱい。
2009/12/03(木) 12:23:11っていう書き方。
0543名無しさん@お腹いっぱい。
2009/12/03(木) 14:03:43早くLinux版がほしいとこだよな
0544名無しさん@お腹いっぱい。
2009/12/03(木) 14:08:410545名無しさん@お腹いっぱい。
2009/12/03(木) 14:59:470546名無しさん@お腹いっぱい。
2009/12/03(木) 17:10:04meadow を使った方がいいんじゃない?
ttp://www.meadowy.org/meadow/
0547546
2009/12/03(木) 22:01:290548名無しさん@お腹いっぱい。
2009/12/03(木) 22:14:190549名無しさん@お腹いっぱい。
2009/12/03(木) 22:20:220550名無しさん@お腹いっぱい。
2009/12/03(木) 22:23:400551名無しさん@お腹いっぱい。
2009/12/03(木) 22:24:23windows上でもmeadowつかわないで普通のemacs使う人が増えたなとは思う
0552名無しさん@お腹いっぱい。
2009/12/03(木) 22:27:540553名無しさん@お腹いっぱい。
2009/12/03(木) 22:28:040554名無しさん@お腹いっぱい。
2009/12/03(木) 22:33:190555名無しさん@お腹いっぱい。
2009/12/03(木) 22:43:15そうだったんだ。
>>539 の言ってる emacs のほうが、meadow よりいいのかな。
0556名無しさん@お腹いっぱい。
2009/12/03(木) 22:50:450557名無しさん@お腹いっぱい。
2009/12/04(金) 00:56:15NTEmacs で MS-IME 使うときには、なにか特別な設定だかパッチが必要だったと思う。
パッチ当てられたやつが配布されてなかったっけか。
Windows で Anthy を使う方法は知らない。
>>555
とりあえずフォントの設定は楽チンだった。
0558名無しさん@お腹いっぱい。
2009/12/04(金) 02:32:57公開されているNTEmacs23用のIMEパッチは糞だった。
もうあきらめてSKK使ってる。
0559名無しさん@お腹いっぱい。
2009/12/04(金) 03:21:200560名無しさん@お腹いっぱい。
2009/12/04(金) 03:21:590561539
2009/12/04(金) 04:47:40アプリを車のキーに付けたUSBメモリに入れて持ち歩いています
http://portableapps.com/ ←ここ以外のサイトにも沢山あります
7-ZIPやPDFリーダーも便利です こんな感じでEmacsも持ち歩けたら
便利(カッコイイ)なと思いました 職場のPCのCドライブにもコピー
するだけで動くし WindowsPCなら何処にでもあるし
0562539
2009/12/04(金) 05:20:06Ymacs すごくカッコいいです! びっくりしました
USBメモリから(Windows上で)起動出来るアプリとしては
Portable ubuntuも使っているのですが 環境を整えると
サイズが大きくなりすぎる事と 管理者権限でfirewallを設定
されているPCではcolinuxのdaemonが弾かれて起動しないので
Portable ubuntu にEmacsをインストールして使用するのは
諦めました
0563名無しさん@お腹いっぱい。
2009/12/04(金) 07:24:46つ WinAnthy
0564名無しさん@お腹いっぱい。
2009/12/04(金) 16:14:350565名無しさん@お腹いっぱい。
2009/12/04(金) 17:51:21今では彼よりも使いこなしてるけど。
0566名無しさん@お腹いっぱい。
2009/12/04(金) 17:57:400567名無しさん@お腹いっぱい。
2009/12/04(金) 18:07:59500人に一人、0.2%ぐらいかな?
0568名無しさん@お腹いっぱい。
2009/12/04(金) 18:09:460569名無しさん@お腹いっぱい。
2009/12/04(金) 18:31:040570名無しさん@お腹いっぱい。
2009/12/04(金) 18:35:37じゃあ、ぼきゅと付き合ってくれる?
0571名無しさん@お腹いっぱい。
2009/12/04(金) 18:37:140572名無しさん@お腹いっぱい。
2009/12/04(金) 19:10:090573名無しさん@お腹いっぱい。
2009/12/04(金) 19:14:24>* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
0574名無しさん@お腹いっぱい。
2009/12/04(金) 19:19:120575名無しさん@お腹いっぱい。
2009/12/04(金) 20:46:17php拡張子のファイルを開くと自動的にPHPモードになり、とりあえず使えるようになったのですが、
二つほど分からない点があるので教えていただけないでしょうか。
@ネットでphp-modeについて調べると、外からダウンロードしてきてemacsファイルにphp-modeを読み込む設定を書いてる人が多いのですが、
自分は何も設定していないのにphp-modeが使える状態になっています。これは何故ですか?
ちなみに自分の環境には/usr/share/emacs/site-lispにphp-mode.elがあります。
A自分の環境にあるphp-mode.elの中身を覗いてみると、php-mode.elのバージョンが1.4.0になっていました。
最新バージョンはhttp://sourceforge.net/projects/php-mode/によると1.5.0のようなのでこれに変更したいです。
この場合、/usr/share/emacs/site-lisp/php-mode.elを上書きすればいいのでしょうか?
あるいは、~/.emacs.d/plugins/というディレクトリに個人用のelispを置けるらしいのでここに置けば上記のphp-mode.elより優先して読み込んでくれるのでしょうか?
Emacs熟練者の方がどういう設定をしてるのか知りたいです。
長ったらしくてすいませんがよろしくおねがいします。
0576名無しさん@お腹いっぱい。
2009/12/04(金) 20:50:56ttp://www.itmedia.co.jp/enterprise/articles/0801/07/news030.html
0577名無しさん@お腹いっぱい。
2009/12/04(金) 21:22:160578名無しさん@お腹いっぱい。
2009/12/04(金) 22:25:471、php-mode.elが標準で入ったのはEmacs23からだと思う。
それ以前は自分でインストールして使っていた。その設定例が多いのだと思う。
2、普通は上書きはしない。
別のディレクトリを用意して読ませるようにする。
どこを読ませるかは好みだろう。たとえばオレは ~/elisp/ ってのを作ってそこに入れる。
あと、たぶん大丈夫だろうけど、特定のパッケージだけバージョンを上げてみたら
それに含まれる関数が手元の環境の方に入っていなくて結局使えなかった、
なんてことも考えられるので、何かあったら自分でなんとかするんだ。
0579名無しさん@お腹いっぱい。
2009/12/04(金) 22:55:01どこのEmacs23?
http://cvs.savannah.gnu.org/viewvc/emacs/lisp/progmodes/?root=emacs
0580名無しさん@お腹いっぱい。
2009/12/04(金) 23:13:19>>578だけど、本家には入っていなかったのか。適当なこと言ってごめん。
それはそうと、/usr/share/emacs/site-lisp 以下っていっていることと、
レス内に機種依存文字が使われていることから cygwin なのかも、といまさら予想してみた。
最近の cygwin のこともよく知らないんだけど。
0581名無しさん@お腹いっぱい。
2009/12/04(金) 23:22:01Windows で GNU Emacs 使ってます。
ediff-files などで日本語パスの入ったファイルを指定すると、No such a error とでてしまいます。
解決策をご存知の方はいますか?
もし知っていたらご教示頂けると助かります。
0582名無しさん@お腹いっぱい。
2009/12/04(金) 23:26:54そんなエラーはない、ってこと?
0583名無しさん@お腹いっぱい。
2009/12/04(金) 23:35:09エラーメッセージと一緒に表示されたパスは、UTF8っぽかったんで、sjis とか思い当たる変数にセットしてみたんですけど、うまくいきませんでした。
0584名無しさん@お腹いっぱい。
2009/12/04(金) 23:46:51あと、エラーメッセージはちゃんとコピーしたほうがいいと思うよ。
C-h e で *Messages* バッファが見れるから。
0585名無しさん@お腹いっぱい。
2009/12/05(土) 00:55:44Debian 上で Emacs22 を使っています
以前の sarge の頃は euc-jp の環境で、language-env の吐いた .emacs など
を使っていました
当時は、キーボードの Backspace の左隣にある「¥」の印字されたキーを
叩くと、バックスラッシュがバッファに表示されたました。それで全く問題あ
りませんでした。
バックスラッシュ…UNIX ライクな環境
¥…代わりとして MS Windows だけで使われる
そして、2つの内部表現は同一、と思い込んでいました。
ところが、最近 utf-8 に乗り換えたところ、同じキーを叩くと¥が表示され
て、ビックリしました。
しかも、¥のままだと gcc や javac で "▼n" の箇所が改行されずに、純粋
に文字 '▼' と 'n' の列と解釈されてしまい、途方に暮れました。
さらに酷かったのが TeX で、¥のままだと ! LaTeX Error: Missing \begin{document}.
と怒られる始末でした。さらにソースファイルは euc-jp しか受け付けてくれ
ないので、冒頭に %-*-coding: japanese-iso-8bit;-*- と付け足したので、
余計に混乱しました。
0586名無しさん@お腹いっぱい。
2009/12/05(土) 00:57:38(>>585 のつづき)
結局、ググっていると、右Shift の左隣にある「\」の印字されたキーを叩け
ば、バックスラッシュがバッファに表示され、これで万事解決しました。
キーボードは 106A なんですが、やはり「¥」と「\」では、叩いたときに違
う文字コードが送られるようです。
また、utf-8 でエンコードされたファイルでは¥と\が共存できるので、どう
やら、これらの内部表現は異なるみたいです。
ASCII コードと JIS X 0201 では「¥」と「\」は同じ 0x5c なのに、扱いが
異なるみたいです。
utf-8 では「¥」と「\」の文字コード割り当てが違うんでしょうか?
…なんかもう意味不明です。だれか詳しい方いませんか?
0587名無しさん@お腹いっぱい。
2009/12/05(土) 01:05:19Zeno様、こういう時こそ出番なのではないですか?
0588名無しさん@お腹いっぱい。
2009/12/05(土) 06:39:26EmacsのスレよりもLinux板(のdebianスレ?)できく方がいいんじゃないかなあ。
0589Zeno ◆5nZQbNmQPs
2009/12/05(土) 06:58:55>>586
emacs上で \ の前にカーソルを置いて
(message "%s %s" (what-charset) (char-code-at-cursor))
を実行してみろ。通常なら
(ascii) Char: \ (92, #o134, #x5c) point=1 of 59 (0%) column=0
のように表示されるはずだ。その結果をここに貼り付けろ。
次に、もし別な文字コードになっていたのなら、末端で
$ xbindkeys --key
を実行して、お前のキーボードの「¥」キーをタイプしてみて、
その結果をここに貼り付けろ。
助けてやってるんだから早くしろ。
0590名無しさん@お腹いっぱい。
2009/12/05(土) 07:43:56Emacs22 組込みの UTF-8 だと、以下の設定で ¥ を \ にデコードできるかも。
(puthash #x00a5 ?\\ ucs-unicode-to-mule-cjk)
0591名無しさん@お腹いっぱい。
2009/12/05(土) 14:40:53単純に diff.exe がないんじゃないか?
0592名無しさん@お腹いっぱい。
2009/12/05(土) 15:03:43reverse solidus, U+005C
fullwidth reverse solidus, U+FF3C
yen sign, U+00A5
fullwidth yen sign, U+FFE5
とUnicode文字名か、Unicodeスカラ値で書いた方がいいと思う。
ちなみに昔のEmacsでは、キーボードからyen signを受け取っても、
reverse solidusに変換していた。
0593名無しさん@お腹いっぱい。
2009/12/06(日) 09:12:54if(...) の ... を複雑にしすぎると外側の ( ) の対応が取れなくなることがある気がする。
0594名無しさん@お腹いっぱい。
2009/12/06(日) 09:25:170595Zeno ◆5nZQbNmQPs
2009/12/06(日) 09:50:07>>593
c++-modeを使え。
0596名無しさん@お腹いっぱい。
2009/12/06(日) 10:17:550597名無しさん@お腹いっぱい。
2009/12/06(日) 11:50:54挿入モードと上書きモードを使い分けてテキストでブレストしたいのです.
0598名無しさん@お腹いっぱい。
2009/12/06(日) 12:12:36vipper-mode とか viper-mode が便利かもしれない ただ学習コストは高いかも
<M-g><M-g>で行移動はできる
0599名無しさん@お腹いっぱい。
2009/12/06(日) 12:14:17Emacs上でhjklで移動できる
0600名無しさん@お腹いっぱい。
2009/12/06(日) 12:17:09何も入力されてない方向にカーソルもってくと空白がかってに挿入されて
好きな場所に文字が入力出来る、みたいなのを想定してるんだろうか
0601Zeno ◆5nZQbNmQPs
2009/12/06(日) 12:35:00>>600
懐かしいな。
久々に使用してみたが、やはり良いな。
*-draw-* は幾つか増やして欲しいものだが。
0602名無しさん@お腹いっぱい。
2009/12/06(日) 13:04:520603名無しさん@お腹いっぱい。
2009/12/06(日) 13:28:39現代ではそういうのはExcelが担当してるな・・・
0604名無しさん@お腹いっぱい。
2009/12/06(日) 13:40:15そうです! それです.ありがとうございます.
Tabの振舞やRETで前の行が次の行にコピーされるのが面白いですね.
これをベースにすれば色々とできそうですね.
0605名無しさん@お腹いっぱい。
2009/12/07(月) 15:05:540606名無しさん@お腹いっぱい。
2009/12/07(月) 15:28:42ttp://livedoor.2.blogimg.jp/amplit/imgs/b/f/bf510016.jpg
■ このスレッドは過去ログ倉庫に格納されています