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

Emacs Part 42

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。2012/12/24(月) 12:26:20.01
前スレ

Emacs Part 41
http://toro.2ch.net/test/read.cgi/unix/1347009022/
0825名無しさん@お腹いっぱい。2013/04/15(月) 10:44:15.28
>>818
↓じゃだめなん?

NTEmacs スレッド 3
http://anago.2ch.net/test/read.cgi/software/1325573999/
0826名無しさん@お腹いっぱい。2013/04/15(月) 11:52:44.06
NTEmacs に限定しない問題までいちいち誘導すんのやめれカス >>825
0827名無しさん@お腹いっぱい。2013/04/15(月) 11:53:25.70
いや、「UNIX板で聞くのもどうかと思うけど」って言ってるからさ。
0828名無しさん@お腹いっぱい。2013/04/15(月) 12:46:21.56
今見てきたらあっちのスレは>>1のテンプレにgnupack入ってたよ。
cygwinとemacsがtarを展開するだけで使えるcygwinデストリということみたいだ。
08298182013/04/15(月) 22:08:58.98
レスありがとです。

>>824
御指摘のとおりでした。
auto-install-from-emacswiki
で、インストールして使おうとしてました。

auto-install-from-emacswiki
の挙動として、既に .el ファイルがある場合それを上書きしてしまうらしく、
emacs/elicp/ ディレクトリの 24に付属の wdired を書き換えてました、
アーカイブから付属の wdired.el を取り出して入れ直して無事動きました。


>>825
NTEmacs スレがあったか。
すっかり忘れてました、普段こっちしか見ないもので。
お手数おかけしました。
0830名無しさん@お腹いっぱい。2013/04/16(火) 00:48:54.25
>>829
標準添付のelispを直接書き換えてしまう設定なんて絶対おかしいぞ
0831名無しさん@お腹いっぱい。2013/04/16(火) 02:14:17.94
-qや-no-site-fileで確認も出来ないもんな。
0832名無しさん@お腹いっぱい。2013/04/16(火) 09:03:33.50
>>830
(add-to-list 'load-path "~/elisp/")

とかしてる場合は後優先だからよくある話しなんじゃないかと。
とくに何年も前に手でインストールしたものが、新しいEmacsでいつのまにか ’part of GNU Emacs’ になってたときとか。

.elc とかも半年に1回ほどハマってるw
0833名無しさん@お腹いっぱい。2013/04/16(火) 10:46:00.60
>>832
"標準添付”を"書き換え”であってload-pathの順番の話じゃない

auto-installのインストール先が標準添付があるところを指定しているとかじゃないか
0834名無しさん@お腹いっぱい。2013/04/16(火) 10:56:05.25
>>833
こりゃ失礼。ファイルの上書きだったか。そりゃハマるわ。
0835名無しさん@お腹いっぱい。2013/04/16(火) 18:01:09.02
どう考えてもこれはあかんやろ。auto-install-get-path
windowsで使ったらウィルスクラスやん。
0836名無しさん@お腹いっぱい。2013/04/18(木) 00:48:56.38
>>801
亀レスすまんこだけど、TABで補完できたぞ
ソース長くて貼れなくてすまんこだけど、この辺も使って頑張れ

(completion-at-point)
minibuffer-message-timeout
0837名無しさん@お腹いっぱい。2013/04/18(木) 21:52:23.19
lisperに質問です。c言語とかずっとやってきて、lispにくると、括弧の対応がわかりずらくてコードの可読性の悪さになやんでます。
括弧対応はエディタサポートがあるからカーソルのせればわかりますが、のせないでソースをサラッと流し見したいときなどに困ってます。
皆さんどうしてます?
0838名無しさん@お腹いっぱい。2013/04/18(木) 21:56:30.70
ちなみに、自分でlispかくと、よくある括弧スタイルでなく、Cみたいに、
(defun hoge (args)
(when args
(print args)
)
)
とかいてしまいます
0839名無しさん@お腹いっぱい。2013/04/18(木) 22:08:13.55
ちゃんとインデントしてればだいたい読めるっしょ。
0840名無しさん@お腹いっぱい。2013/04/18(木) 22:14:21.72
>>838
よくあるスタイルに慣れとくと楽だよ。
0841名無しさん@お腹いっぱい。2013/04/18(木) 22:22:37.68
>>838
こういうスタイルは見る度にイラっとする。
0842名無しさん@お腹いっぱい。2013/04/18(木) 22:24:00.60
>>837
> のせないでソースをサラッと流し見したいときなどに困ってます。

これは何に困ってるの?
括弧の対応が間違っている、すなわちコンパイルが通らないようなのは論外でしょ。
0843名無しさん@お腹いっぱい。2013/04/18(木) 22:43:29.60
>>838
自分も最初はそうだったけど、インデントで読むようになってからは括弧は見なくなった
逆にCとかの括弧を }}}}} ってやりたくなる衝動にかられる
0844名無しさん@お腹いっぱい。2013/04/18(木) 22:49:12.21
>>843
全く持って同意だわ。最後の括弧がグラデーションになってないといらっとする。
08458382013/04/19(金) 09:20:25.99
>>842
>括弧の対応が間違っている、すなわちコンパイルが通らないようなのは論外でしょ。
さすがにコンパイルがとおらないようなことはないです。
他人のソースを読むときの話です。
あと、括弧が改行されてないとめんどくさいと書いてて感じるときは、
let※の先頭に変数を入れたいときに行頭で改行インデントですぐ入力できず括弧まで移動しなければならなかったり、
whenや関数などの末尾行に新たに処理を記述したいときに
行末近くの括弧から改行させる必要があるからです。
ここら辺はエディタのサポートで簡略化できてたりしますか?
0846名無しさん@お腹いっぱい。2013/04/19(金) 10:50:21.71
>>845
> let※

