トップページunix
994コメント303KB

Emacs Part 47 [転載禁止]©5ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。2014/12/20(土) 16:17:19.14
語り合いましょう。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/

前スレ
Emacs Part 46
http://peace.2ch.net/test/read.cgi/unix/1403458934/
0818名無しさん@お腹いっぱい。2015/03/21(土) 00:56:51.23
>>817
上の方でできないとかほざいてるのがいたから教えてやったまでだが?
感謝しろよ
0819名無しさん@お腹いっぱい。2015/03/21(土) 01:02:45.00
>>818
>>808のことか?
全く要件満たしてないぞ
08208082015/03/21(土) 01:03:44.84
org-mode風インターフェースというのが、ただのツリーUIという風に取られてしまっただろうか。
インクリメンタルサーチや絞り込み検索などで木構造全体を縦横できないのが致命的に使いづらいなという点を指摘したかったのです。
08218082015/03/21(土) 01:05:00.23
>>818
わかりづらくて申し訳ありませんでした。
0822名無しさん@お腹いっぱい。2015/03/21(土) 01:07:36.05
(setq custom-buffer-style 'brackets)
せっかくヒントやったのにここまで書かないとわかんないのかー
どうなっちゃってんだ最近のユーザーは
0823名無しさん@お腹いっぱい。2015/03/21(土) 01:13:44.57
>>822
いやそこは custom-set-variables 使えよ…
0824名無しさん@お腹いっぱい。2015/03/21(土) 01:26:06.98
数あるemacsアプリケーションのうち
customize一番使い込んでるとか
完全に負け組じゃないですか
0825名無しさん@お腹いっぱい。2015/03/21(土) 01:33:19.78
>>822
余計使いづらくなっててワロタ
0826名無しさん@お腹いっぱい。2015/03/21(土) 01:53:24.98
あんまり emacs のバッファって gui 的なの実装するのに向いてない気がする
手間のわりにはそんなにいいの作れるわけでもないし
キーボード主体でのアクセスだから並べるより helm みたいなので
ばんばん絞り込んだの表示してやるとかのほうがあってる。
0827名無しさん@お腹いっぱい。2015/03/21(土) 11:26:21.36
session って savehist と saveplace で置き換え可能かな?
0828名無しさん@お腹いっぱい。2015/03/21(土) 17:49:03.29
>>797
の言ってることが全てだ
customizeのインターフェースを糞とか言ってる奴ってマウスで全部出来なきゃ駄目な奴でしょ
0829名無しさん@お腹いっぱい。2015/03/21(土) 18:11:27.24
え、customize つかってる人こそ20世紀末のマウスポチラーでしょ?
0830名無しさん@お腹いっぱい。2015/03/21(土) 18:25:07.31
今夜もカスタマイズをバカにされると死んじゃう人が来てるのか
ツリー表示でドヤ顔もいいけどもっとびっくりするネタ持ってきなさいね
0831名無しさん@お腹いっぱい。2015/03/21(土) 18:27:16.11
customizeくらいで大騒ぎしてるからvimに負けるんだよ
0832名無しさん@お腹いっぱい。2015/03/21(土) 18:32:17.14
>>831
customize をもっとアピールしていけば vim に負けることなんてなかった。
0833名無しさん@お腹いっぱい。2015/03/21(土) 18:38:51.73
ワナビはむずかしいエディタ使ってる自分を大事にしたいはずだから
customize は死んでも使わないと思う
で、本当にわかりやすい設定画面求めてる初心者は customize の見通しの悪さに絶望して emacs 自体使わない

つまり vim に負けたのは必然
0834名無しさん@お腹いっぱい。2015/03/21(土) 18:45:46.89
>>833
初心者さんは無理に話題に入ってこなくていいのよ
0835名無しさん@お腹いっぱい。2015/03/21(土) 18:47:17.14
ああ、vim に負けたとか書くのは繊細な emacs 使いには答えちゃったかな?
0836名無しさん@お腹いっぱい。2015/03/21(土) 18:49:37.42
customize でも setq でもなんでもいいけどさ、お前ら設定の話しかしねえのな。
vim-jp と比べると死ぬほど生産性低いな。
0837名無しさん@お腹いっぱい。2015/03/21(土) 18:50:08.34
emacs 初心者は customize なんて知らないだろ
どこの解説サイト見ても customize 使った解説なんてしてない

中級者くらいになって customize の存在を知るけど、そのレベルなら customize は不要というね
0838名無しさん@お腹いっぱい。2015/03/21(土) 18:52:27.83
21世紀にもなってEmacsとかvimとか使ってるの原始人ですね
0839名無しさん@お腹いっぱい。2015/03/21(土) 19:18:39.12
すごくワナビっぽい発言だなそれ
とりあえずvimとemacsネガっておけば知ってる人っぽく見えると思ってるんだろな
0840名無しさん@お腹いっぱい。2015/03/21(土) 19:32:53.22
ここに書き込んでる奴ってEmacs使ってない奴ばっかりなのは分かったよ
0841名無しさん@お腹いっぱい。2015/03/21(土) 19:38:19.64
自分専用のモード作りまくってる俺からすると
ここ数日の流れはあまりにも低レベル過ぎて頭が痛い
0842名無しさん@お腹いっぱい。2015/03/21(土) 19:59:38.88
自分専用のモード()なんて自己申告はなんの自慢にもならないだろ
自慢するなら自作elispやGithubで語れ
0843名無しさん@お腹いっぱい。2015/03/21(土) 20:20:17.55
自慢もなにも自分用だから公開する必要もないし、技術力誇示する趣味もないのでね。
0844名無しさん@お腹いっぱい。2015/03/21(土) 20:42:38.66
自分の発言くらい責任持とうぜ

>>843
>技術力誇示する趣味もない

>>842
>自分専用のモード作りまくってる俺からすると
0845名無しさん@お腹いっぱい。2015/03/21(土) 20:48:18.09
揚げ足取るやつばっかだな
0846名無しさん@お腹いっぱい。2015/03/21(土) 20:49:06.87
俺もかなり自分用の作りまくったけど、どう考えても人生使いすぎてる
嫁に旅行せがまれても「ごめんしばらく忙しい」で逃げまくって
気がついたら1年半経ってたり
Emacs 使ってなければ全く違う健康的な人生を歩んでたと思う
0847名無しさん@お腹いっぱい。2015/03/21(土) 20:55:49.40
嫁はAtom使いと浮気してるよ
0848名無しさん@お腹いっぱい。2015/03/21(土) 21:08:56.73
>>844
モード書けない人からするとあんなんでも技術力誇示になるんですかね?
0849名無しさん@お腹いっぱい。2015/03/21(土) 21:13:59.10
>>848
は?
「俺からすると〜低レベルすぎて頭がいたい」の理由が「自分専用のモードを作りまくってる」なんでしょ?
自分でそういったんじゃない

だから俺はそんなんじゃ技術力誇示にならないから自作elispやGithubで語れと言ってるわけ
日本語おk?
Think different? by 2ch.net/bbspink.com
0850名無しさん@お腹いっぱい。2015/03/21(土) 21:17:21.06
コード書けないやつが発狂してるな
Think different? by 2ch.net/bbspink.com
0851名無しさん@お腹いっぱい。2015/03/21(土) 21:21:24.85
自作モード作るだけでいいなら1個あたり10秒以下で作れる
Think different? by 2ch.net/bbspink.com
0852名無しさん@お腹いっぱい。2015/03/21(土) 21:24:11.51
>>849-851
フッター?に何か付いてるけどなに?
Think different? by 2ch.net/bbspink.com
0853名無しさん@お腹いっぱい。2015/03/21(土) 21:25:07.68
今日も10時から init.el 読書会やってます!
お暇なら ROM でもいいので見に来てね!
http://lingr.com/room/emacs/
Think different? by 2ch.net/bbspink.com
0854名無しさん@お腹いっぱい。2015/03/21(土) 21:25:44.37
>>852
何か設定変わったみたいね。
なんだかなぁ。
Think different? by 2ch.net/bbspink.com
0855名無しさん@お腹いっぱい。2015/03/21(土) 21:26:34.81
>>853
こういうのって本当にROMでもいいの?
ROMうぜーとか思われない?
Think different? by 2ch.net/bbspink.com
0856名無しさん@お腹いっぱい。2015/03/21(土) 21:27:42.07
>>854
俺のレスにもついてた
全レスに付くのね
ひどいなぁ
Think different? by 2ch.net/bbspink.com
0857名無しさん@お腹いっぱい。2015/03/21(土) 21:29:06.65
>>855
全然問題ないです!
普段から見てるだけの人も沢山いるし。
Think different? by 2ch.net/bbspink.com
0858名無しさん@お腹いっぱい。2015/03/21(土) 21:56:19.55
>>857
ありがとうございます
ではお邪魔させてもらいます
Think different? by 2ch.net/bbspink.com
0859名無しさん@お腹いっぱい。2015/03/21(土) 22:34:08.56
広告邪魔すぎワロス
0860名無しさん@お腹いっぱい。2015/03/21(土) 23:05:13.38
find-diredでソートする方法ってありますか?
あと通常のdiredより空白が多いけど、フォーマット弄れますか?
0861名無しさん@お腹いっぱい。2015/03/21(土) 23:41:14.96
>>860
find-ls-option で ls の出力を弄るようにすれば一応ある程度のフォーマットをいじれるだろうけど根本的には難しそう。
ソートは find の出力全部出てから表示でいいなら find-ls-option の最後で "| sort -k 8" とかパイプかましてやればいい。

(setq find-ls-option '("-exec ls -lAFd --time-style=long-iso {} + | sort -k 8" . "-lAFd"))
とかすれば、ファイル名順になると思う。sort のオプションで並べ替えしたいフィールドを指定だね。
0862名無しさん@お腹いっぱい。2015/03/22(日) 00:30:56.38
>>861
おお、ありがとうございます。ちゃんと変数あるんですね
ちょろっと弄ってかなり便利に使えそうです
すごく助かりました!
0863名無しさん@お腹いっぱい。2015/03/24(火) 16:15:18.16
リージョンに対して複数回replace-stringをやりたいのですが、一度実行する度にリージョンが解除されてしまいます。
なにか良い方法はないでしょうか。
0864名無しさん@お腹いっぱい。2015/03/24(火) 16:43:26.95
>>863
C-x n n で narrowing してから replace しまくるとか。
C-x n w で解除ね。
0865名無しさん@お腹いっぱい。2015/03/24(火) 16:48:13.55
>>864
おおお
ありがとうございます。
0866名無しさん@お腹いっぱい。2015/03/24(火) 17:07:13.58
M-% や M-S-% の問い合わせに対して ! で全置換したあと
C-x C-x (exchange-point-and-mark) で戻ってまた M-%
って方法も
0867名無しさん@お腹いっぱい。2015/03/24(火) 17:08:18.96
M-S-% じゃなくて C-M-% だった
0868名無しさん@お腹いっぱい。2015/03/24(火) 17:16:10.14
あ、ごめん
>>866じゃ駄目だ
リージョンの終了位置が変化しちゃう
0869名無しさん@お腹いっぱい。2015/03/24(火) 20:30:52.04
C-M-% が押しづらくて C-M-5 にしたけどやっぱり押しづらい
唇の「れぐれっぷー」とかの動きで痴漢したい
0870名無しさん@お腹いっぱい。2015/03/24(火) 20:55:16.57
>>869
確かに電車の中でそんなつぶやきしてたら痴漢扱いされるかな?
0871名無しさん@お腹いっぱい。2015/03/24(火) 23:06:07.79
>>869
なぜ押しやすいキーに割り当てないのか…
0872名無しさん@お腹いっぱい。2015/03/24(火) 23:37:32.62
最も押しやすいキーはスペース
勃起したチンポ使おう
0873名無しさん@お腹いっぱい。2015/03/24(火) 23:48:13.85
>>872
Vimスレに帰れ
0874名無しさん@お腹いっぱい。2015/03/24(火) 23:52:37.84
スペースとコントロール入れ替えれば小指問題は無くなるかも
0875名無しさん@お腹いっぱい。2015/03/24(火) 23:54:24.69
スペースとコントロールの入れ替えは遥か昔からある
0876名無しさん@お腹いっぱい。2015/03/27(金) 14:31:30.04
フットペダル使ってる人いる?
0877名無しさん@お腹いっぱい。2015/03/27(金) 14:32:50.43
都市伝説だよ
にしてもその話題ちょくちょくでるね
0878名無しさん@お腹いっぱい。2015/03/27(金) 16:06:01.89
本当に使ってる人はいないのか
じゃあやめておこう
0879名無しさん@お腹いっぱい。2015/03/28(土) 02:33:20.46
鼻フックなら使ってるのだが…
0880名無しさん@お腹いっぱい。2015/03/29(日) 00:52:46.00
TABをインデントされてる時は別の機能を割り当てるpackageかやり方を教えてくれ
簡単に実装出来るならコードを教えてもらえるとありがたいが
0881名無しさん@お腹いっぱい。2015/03/29(日) 01:20:56.87
なんかどっかでみたな
インデント済みのときは別の機能呼び出すようなのは随分昔に見た記憶ある
0882名無しさん@お腹いっぱい。2015/03/29(日) 01:27:38.81
探してたらtabkey2.elが見つかった
しかしたったそれだけの事なのにやたらソースが長い…
10行程度で出来そうな気もするけど、少し解析してみるかな
0883名無しさん@お腹いっぱい。2015/03/29(日) 01:37:05.78
>>882
インデントする関数呼び出したあとに変化があったかどうかを検知できればいいんだよね?
buffer-chars-modified-tick って変数があるからインデントする関数の前後で比較して増えてなかったらすでにインデント済みって判断はどうだろ?
出来るかどうか調べずにとりあえずインデントした形に書き換える、って動作されてたらだめだけど。
0884名無しさん@お腹いっぱい。2015/03/29(日) 01:46:29.06
>>883
おお!TAB(indent-for-tab-command)内部でもそんな判定の仕方してるから
それで良さそうだ
ありがとう、それで試してみる
0885名無しさん@お腹いっぱい。2015/03/29(日) 01:59:09.18
おもしろいのできたらおしえてけろ
0886名無しさん@お腹いっぱい。2015/03/29(日) 02:52:26.04
こんなんできた
(defadvice indent-for-tab-command (around indent-or-expand activate)
(let ((old-tick (buffer-chars-modified-tick))
(old-point (point)))
ad-do-it
(when (and (eq old-point (point))
(eq old-tick (buffer-chars-modified-tick)))
(hippie-expand nil))))
ようするにhippie-expandをさくっと実行したかったんだ
0887名無しさん@お腹いっぱい。2015/03/29(日) 03:01:33.07
hippie-expandってスゲー便利なのに標準でキーに割り当てられてないから今まで知らんかった…
特にパスの補完が出来るのがいい
/home/hogTAB → /homg/hoge
って出来るようになった (vimには標準である機能だからね)
0888名無しさん@お腹いっぱい。2015/03/29(日) 06:03:46.36
なるほど、補完系にとばしたかったってことなのか。
ごちになりやす!
0889名無しさん@お腹いっぱい。2015/03/29(日) 08:28:34.85
indent-for-tab-command 自体にその機能あるんじゃね?
正攻法でいくならこっちのほうがいいと思う。
ただ completion-at-point-functions はバッファローカルに設定上書きされるから
いちいちモード毎の hook で有効にしてやらなきゃいけないのが面倒かもね。

;; インデント済みなら completion-at-point を呼ぶ
(setq tab-always-indent 'complete)

;; 非 interactive で引数なしでもエラーにならない hippie-expand
(defun hippie-expand-at-point ()
(hippie-expand 1))

;; completion-at-point で呼び出される関数群に hippie-expand 追加
;; バッファローカルに設定されることが多いので使いたいモードのフックに入れる
(add-hook 'completion-at-point-functions 'hippie-expand-at-point nil t)
0890名無しさん@お腹いっぱい。2015/03/29(日) 16:47:20.24
`tab-always-indent' にそんな設定があったなんて
ずっと C-M-i してたよ
0891名無しさん@お腹いっぱい。2015/03/29(日) 17:34:51.07
>>889
> (add-hook 'completion-at-point-functions 'hippie-expand-at-point nil t)
じゃなくて
(add-to-list 'completion-at-point-functions 'hippie-expand-at-point t)
だな
基本init.elに書いといていいと思う
ただ、cc-modeとかだと完全に自前のインデントファンクションを呼んでるから効かないね
>>886の方が汎用性は高いかな
0892名無しさん@お腹いっぱい。2015/03/29(日) 23:58:00.39
tab-always-indent は nil/t しか設定できないと思い込んでたわ。
標準でも色々抜け道用意されてるんだな。
0893名無しさん@お腹いっぱい。2015/03/30(月) 20:15:41.44
org-modeで$$で囲んで行内に数式を記述した時、最後の$の後が改行、スペース、ピリオド以外では数式として認識しない
ダメな例
$\frac{1}{3}$の純情な感情
いい例
$\frac{1}{3}$ の純情な感情

解決策は?
0894名無しさん@お腹いっぱい。2015/03/31(火) 14:59:44.66
<wheel-up> イベントを <mouse-4> イベントに読み替える方法ってありますでしょうか?
環境毎に異なるイベント名をオリジナルUnix版のに置き換えて設定をシンプルにしたいのです。
0895名無しさん@お腹いっぱい。2015/03/31(火) 16:14:37.98
>>894
key-translation-map かな

(define-key key-translation-map (kbd "<wheel-up>") (kbd "<mouse-4>"))
0896名無しさん@お腹いっぱい。2015/03/31(火) 17:18:16.44
>>895
ありがとうございます。うまくいきました!
ただ <S-wheel-up> みたいなモディファイヤ付きのもよろしくやってくれるかと思ったらそうではないんですね。
そこら辺は機械的にやるしかないかー。
0897名無しさん@お腹いっぱい。2015/04/01(水) 10:25:45.32
24.5ってもうすぐだよね?
0898名無しさん@お腹いっぱい。2015/04/01(水) 10:32:02.62
ぜんぜん変更点ないしバージョン上げる意味あんまり無い気もするが
0899名無しさん@お腹いっぱい。2015/04/01(水) 11:59:36.93
バグフィックスのみで変更点が無いならむしろバージョンアップすべきだろ
0900名無しさん@お腹いっぱい。2015/04/01(水) 21:09:42.63
emacsからソースコードを色つきで印刷したい
デフォルトだと白黒でしか印刷されない
検索するとpdfに変換してから印刷する方法は出てくるのだけど
一発でカラー印刷する方法はないの?
0901名無しさん@お腹いっぱい。2015/04/01(水) 21:48:14.29
ps-print-buffer-with-faces でカラーにならんかったっけ
0902名無しさん@お腹いっぱい。2015/04/01(水) 22:09:59.93
https://commondatastorage.googleapis.com/naclports/builds/pepper_41/trunk-253-g089940f/publish/emacs/glibc/emacs/emacs.html
これで chrome 上で native っぽい emacs が動いた
最初に about:flags で NaCL 有効にして再起動かけないとだめ
キーバインド干渉しまくりだったりホームが開けなかったりどうしょもないかんじだけど
0903名無しさん@お腹いっぱい。2015/04/01(水) 22:34:30.49
>>902
もしかして:chrome://flags
0904名無しさん@お腹いっぱい。2015/04/01(水) 23:15:19.02
>>903
どっちも同じ画面が出たけど違いがあるの?
0905名無しさん@お腹いっぱい。2015/04/01(水) 23:24:20.49
エイリアスだからどっちでもいい
0906名無しさん@お腹いっぱい。2015/04/02(木) 00:16:43.85
>>880
> TABをインデントされてる時は別の機能を割り当てるpackageかやり方を教えてくれ

sequential-commandはどうなんだろ?
0907名無しさん@お腹いっぱい。2015/04/02(木) 00:31:01.01
>>906
連続で動かした時に発動するのが sequential-command だから
ちょっと違うんでないかね
0908名無しさん@お腹いっぱい。2015/04/02(木) 13:40:36.82
TABって無意識のうちに連打してたりするから稀に補完が誤発動しちゃって、結局
(add-to-list 'completion-at-point-functions '(lambda () (hippie-expand nil)) t)
をinit.elに書いて、hippie-expandする時はC-M-iをするで落ち着いた
0909名無しさん@お腹いっぱい。2015/04/02(木) 15:57:38.24
「Lispを自動的にダウンロード、インストールする機構」いくつもあり過ぎだろ
こんなん複合的に使うの気持ち悪いしどれが公式なのか分からないし自分でインストールするに限るな
0910名無しさん@お腹いっぱい。2015/04/02(木) 16:40:55.16
package.el が公式だからそれだけ使ってればなんの問題も無いと思うが
せいぜいリポジトリに melpa を足すぐらい

cask とかは設定弄るのが好きな人が使えばいいと思う
0911名無しさん@お腹いっぱい。2015/04/02(木) 22:15:57.06
全部パッケージで済ませたいんだけど sdic がなぁ。
0912名無しさん@お腹いっぱい。2015/04/03(金) 17:50:01.46
公式標準のpackage.elで十分と思っていたけど、下みたいな理由あってel-getへ移行した。

- 巨大なelpaリポジトリも当然全てのパッケージを網羅しているわけではない。
どうせ、package.el+手動インストールという形態になるのなら、
el-get(cask)のような高機能マネージャ一本で運用した方がスマートだと思う。

- package.elはコードのみを引っ張ってくるので、開発ログ・ニュース・ドキュメントの閲覧ができない。

- mewのように、付属の外部プログラム(mewl,mewestなど)を使って動くパッケージは
package.elで管理されていない(ちゃんと動作しない)。これには柔軟性のあるレシピのような機構が必要。

- org、helmのように、開発が活発過ぎてアップデートの度に挙動を平気で変えてくれるような
パッケージには、バージョン固定機能が欲しい。

- 最近はポータビリティの高いinit.el記述、例えば git clone するだけで
ほとんどその環境を再現できるというような記述方法が流行っているらしい。
それの実現のためには、el-getやcaskのような高機能マネージャが必要。

- 開発・デバッグ作業のために、特定のパッケージがインストールされた状況での動作を確認したい。
ここらへんcaskが強いらしいけど、el-getでもできる。
0913名無しさん@お腹いっぱい。2015/04/03(金) 18:58:58.48
自分はせいぜい melpa に入ってるので満足してるから package.el で間に合ってるなぁ。
環境もそんなに頻繁に作りなおしたり移動したりしてるわけじゃないから
再現の手間も package-install 列挙して eval + 多少の手動で構わない感じ。
Windows 環境で cask 動くように整えたりしてるのは正直本末転倒だろうし。

あと package.el は別にドキュメントひっぱってこないわけじゃないよ。
info はちゃんと更新するし、レシピにいれれば一応どんなファイルも引っ張ってこれる。

まあみんな自分のやり方が気に入ってるから色んなパッケージ管理ツールが氾濫してるんだろなとは思う。
0914名無しさん@お腹いっぱい。2015/04/03(金) 19:33:23.03
バイナリファイルのコンパイルまで入れようとすると cask しかないの?
el-get も出来るんだっけ?
0915名無しさん@お腹いっぱい。2015/04/04(土) 00:42:14.78
ちょうどel-getの話しがでていて助かる
ノートブック買ったからemacs環境すぐ構築できるようにするために
el-get でinit.el 書いたらエラーが解決できない

Debugger enterd--Lisp error: (wrong-number-of-arguments <= 3)
<= (200 200 299)

これ何?
0916名無しさん@お腹いっぱい。2015/04/04(土) 00:58:51.91
>>915
どっかで関数の引数の数が間違ってる。
--debug-init をつけて起動すればどこで止まってるのかわかるよ。
09179152015/04/04(土) 01:37:09.12
http://s1.gazo.cc/up/127055.png
手に余るエラーだった

dired-subtreeはel-get のrecipiにないやつで
ちょっと前に
(setq my:el-get-packages
'(
subtree
helm
...
))
(el-get 'sync my:el-get-packages)
としたのがemacs終了させても変数かどこかに残って副作用起こしたのだろうか?
レス数が900を超えています。1000を超えると表示できなくなるよ。