Emacs Part 47 [転載禁止]©5ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。
2014/12/20(土) 16:17:19.14GNU 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/
0862名無しさん@お腹いっぱい。
2015/03/22(日) 00:30:56.38おお、ありがとうございます。ちゃんと変数あるんですね
ちょろっと弄ってかなり便利に使えそうです
すごく助かりました!
0863名無しさん@お腹いっぱい。
2015/03/24(火) 16:15:18.16なにか良い方法はないでしょうか。
0864名無しさん@お腹いっぱい。
2015/03/24(火) 16:43:26.95C-x n n で narrowing してから replace しまくるとか。
C-x n w で解除ね。
0865名無しさん@お腹いっぱい。
2015/03/24(火) 16:48:13.55おおお
ありがとうございます。
0866名無しさん@お腹いっぱい。
2015/03/24(火) 17:07:13.58C-x C-x (exchange-point-and-mark) で戻ってまた M-%
って方法も
0867名無しさん@お腹いっぱい。
2015/03/24(火) 17:08:18.960868名無しさん@お腹いっぱい。
2015/03/24(火) 17:16:10.14>>866じゃ駄目だ
リージョンの終了位置が変化しちゃう
0869名無しさん@お腹いっぱい。
2015/03/24(火) 20:30:52.04唇の「れぐれっぷー」とかの動きで痴漢したい
0870名無しさん@お腹いっぱい。
2015/03/24(火) 20:55:16.57確かに電車の中でそんなつぶやきしてたら痴漢扱いされるかな?
0871名無しさん@お腹いっぱい。
2015/03/24(火) 23:06:07.79なぜ押しやすいキーに割り当てないのか…
0872名無しさん@お腹いっぱい。
2015/03/24(火) 23:37:32.62勃起したチンポ使おう
0873名無しさん@お腹いっぱい。
2015/03/24(火) 23:48:13.85Vimスレに帰れ
0874名無しさん@お腹いっぱい。
2015/03/24(火) 23:52:37.840875名無しさん@お腹いっぱい。
2015/03/24(火) 23:54:24.690876名無しさん@お腹いっぱい。
2015/03/27(金) 14:31:30.040877名無しさん@お腹いっぱい。
2015/03/27(金) 14:32:50.43にしてもその話題ちょくちょくでるね
0878名無しさん@お腹いっぱい。
2015/03/27(金) 16:06:01.89じゃあやめておこう
0879名無しさん@お腹いっぱい。
2015/03/28(土) 02:33:20.460880名無しさん@お腹いっぱい。
2015/03/29(日) 00:52:46.00簡単に実装出来るならコードを教えてもらえるとありがたいが
0881名無しさん@お腹いっぱい。
2015/03/29(日) 01:20:56.87インデント済みのときは別の機能呼び出すようなのは随分昔に見た記憶ある
0882名無しさん@お腹いっぱい。
2015/03/29(日) 01:27:38.81しかしたったそれだけの事なのにやたらソースが長い…
10行程度で出来そうな気もするけど、少し解析してみるかな
0883名無しさん@お腹いっぱい。
2015/03/29(日) 01:37:05.78インデントする関数呼び出したあとに変化があったかどうかを検知できればいいんだよね?
buffer-chars-modified-tick って変数があるからインデントする関数の前後で比較して増えてなかったらすでにインデント済みって判断はどうだろ?
出来るかどうか調べずにとりあえずインデントした形に書き換える、って動作されてたらだめだけど。
0884名無しさん@お腹いっぱい。
2015/03/29(日) 01:46:29.06おお!TAB(indent-for-tab-command)内部でもそんな判定の仕方してるから
それで良さそうだ
ありがとう、それで試してみる
0885名無しさん@お腹いっぱい。
2015/03/29(日) 01:59:09.180886名無しさん@お腹いっぱい。
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特にパスの補完が出来るのがいい
/home/hogTAB → /homg/hoge
って出来るようになった (vimには標準である機能だからね)
0888名無しさん@お腹いっぱい。
2015/03/29(日) 06:03:46.36ごちになりやす!
0889名無しさん@お腹いっぱい。
2015/03/29(日) 08:28:34.85正攻法でいくならこっちのほうがいいと思う。
ただ 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ずっと C-M-i してたよ
0891名無しさん@お腹いっぱい。
2015/03/29(日) 17:34:51.07> (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標準でも色々抜け道用意されてるんだな。
0893名無しさん@お腹いっぱい。
2015/03/30(月) 20:15:41.44ダメな例
$\frac{1}{3}$の純情な感情
いい例
$\frac{1}{3}$ の純情な感情
解決策は?
0894名無しさん@お腹いっぱい。
2015/03/31(火) 14:59:44.66環境毎に異なるイベント名をオリジナルUnix版のに置き換えて設定をシンプルにしたいのです。
0895名無しさん@お腹いっぱい。
2015/03/31(火) 16:14:37.98key-translation-map かな
(define-key key-translation-map (kbd "<wheel-up>") (kbd "<mouse-4>"))
0896名無しさん@お腹いっぱい。
2015/03/31(火) 17:18:16.44ありがとうございます。うまくいきました!
ただ <S-wheel-up> みたいなモディファイヤ付きのもよろしくやってくれるかと思ったらそうではないんですね。
そこら辺は機械的にやるしかないかー。
0897名無しさん@お腹いっぱい。
2015/04/01(水) 10:25:45.320898名無しさん@お腹いっぱい。
2015/04/01(水) 10:32:02.620899名無しさん@お腹いっぱい。
2015/04/01(水) 11:59:36.930900名無しさん@お腹いっぱい。
2015/04/01(水) 21:09:42.63デフォルトだと白黒でしか印刷されない
検索するとpdfに変換してから印刷する方法は出てくるのだけど
一発でカラー印刷する方法はないの?
0901名無しさん@お腹いっぱい。
2015/04/01(水) 21:48:14.290902名無しさん@お腹いっぱい。
2015/04/01(水) 22:09:59.93これで chrome 上で native っぽい emacs が動いた
最初に about:flags で NaCL 有効にして再起動かけないとだめ
キーバインド干渉しまくりだったりホームが開けなかったりどうしょもないかんじだけど
0903名無しさん@お腹いっぱい。
2015/04/01(水) 22:34:30.49もしかして:chrome://flags
0904名無しさん@お腹いっぱい。
2015/04/01(水) 23:15:19.02どっちも同じ画面が出たけど違いがあるの?
0905名無しさん@お腹いっぱい。
2015/04/01(水) 23:24:20.490906名無しさん@お腹いっぱい。
2015/04/02(木) 00:16:43.85> TABをインデントされてる時は別の機能を割り当てるpackageかやり方を教えてくれ
sequential-commandはどうなんだろ?
0907名無しさん@お腹いっぱい。
2015/04/02(木) 00:31:01.01連続で動かした時に発動するのが sequential-command だから
ちょっと違うんでないかね
0908名無しさん@お腹いっぱい。
2015/04/02(木) 13:40:36.82(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こんなん複合的に使うの気持ち悪いしどれが公式なのか分からないし自分でインストールするに限るな
0910名無しさん@お腹いっぱい。
2015/04/02(木) 16:40:55.16せいぜいリポジトリに melpa を足すぐらい
cask とかは設定弄るのが好きな人が使えばいいと思う
0911名無しさん@お腹いっぱい。
2015/04/02(木) 22:15:57.060912名無しさん@お腹いっぱい。
2015/04/03(金) 17:50:01.46- 巨大な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環境もそんなに頻繁に作りなおしたり移動したりしてるわけじゃないから
再現の手間も package-install 列挙して eval + 多少の手動で構わない感じ。
Windows 環境で cask 動くように整えたりしてるのは正直本末転倒だろうし。
あと package.el は別にドキュメントひっぱってこないわけじゃないよ。
info はちゃんと更新するし、レシピにいれれば一応どんなファイルも引っ張ってこれる。
まあみんな自分のやり方が気に入ってるから色んなパッケージ管理ツールが氾濫してるんだろなとは思う。
0914名無しさん@お腹いっぱい。
2015/04/03(金) 19:33:23.03el-get も出来るんだっけ?
0915名無しさん@お腹いっぱい。
2015/04/04(土) 00:42:14.78ノートブック買ったから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どっかで関数の引数の数が間違ってる。
--debug-init をつけて起動すればどこで止まってるのかわかるよ。
0917915
2015/04/04(土) 01:37:09.12手に余るエラーだった
dired-subtreeはel-get のrecipiにないやつで
ちょっと前に
(setq my:el-get-packages
'(
subtree
helm
...
))
(el-get 'sync my:el-get-packages)
としたのがemacs終了させても変数かどこかに残って副作用起こしたのだろうか?
0918912
2015/04/04(土) 01:55:44.48> あと package.el は別にドキュメントひっぱってこないわけじゃないよ。
> info はちゃんと更新するし、レシピにいれれば一応どんなファイルも引っ張ってこれる。
これってそうなんですか?勉強不足で申し訳ありません。 package.elでも、レシピを自分で書き換えて、
READMEだとかドキュメントを引っ張ってこれるようにする手段があるのでしょうか?
けど少なくとも標準レシピの話でなら、ほとんどはelファイルとinfoファイルしかダウンロード
してくれないのは確かですよね。infoなんかはありますが私はHTML形式で読むのが
好きですから(HTMLだとhyperestraierと併用しやすい)texiファイルは欲しいですし、
比較的小規模なパッケージはinfoファイルでなくREADMEに情報が集約されているのにそれが見れない。
>>914
el-getでも出来ますよ。mewなんかもインストールしてそのまま使える。
パッケージマネージャはroot(sudo)権限で動作するわけではないから、
勿論 /usr/bin へのバイナリコピーまではするわけでないけど、
例えばmewの場合は、レシピに
(setq mew-prog-mewl (concat default-directory "bin/mewl"))
などという記述があるおかげで、特にユーザが新しくPATHを通す必要もなく動作する。
0919912
2015/04/04(土) 02:10:48.79私もつい最近el-get導入したのですが、
(el-get 'sync) が意味のわかりにくいエラーメッセージ吐きますよね。
結局意味がわからなかったので
https://github.com/dimitri/el-get#advanced-usage-with-local-recipes
の通り、 (el-get 'sync) は使わずに el-get-bundle を使って設定しています。
根本的解決になる解答でなくてすいません。
0920名無しさん@お腹いっぱい。
2015/04/04(土) 07:20:53.38.emacs.d 以下のファイルに対して全検索してみたら?
変なキャッシュとか作ってそう
0921名無しさん@お腹いっぱい。
2015/04/04(土) 07:33:20.720922名無しさん@お腹いっぱい。
2015/04/04(土) 09:07:42.780923名無しさん@お腹いっぱい。
2015/04/04(土) 15:35:51.320924名無しさん@お腹いっぱい。
2015/04/04(土) 15:38:40.96http://s1.gazo.cc/up/127130.png
0925名無しさん@お腹いっぱい。
2015/04/04(土) 16:58:36.45--debug-init の時の出力は?
あと M-x version
0926名無しさん@お腹いっぱい。
2015/04/04(土) 17:27:12.68http://s1.gazo.cc/up/127146.png
version 24.3
--debug-init は (argument <= 3)
<= (200 200 299)
最後の<= (200 200 299) は何を言っているのだろう
el-getで最もよく出るエラー内容だった
0927名無しさん@お腹いっぱい。
2015/04/04(土) 17:52:42.76あーこれ 24.3 非対応だわ。
<= ってのは記号っぽいけど比較関数で、24.3 までは2つの値比較までだったんだけど、24.4 からは複数の値比較できるようになったのよ。
で、24.3 で3つ引数つけて <= 関数呼び出してるから
引数の数が3こあっておかしいよってエラーが出る。
0928名無しさん@お腹いっぱい。
2015/04/04(土) 18:19:18.21なるほど
では今回は無難に手動でelisp入れていって
el-getはしばらくしたあとにする
ありがとう
0929名無しさん@お腹いっぱい。
2015/04/04(土) 19:07:57.150930名無しさん@お腹いっぱい。
2015/04/04(土) 20:11:54.396日前に混入したコードだったわ。
README.md には 23.4 以上対応って書いてあるからバグ扱いにしてもいいんじゃないかなこれは。
issue 書いたら対応してくれるんじゃない?
0931名無しさん@お腹いっぱい。
2015/04/04(土) 22:39:39.51純粋にレシピ半自動生成のための構文 (el-get-bundle nantoka :key1 param1 :key2 param2)
これは上手く動作してくれてかなり気に入っているのですが。
(el-get-bundle nantoka
:key1 param1 :key2 param2
(settings...))
という設定構文、これは何故か(setting...)をロードしなくなる問題に引っかかりません?
設定ガイドの方にサンプルとして書かれている構文ということで導入時の設定で何となく真似して記述してみたのですが、出鼻をくじかれました。
もっともこの構文の仕様動作の方、パッケージ別にバイトコンパイルファイルを出力というもの
らしいのですが、ロード時間が長くなりそうだしメリットを見出せずに今は使っていないのですが。
(el-get-bundle nantoka :key1 param1 :key2 param2)
(settings...)
で十分だと思う。
0932名無しさん@お腹いっぱい。
2015/04/05(日) 00:40:35.890933名無しさん@お腹いっぱい。
2015/04/05(日) 14:05:51.23まだelisp全然読めないから又の機会にします
---
古いノートブックから新しいノートブックに
両方共にversion 24.3 で大体移植できましたが
なぜかuim-mozcがemacsで動きません
変換テーブルをdvorak-JP仕様にしているのでuim-mozcで
日本語入力をしたいのですがどうすればよいでしょう?
0934名無しさん@お腹いっぱい。
2015/04/05(日) 14:15:13.53sudo aptitude install uim-el
でパッケージシステムが面倒見てくれました
0935名無しさん@お腹いっぱい。
2015/04/05(日) 15:29:04.85なかなか 24.4 にあがらないね
0936名無しさん@お腹いっぱい。
2015/04/05(日) 19:42:45.75複数のリストの全組み合わせを1つのループマクロで得ることは可能でしょうか?
それとも単純に二重ループとかにするしかないんでしょうか?
;; a と b の全組み合わせ取得
;; 二重ループ版
(setq a '(1 2 3 4 5))
(setq b '(a b c d e))
(cl-loop for x in a
append (cl-loop for y in b
collect (cons x y)))
0937名無しさん@お腹いっぱい。
2015/04/07(火) 11:20:48.26「メルマガ」とかの日本語ラベルをつけていると購読対象にならない上
^ を押して browse server 画面に入った時に U を押して購読/購読解除をしようとしても
以下のエラーがでてしまう
Debugger entered--Lisp error: (wrong-type-argument consp nil)
gnus-group-change-level("\343\203\241\343\203\253\343\203\236\343\202\254" 7 3)
gnus-browse-unsubscribe-group()
gnus-browse-unsubscribe-current-group(1)
call-interactively(gnus-browse-unsubscribe-current-group nil nil)
command-execute(gnus-browse-unsubscribe-current-group)
文字コード絡みなんだろうけどどうしたらいいんだろう
0938名無しさん@お腹いっぱい。
2015/04/07(火) 12:46:46.97http://homepage1.nifty.com/blankspace/emacs/tips.html
ここに複数のリストに対応してる直積のコードがあるよ
0939名無しさん@お腹いっぱい。
2015/04/08(水) 08:15:23.77単純にfor節増得る。
(cl-loop
for x in '(1 2 3 4 5)
for y in '(a b c)
collect (cons x y))
;;=> ((1 . a) (2 . b) (3 . c))
>>773
`info-lookup-symbol'がある。
0940名無しさん@お腹いっぱい。
2015/04/08(水) 09:43:04.07それ全組み合わせじゃなくね?
loop は並走しか出来ないんだよね
0941名無しさん@お腹いっぱい。
2015/04/08(水) 12:25:32.01の0,1の組み合わせって普通に0から1ずつ増やした数を2進数に変換すればいいだけなのを
わざわざ直積のコードを使って作成するのは良い意味でLisp脳だなw
コードはスゲー参考になった
0942939
2015/04/08(水) 12:50:36.060943名無しさん@お腹いっぱい。
2015/04/08(水) 13:22:07.27summary バッファだけの状態に戻すコマンドってあるんでしょうか?
info 読んでもそれっぽいのが見つからない
0944名無しさん@お腹いっぱい。
2015/04/08(水) 13:58:47.94手元にgnusの環境が無いから記憶で書いてるけど=(イコール)の事か?
0945名無しさん@お腹いっぱい。
2015/04/08(水) 14:19:32.85article バッファを消すんでなく summary バッファを広げる発想だったんですね。
これで快適に使えそうです。ありがとうございます!
wl のときも思ったけど mua 関係は設定することや操作内容が多くてどつぼにはまりそう
0946名無しさん@お腹いっぱい。
2015/04/09(木) 20:26:29.41cl-letf だとバイトコンパイル済みの関数に対して置き換えがされません。
何か他に良い方法はないでしょうか?
ちなみに message とかは同じ組み込み関数でもバイトコンパイル後もシンボル名が残ってるせいか置き換えがうまくいくようです。
;; 未コンパイル関数
(defun target1 ()
(insert "target1\n"))
;; コンパイル済み関数
(fset 'target2
(byte-compile (lambda ()
(insert "target2\n"))))
(defun test ()
(let ((insert-base (symbol-function 'insert)))
(cl-letf (((symbol-function 'insert)
(lambda (&rest args)
(apply insert-base "overwritten - " args))))
(target1)
(target2))))
;; target1 だけ書き換わる
(test)
;; overwritten - target1
;; target 2
0947名無しさん@お腹いっぱい。
2015/04/11(土) 12:29:19.750948名無しさん@お腹いっぱい。
2015/04/11(土) 16:09:50.03http://www.rupan.net/uploader/download/1428736124.PNG
0949名無しさん@お腹いっぱい。
2015/04/11(土) 18:47:20.48キーボードないとやる気がしない
0950名無しさん@お腹いっぱい。
2015/04/11(土) 20:01:09.430951名無しさん@お腹いっぱい。
2015/04/12(日) 14:28:50.610952名無しさん@お腹いっぱい。
2015/04/12(日) 14:47:54.78その方が長押しより軽快に入力出来そう
長押しだと待たないといけないもんなあ
解除はどうするんだろ
でもキーボードから入力するときも C-x C-f の方が C-x f より入力しやすいよね。
0953名無しさん@お腹いっぱい。
2015/04/12(日) 14:57:24.33スクリーンキーボードならそれに特化したエディタを使うのがいいと思うんだが
0954名無しさん@お腹いっぱい。
2015/04/12(日) 15:11:32.78端末上で動く lisp インタプリタが欲しいだけならストアに結構転がってるんだな。
0955名無しさん@お腹いっぱい。
2015/04/12(日) 18:53:20.13変なウィンドウが残ってると C-g で即閉じする癖がついちゃったから閉じるんだけど
閉じちゃうと変な状態になったミニバッファにカーソルが取り残される
issue 出てるけど解決してないし回避方法は completion-list-mode を popwin から外せだし辛い
shakle も良さそうなんだけどあれってバッファ閉じる部分は面倒みてくれないよねたしか・・・
0956名無しさん@お腹いっぱい。
2015/04/13(月) 21:15:12.050957名無しさん@お腹いっぱい。
2015/04/13(月) 23:05:34.530958名無しさん@お腹いっぱい。
2015/04/13(月) 23:40:53.380959名無しさん@お腹いっぱい。
2015/04/14(火) 00:36:58.87http://www.reddit.com/r/emacs/comments/32ekmg/dear_emacs_users_of_reddit_how_do_you_use_emacs/
0960名無しさん@お腹いっぱい。
2015/04/14(火) 03:59:00.460961名無しさん@お腹いっぱい。
2015/04/14(火) 15:07:05.47ここらへんやっぱりプログラマ向けだからなのかなぁ。
レス数が950を超えています。1000を超えると書き込みができなくなります。