これ何かと思ったら let* かよ。。


> 他人のソースを読むときの話です。

だから読むときの何に困ってるわけ?
さらっと流し読むときなら symbol 名である程度を把握するでしょ。

> めんどくさいと書いてて感じるときは、

んーなんだろう。sexp 移動系のコマンドかなぁ。C-M-f, C-M-b
0847名無しさん@お腹いっぱい。2013/04/20(土) 13:44:28.55
php等のソースコードのインデントの整形や空白の整形を行いたいのですが、そういったことはできませんか?

インデントは、indent-regionで整えているのですが、

function (a,b,c = 1) {
}

等となっているものを、一括で

function( a, b, c=1){
}

のように再整形したいです。
0848名無しさん@お腹いっぱい。2013/04/20(土) 13:58:58.29
php使いじゃないからアレなんだけど、
emacsのphp-modeはかなりなんちゃってなんで無理じゃないかな?
C風の言語のmodeはcc-mode派生になってコード共通化してるけど、
php-modeは独自実装で凄く小さいelispなんで。
ぱっと見そんなコードは入ってない。
http://php-mode.svn.sourceforge.net/svnroot/php-mode/tags/php-mode-1.5.0/php-mode.el
0849名無しさん@お腹いっぱい。2013/04/20(土) 14:36:54.58
他の言語ならできんの?
0850名無しさん@お腹いっぱい。2013/04/20(土) 14:44:36.12
C/C++だとGNU indentをM-|だろうか。
0851名無しさん@お腹いっぱい。2013/04/20(土) 18:47:06.05
フジテレビは高額の税金(1000億円以上)を納税していて、社会に貢献しているテレビ局です。
0852名無しさん@お腹いっぱい。2013/04/20(土) 19:37:24.42
>>851
Emacsは??
0853名無しさん@お腹いっぱい。2013/04/21(日) 02:43:08.72
lisp読み書きできるようになったらemacs楽しすぎて
仕事にならない不具合が出てるんですけど
解決策はありますか?
0854名無しさん@お腹いっぱい。2013/04/21(日) 08:17:04.78
仕事やめてひたすら elisp 書け。
あんこくう゛ぃむおうみたいに。
Emacs にもそういう痛々しい人材は必要だ。
0855名無しさん@お腹いっぱい。2013/04/21(日) 10:24:25.04
>>853
それは仕様です
0856名無しさん@お腹いっぱい。2013/04/21(日) 10:24:57.89
ん?
0857名無しさん@お腹いっぱい。2013/04/21(日) 10:26:01.16
>>853
経験上,5年ぐらいで飽きるからそれまで我慢しよう。
0858名無しさん@お腹いっぱい。2013/04/21(日) 10:47:45.07
このままレキシカルスコープが定着して、
さらに末尾再帰呼び出しの最適化でもやってくれれば、
10年以上遊べるものになりそうなんだがなあ
0859名無しさん@お腹いっぱい。2013/04/21(日) 16:28:07.94
10年後のEmacsって、セカンドライフみたいな仮想空間みたいになってて
仮想空間内のバーチャル PC みたいなので起動して
擬似的なペアプログラミング(最大で数百人まで対応)みたいな
凄まじい世界になってそうだ。
0860名無しさん@お腹いっぱい。2013/04/22(月) 09:29:40.13
lispの場合はカッコの対応間違えてもコンパイル通る場合があるから気をつけろ
0861名無しさん@お腹いっぱい。2013/04/22(月) 12:22:14.85
ラジャ
0862名無しさん@お腹いっぱい。2013/04/23(火) 02:19:26.23
http://www.emacswiki.org/emacs/GuileEmacsTodo
ここ見るとGuile Emacsが着々と進行している
がんばって欲しいもんだ
0863名無しさん@お腹いっぱい。2013/04/23(火) 08:30:30.07
10万年前にEmacsが存在したなら、人類の未来は大きく変わったであろう。
0864名無しさん@お腹いっぱい。2013/04/23(火) 09:40:29.00
Emacsだけあっても、それが動く環境が無いと意味無いし
0865名無しさん@お腹いっぱい。2013/04/23(火) 12:29:24.12
Emacsこそがその環境じゃないのかね
0866名無しさん@お腹いっぱい。2013/04/23(火) 12:34:50.81
いや、そもそも10万年前って、コンピュータもインターネットもないから
Emacsだけあっても、そもそもどうやって動かして、何に使うのよって話だから
0867名無しさん@お腹いっぱい。2013/04/23(火) 15:30:23.57
この恐ろしいマジレスはなんなんだw
ネタにマジレスというネタだよな
0868名無しさん@お腹いっぱい。2013/04/23(火) 15:36:14.31
ネタっていうのはおもしろいものを言う。
こういうおもしろくない返しするのはマジなんだろう。
0869名無しさん@お腹いっぱい。2013/04/23(火) 16:06:29.37
そんなに、>>.863を叩くなよ
0870名無しさん@お腹いっぱい。2013/04/23(火) 16:30:15.32
便利なLipsはどこから拾ってくる?
あとEmacsを始める初心者が使うと良いテンプレートのLipsはある?
0871名無しさん@お腹いっぱい。2013/04/23(火) 17:01:03.51
Preludeでもつかっとけ
リップスリップス
0872名無しさん@お腹いっぱい。2013/04/23(火) 17:16:41.59
>>871
ありがとう。HP見てこれだよと思った。
0873名無しさん@お腹いっぱい。2013/04/23(火) 21:47:29.82
>>866
おまえ、Land of Lispの挿し絵見て出直してこいよ。
0874名無しさん@お腹いっぱい。2013/04/23(火) 23:44:49.15
ラジャ
0875名無しさん@お腹いっぱい。2013/04/24(水) 00:07:07.48
俺がemacsを使い始めたのは働き初めてからだったが、学生の頃に知ってたらいろいろ違ったのかな。
0876名無しさん@お腹いっぱい。2013/04/24(水) 01:50:14.43
Emacs 禁断症状が出てきた
0877名無しさん@お腹いっぱい。2013/04/24(水) 10:48:18.76
>>876
それはよくないマックスだね。
0878名無しさん@お腹いっぱい。2013/04/24(水) 12:26:25.38
>>875
今を生きろ
0879名無しさん@お腹いっぱい。2013/04/25(木) 18:11:53.69
rbkt先生は小学生の時点でemacs使ってたのにあのざまやぞ
0880名無しさん@お腹いっぱい。2013/04/25(木) 20:14:49.37
vim
0881名無しさん@お腹いっぱい。2013/04/25(木) 21:25:30.96
sexy vim
0882名無しさん@お腹いっぱい。2013/04/26(金) 09:55:48.66
通院で大変なのか嫉妬だの僻みだのの書込みなくなったな。
0883名無しさん@お腹いっぱい。2013/04/26(金) 12:11:53.03
通院ってどうしたの
0884名無しさん@お腹いっぱい。2013/04/26(金) 20:33:47.54
精神的に病んでるせいでhelmができたとかなんとか。
0885名無しさん@お腹いっぱい。2013/04/27(土) 02:45:09.75
やばい楽しすぎるw
emacs使って開発してるのかemacsの開発してるのか分からなくなってきた
2:8くらいの比率になっちまってる
ほんとに5年で飽きるのかこれ
0886名無しさん@お腹いっぱい。2013/04/27(土) 08:25:53.57
飽きる
っつーかネタ切れになった
っつーか俺の場合やりたいネタがelispの処理速度では現実的じゃなかった
0887名無しさん@お腹いっぱい。2013/04/27(土) 09:02:41.13
>>886
そのネタ晒せよ。
0888名無しさん@お腹いっぱい。2013/04/27(土) 09:15:20.87
自分がやれることしかやりたくなくなったらおしまいだよね〜♪
0889名無しさん@お腹いっぱい。2013/04/27(土) 09:19:36.88
会社のWindowsPCにEmacs入れてメーラのthunderbirdの外部エディタとして使い始めたけどメール書くのとか楽しくなってきたよ。
あと議事録とかも書いてて楽しめるようになった。
中身はどうでもいいやw 大切なの歯Emacsで何を書くかではなく、Emacsを使って書くこと。
手段と目的とを混同しなくてはならない。
0890名無しさん@お腹いっぱい。2013/04/27(土) 14:14:03.19
それはEmacsでなくキチMAXやね。
0891名無しさん@お腹いっぱい。2013/04/27(土) 14:54:33.22
理解できる。
EDITOR環境変数とか、(これは最近関係ないか)
Google ChromeのEdit with Emacsとか、
EclipseのEmacs pluginが命綱。
Eclipseの補完機能死んで意味ねえって周りは言ってるけど。
0892名無しさん@お腹いっぱい。2013/04/27(土) 16:46:46.78
emacsでjavaのコーディングしてる人いる?
やっぱりjdeeがいいのかな
malabar-modeなんてのもあるらしいけどググっても導入方法しか出てこなくて使ってる人いるのか疑問
0893名無しさん@お腹いっぱい。2013/04/27(土) 22:25:37.90
◆じゃあの野間まつり◆
じゃあのさん来た!

421:以下、名無しにかわりましてVIPがお送りします[]
2013/04/27(土) 21:53:57.62 ID:qYDE1sEQ0
てか、すっかり野間ちゃんのこと忘れてたわwww
別件で色々あってなwwww
所詮その程度の存在なんだけどなwww野間ちゃんなんてwwww
じゃあ、今からやるかwww罰ゲームなwww
あーあwww野間のせいだwww野間が全部悪いwww
--- 以下スレ情報 ---
高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸
http://hayabusa.2ch.net/test/read.cgi/news4vip/1366990405/
0894名無しさん@お腹いっぱい。2013/04/28(日) 02:29:24.81
vip でやれ
0895名無しさん@お腹いっぱい。2013/04/29(月) 02:40:27.73
emacs lispで質問です。
複数のバッファをオープンしているとして、
バッファがウィンドウに表示された時と非表示になったときに実行されるようなhookはありませんか?
フレームに表示中だけそのバッファ付のプロセスを起動して、
非表示のときはプロセスをsleepかkillしたいのです。
0896名無しさん@お腹いっぱい。2013/04/29(月) 02:41:35.37
同等の事が実現できればhookでなくてもいいです。
ただ、 defadviceとかで既存関数をいじる方向はナシで・・・。
0897名無しさん@お腹いっぱい。2013/04/29(月) 07:04:31.39
>>895
プロセスって何かプログラムを起動させるってこと?
そんなことできるの?
0898名無しさん@お腹いっぱい。2013/04/29(月) 07:16:19.78
>895
つwindow-configuration-change-hook
0899名無しさん@お腹いっぱい。2013/04/29(月) 13:25:20.77
calc-mode が書き出す ~/.emacs.d/calc.el にはウィンドウの高さとかしか
保存されないんですが、スタックの内容も保存する方法ってあります?
0900名無しさん@お腹いっぱい。2013/04/29(月) 16:15:48.33
evernote-mode使えてる人いる?
0901名無しさん@お腹いっぱい。2013/04/29(月) 17:02:36.19
>>897
start-processとか普通にあるやん
0902名無しさん@お腹いっぱい。2013/04/29(月) 20:43:07.31
>>901
emacsとプロセスとのデータのやりとりは?
特にプロセスからemacsにデータとかわたせるの?しかも非同期にとか
0903名無しさん@お腹いっぱい。2013/04/29(月) 20:46:53.70
中身全然読んでないけど非同期IOはできるみたいだね
http://www.gnu.org/software/emacs/manual/html_node/elisp/Processes.html
0904名無しさん@お腹いっぱい。2013/04/29(月) 20:48:41.63
mewがやってる
0905名無しさん@お腹いっぱい。2013/04/29(月) 21:03:39.51
githubにdeffered.elとかあるけど使い方がよくわからん
同作者のemacs-epcとか使ってemacs外部と直接関数呼び出し、戻り値の形式でやり取りできたら面白そうと思ったけど
プロトコルがわからん
単に長さ付きのS式でやり取りしてるなっていうのはまぁわかるけど
0906名無しさん@お腹いっぱい。2013/04/29(月) 21:15:02.68
dbus.elを使えばデータの受け渡しなどはできそう。
0907名無しさん@お腹いっぱい。2013/04/29(月) 21:32:08.60
>>902
> >>901
> emacsとプロセスとのデータのやりとりは?
> 特にプロセスからemacsにデータとかわたせるの?しかも非同期にとか
立ち上げたプロセスと標準入出力でやり取りする。
send-process〜とかあるよ。
あとはset-process-filterとかsentinelとか使えばやりとりできます。
0908名無しさん@お腹いっぱい。2013/04/29(月) 21:38:37.14
それが面倒だからわざわざdbus.elとか使うんだよなぁ…
非同期プロセス関連は長年メンテされてるelispでもバグだらけで
とても素人が使えるものじゃないって代物だわ
0909名無しさん@お腹いっぱい。2013/04/29(月) 21:44:23.71
>>908
> 非同期プロセス関連は長年メンテされてるelispでもバグだらけで

例えばどのelispだろう?そんなに酷くない気がするけど。
0910名無しさん@お腹いっぱい。2013/04/29(月) 21:55:31.13
vc.elとかgnus.elみたいな標準のでもバグ報告でしょっちゅうerror in process sentinelでてる
ためしにこのエラーメッセージで検索したらひっかかるわひっかかるわ
ノンブロッキングIOなんて昔からバグの温床だしそんなもんといえばそんなもんか
0911名無しさん@お腹いっぱい。2013/04/29(月) 22:05:59.36
buffer消しちゃったりしたときのアレかな。バグといっていいのかどうか。
Emacsが対話環境も提供する以上、ある程度は仕方ない気がする。
0912名無しさん@お腹いっぱい。2013/04/29(月) 22:52:47.50
>>908
> それが面倒だからわざわざdbus.elとか使うんだよなぁ…
ん、dbus.elってなに?全然しんらないんだけど・・。
0913名無しさん@お腹いっぱい。2013/04/30(火) 01:40:40.28
>>898
あざーっす。
試してみます。
0914名無しさん@お腹いっぱい。2013/05/01(水) 21:24:07.09
lispで質問です。
以下のようなリストがあるとします。
(hoge '(("a" a) ("b" b) ("b" b) ("b" b) ("c" c) ("b" b) ("b" b) ("b" b)))

このなかでシンボルcを持つエレメントをみつけて削除したいのですが、すごくめんどくさくて困ってます。
hogeの中身が連想リストの場合は
(setq hoge (delete (rassq 'c hoge) hoge)
ですむのですが、
hogeが連想リストじゃないので、rassqが使えません。
なので do をつかって
(let* ((hoge '(("a" a)
("b" b)
("b" b)
("b" b)
("c" c)
("b" b)
("b" b)
("b" b)))
find)
(do ((cnt 0 (1+ cnt)) ) ((or find (null (nth cnt hoge))) )
(when (setq find (eq 'c (car (cdr (nth cnt hoge)))))
(setq hoge (delete (nth cnt hoge) hoge))))
hoge)
といったコードになってしまいます。
もっとシンプルにできる方法はないでしょうか?
0915名無しさん@お腹いっぱい。2013/05/01(水) 21:47:13.65
>>914
("c" c) って要は ("c" . (c)) のことなんだから
eq?じゃなくてequal?を使うrassocの方を使って
(setq hoge (delete (rassoc '(c) hoge) hoge)
でいいんじゃないの?
0916名無しさん@お腹いっぱい。2013/05/01(水) 22:15:20.92
>>915
あ、できました。
ありがとう。
というか、
>("c" c) って要は ("c" . (c)) のことなんだから
ここらへんの理解が適当でした。
0917名無しさん@お腹いっぱい。2013/05/01(水) 23:20:24.97
>("c" c) がなんかのアスキーアートに見えてしょうがないんだが..
0918名無しさん@お腹いっぱい。2013/05/02(木) 00:07:02.47
そもそも cons cell にしとけばいいのに
別にいいけど
0919名無しさん@お腹いっぱい。2013/05/02(木) 08:35:44.29
>>918
お前わかってねーな
0920名無しさん@お腹いっぱい。2013/05/02(木) 13:47:07.21
まーな
0921名無しさん@お腹いっぱい。2013/05/02(木) 20:10:49.30
>>899
できました。ありがとう俺!
0922名無しさん@お腹いっぱい。2013/05/02(木) 20:34:13.97
ある特定のメジャーモードで動いているとき、もしくは特定のバッファだけ、
ある既存関数の挙動を置き換えたいんですが方法ありますか?

defadviceとかだと、他のモードやバッファでの動作もかわっちゃいますよね。
0923名無しさん@お腹いっぱい。2013/05/02(木) 20:44:49.31
defadvice の先頭にメジャーモードの判定を入れるのはどう?

(defadvice hoge (around hoge-advice activate )
(if (eq major-mode 'huga-mode)
(なんか処理)
ad-do-it))
0924名無しさん@お腹いっぱい。2013/05/02(木) 20:45:41.84
defadviceしてその中でmajor-modeとか使って分岐すればいいじゃん。
レス数が900を超えています。1000を超えると表示できなくなるよ。