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

Emacs Part 42

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2012/12/24(月) 12:26:20.01
前スレ

Emacs Part 41
http://toro.2ch.net/test/read.cgi/unix/1347009022/
0126名無しさん@お腹いっぱい。2013/01/15(火) 13:39:18.07
>>125
ほんまや,非インタラクティブの引数 nil ならオンになったのか.
view-emacs-news にも書いてあるな.

* Incompatible Lisp Changes in Emacs 24.1

** Passing a nil argument to a minor mode function call now ENABLES
the minor mode unconditionally. This is so that you can write e.g.

(add-hook 'text-mode-hook 'foo-mode)

to enable foo-mode in Text mode buffers, removing the need for
`turn-on-foo-mode' style functions. This affects all mode commands
defined by `define-minor-mode'. If called interactively, the mode
command still toggles the minor mode.

たしかにフック使うときに便利か.
0127名無しさん@お腹いっぱい。2013/01/15(火) 18:52:41.55
nilはおまかせ、
じゃなくてトグルなんですね。
つまりデフォルトのオンオフ状況が変わったってことか、
と思ったら、それも違うんですね。

自分がなにも調べずに使ってるんだということがよくわかりました、、、
0128名無しさん@お腹いっぱい。2013/01/15(火) 21:05:09.60
最近emacsに不満を感じてきた
新しい言語を始めたら一々その言語のelispを入れないといけないしそれを有効にするために一々dot.emacsを修正しないといけない
こんなことこの先ずっとやらないといけないと思うとemacsを捨てたいけどもう指に染み付いちゃってなかなか離れられないし
emacsは病原体だわ
0129名無しさん@お腹いっぱい。2013/01/15(火) 21:39:32.38
その気になれば他のエディタのキーバインド覚えるのなんてそんな大変でもないけどな
0130名無しさん@お腹いっぱい。2013/01/15(火) 22:18:56.24
>>128 そういうのを「道具に使われてる」という
0131名無しさん@お腹いっぱい。2013/01/15(火) 22:47:31.41
プロなら道具の手入れは必須でしょう
0132名無しさん@お腹いっぱい。2013/01/15(火) 22:58:02.03
別にemacsにしろvimにしろカスタマイズしなきゃいけない訳じゃないしな
結局、使い慣れたエディタを使い回すと同時に何かしら機能が必要があればlisp書く一手間が惜しいなら
用途毎にIDEなりなんなりに乗り換えるしかない
0133名無しさん@お腹いっぱい。2013/01/15(火) 23:39:27.71
自分も Emacs が染み付いて離れられない.けど便利な IDE の機能とか
知らずに取り残されている危惧がある.なので導入障壁の低い IDE は
すごくいいと思う.

とりあえず Sublime text2 に Emacs キーバインドを設定する(カーソル移動とか
コピペが出来ればいい)プラグインはないのか? カーソル移動はもう Emacs キーバインド
じゃないと生きてけない.
0134名無しさん@お腹いっぱい。2013/01/16(水) 00:12:27.98
中二にいちいち反応すんなって
0135名無しさん@お腹いっぱい。2013/01/16(水) 06:56:56.70
俺は世界を救えるエディタを探し求めてEmacsに行き着いた。
0136名無しさん@お腹いっぱい。2013/01/16(水) 08:19:32.04
最初はNEmacsだった
学校のローカルガイドではよくわからなかった
共立出版のGNU Emacs マニュアルを読んで蒙が啓けた
0137名無しさん@お腹いっぱい。2013/01/16(水) 08:50:09.95
あの聖典か
0138名無しさん@お腹いっぱい。2013/01/16(水) 14:28:19.99
なんとあの時代にGPLで出た出版物
(今でも売ってる)
0139名無しさん@お腹いっぱい。2013/01/16(水) 14:32:21.56
C-x 3で画面分割した時に
画面の大きさ調節でマウスでバーをひっぱるのだけど
どこをマウスで握ればいいのかポイント探しが大変
マウスで握れる範囲をもっと大きくしてくれないものか
0140名無しさん@お腹いっぱい。2013/01/16(水) 14:41:10.16
マウス
マウスって何だ
0141名無しさん@お腹いっぱい。2013/01/16(水) 14:56:49.04
>>139
C-x {, C-x } を使え,軟弱者が! ってことなんでは.
smartrep.el 使うといいよ.
0142名無しさん@お腹いっぱい。2013/01/16(水) 15:39:53.46
>>138
http://www.amazon.co.jp/dp/4320024141
まじで在庫有りかよwふざけんなw
0143名無しさん@お腹いっぱい。2013/01/16(水) 21:36:50.93
マイスとでも書けば満足か
0144名無しさん@お腹いっぱい。2013/01/16(水) 21:40:15.18
>>133
あるけどやっぱり細かいところが異なったり、衝突したりする

そしてemacsのショートカットを優先ばかりしてると、emacs使えばいいんじゃないか?と思えてくる

IDEの一番便利な点はリファクタリングするときかなーと思う
0145名無しさん@お腹いっぱい。2013/01/17(木) 09:53:08.49
日本語入力メソッドにmozc.elを使っています.

modeによって句読点を「,.」と「、。」とで使い分けたいのですが,
どのようにしたら良いのでしょうか?

skk使ってたときは下記の設定を利用していました.
http://pastebin.com/QZiD8Cb1
0146名無しさん@お腹いっぱい。2013/01/18(金) 10:22:31.20
geditをemacキーバインドに設定すると
まあまあ使える
0147名無しさん@お腹いっぱい。2013/01/18(金) 13:59:42.81
xkeymacs + notepad 程度でも以外とストレスなく使えちゃう
0148名無しさん@お腹いっぱい。2013/01/18(金) 18:17:36.95
じゃあmicro emacsでもいいな
0149名無しさん@お腹いっぱい。2013/01/18(金) 23:56:32.78
じゃあGNU Emacsでもいいな
0150名無しさん@お腹いっぱい。2013/01/18(金) 23:59:57.48
Lispわからんおいらには、
にてまっくすで十分だよ。
0151名無しさん@お腹いっぱい。2013/01/19(土) 00:02:52.00
何うまいこと言うてまっくす
0152名無しさん@お腹いっぱい。2013/01/19(土) 00:53:47.90
そんなことよりjs2-modeがemacs23で動かないんだが
ちょっと古いバージョンなら動くと思うんだけど一つしかないらしくて困る
0153名無しさん@お腹いっぱい。2013/01/19(土) 06:37:54.46
emacs lisp勉強始めた 簡単なものでただ動くものを書くだけなら、基本文法を学べば手続き型からでもそんなに苦ではないね

関数型らしく書くのには慣れが必要そう
0154名無しさん@お腹いっぱい。2013/01/19(土) 06:50:23.55
>>152
githubにあるんだからバージョンなんていくらでもさかのぼれるだろ
0155名無しさん@お腹いっぱい。2013/01/19(土) 07:00:49.27
関数型らしいというのが再帰を使うようなやつのことだとしたらそれはelispでは必要ないっていうかまともに使えたもんじゃない
0156名無しさん@お腹いっぱい。2013/01/19(土) 07:05:27.06
漏れ漏れだからねー
0157名無しさん@お腹いっぱい。2013/01/19(土) 08:46:35.68
関数型らしくかこうとしすぎると山本さんみたいに elisp が嫌いになっちゃうかもしれない
0158名無しさん@お腹いっぱい。2013/01/19(土) 13:04:57.99
まだpythonとかの方が関数型に近いよな
0159名無しさん@お腹いっぱい。2013/01/19(土) 14:26:57.89
Haskell 版 Emacs とか楽しいかもしれんな。
俺 xmonad 愛用者だからそっちの方がカスタイマイズ言語統一できていいかも。
0160名無しさん@お腹いっぱい。2013/01/19(土) 15:05:50.74
Eskell か。
0161名無しさん@お腹いっぱい。2013/01/19(土) 15:25:07.30
Windows・Mac・Linuxともに安定しているし、もうEmacs 24前提でもいいと思うよ…

懐かしい千葉氏のNitemacs。20年くらい前には結構愛用してた。でも初のフル
スクリーンエディタ体験はその数年前のCP/MでZDEだったかな。
MicroCornucopiaというコンピュータ雑誌も、エディタ特集していたのが縁で全
然英語読めないのに買ってた記憶が。
0162名無しさん@お腹いっぱい。2013/01/19(土) 15:33:52.06
emacsクローンではないけど
http://www.haskell.org/haskellwiki/Yi
0163名無しさん@お腹いっぱい。2013/01/19(土) 16:33:33.53
SKKはnewlineにdefadviceしてるけど、とあるモードでEnterがnewlineでない
場合にちゃんと確定されなくて困ってる。(とあるモードとはhttps://github.com/mooz/js2-mode)

SKKのソースを見ると、skk.elで(defadvice newline (around skk-ad activate)
としてる箇所があったけど、これをそのまま別の関数(js2-enter-key)に適用
するには丸々コピるしかないのか?

ようするに、defadviceの内容を再利用したいって事だけど。
0164名無しさん@お腹いっぱい。2013/01/19(土) 16:49:26.26
アドバイスだけに,アドバイスを求めてるのかね?
0165名無しさん@お腹いっぱい。2013/01/19(土) 17:03:36.53
>>163
これが正しいやり方かどうかはわからんけど、
ad-get-advice-info で関数に定義されてる advice の内容を丸っと取得できる。
その内容を ad-set-advice-info で別関数に丸っとコピーでいいのかなと思ったけどそれは無理だった。

最終手段は取得した advice 内容を一々リスト辿って defadvice で定義しなおしでいいんだろうけど
なんかもっと良い方法ありそうだよね。
0166名無しさん@お腹いっぱい。2013/01/19(土) 17:15:37.67
って ad-activate したら copy した advice もちゃんと動いたや。

(ad-set-advice-info 'コピー先関数 (ad-get-advice-info 'コピー元関数))
(ad-activate 'コピー先関数)

これで大丈夫だった。
コピー元とリスト共有してるから ad-get-advice-info より ad-copy-advice-info で取った方がいいかもしれない。
01671632013/01/19(土) 17:16:35.45
>>165
むぅ…とりあえずありがとう。今はコピペして凌げてるけどなんか気持ち悪い。
defadviceの説明を見ても再利用方法は全然分からん…
01681632013/01/19(土) 17:24:32.47
>>166
お!入れ違い失礼
(ad-set-advice-info 'js2-enter-key (ad-get-advice-info 'newline))
(ad-activate 'js2-enter-key)
今回の場合は、↑でうまくいった!
しかし勉強になった。ありがとぅ!
01691632013/01/19(土) 17:36:32.06
>>166
いや駄目だった…
SKKに限った事かもしれないけど、例えばhoge.elでSKKを使って日本語を入れた後、
hoge.js(js2-mode)で日本語を入れると、その後のnewlineでエラーが出るようになる。
ソースを丸々コピペした方では、そうはならない。
ad-copy-advice-infoを使っても同じだった。うーんなんとかなるかな…
0170名無しさん@お腹いっぱい。2013/01/19(土) 22:22:35.78
それって skk.el をロード前に実行した場合じゃない?
eval-after-load で skk.el ロード後に入れてみたらどうでしょ。

他にもコピーした advice の中でオリジナルの newline とか呼んでたりするような感じもしてて
ほんとにこれでいいのか怪しい部分が多々あるけどね・・・
0171名無しさん@お腹いっぱい。2013/01/19(土) 22:46:41.62
around で defadvice したときに ad-do-it を ad-Orig-xxxx に置き換えしてる処理してるから
そのまんまコピーではうまくいかないはず。
js2-mode を導入してないからうまくいくかはわからんけどこれでどうかね。
なんかもっとちゃんとした方法がありそうだ

(eval-after-load "skk"
'(progn
(ad-set-advice-info 'js2-enter-key
(ad-substitute-tree (lambda (f) (eq f (ad-make-origname 'newline)))
(lambda (f) (ad-make-origname 'js2-enter-key))
(ad-copy-advice-info 'newline)
(ad-safe-fset (ad-make-origname 'js2-enter-key) 'js2-enter-key)
(ad-activate 'js2-enter-key)))
01721632013/01/19(土) 23:02:24.66
>>171
ad-activate: ad-activate: `js2-enter-key' is not advised
SKKを起動しようとすると、このエラーが出て起動できなかった。
0173名無しさん@お腹いっぱい。2013/01/19(土) 23:38:57.37
(require 'js2-mode ) してないからとちゃうん
0174名無しさん@お腹いっぱい。2013/01/20(日) 00:08:44.42
skk側でキー定義すればいいのでは?

(let ((cmd 'newline))
(mapc (lambda (key)
(mapc (lambda (map)
(define-key map key cmd))
(list skk-j-mode-map
skk-jisx0208-latin-mode-map
skk-abbrev-mode-map)))
(where-is-internal cmd global-map)))
0175名無しさん@お腹いっぱい。2013/01/20(日) 01:22:29.27
iphoneで脱獄すればemacs使える事を知ったけど
キーボードつないで使えってことなんだろうか
0176名無しさん@お腹いっぱい。2013/01/20(日) 01:32:52.34
それはよくないmacsじゃね?
0177名無しさん@お腹いっぱい。2013/01/20(日) 03:53:22.91
お前らが、Sublime Text 2 に移行しない理由ってなんなん?
やっぱ過去のしがらみ? Emacsユーザとしてのプライド?
今から新しいことを覚えることが億劫な怠惰な性格?
0178名無しさん@お腹いっぱい。2013/01/20(日) 04:14:38.46
強いていうなれば、おっさんとしての矜持、といったところかな。

……ちょっとくさかったか。スマン。
0179名無しさん@お腹いっぱい。2013/01/20(日) 08:49:33.17
>2012-12-27 Eli Zaretskii <eliz@gnu.org>
>(Fexpand_file_name): Don't mix unibyte with multibyte strings, and

こいつの変更で expand-file-name のダメ文字まで使えなくなった。
0180名無しさん@お腹いっぱい。2013/01/20(日) 09:03:42.61
>>177
劣化emacsにいちいち手を出して時間を無駄にしない合理的な判断
0181名無しさん@お腹いっぱい。2013/01/20(日) 10:12:06.56
zencoding-mode.el って0.51までしか対応してないんだね
最新が0.71で0.51だと機能が弱すぎて使い物にならない
困った
0182名無しさん@お腹いっぱい。2013/01/20(日) 13:41:49.15
>>179
> こいつの変更で expand-file-name のダメ文字まで使えなくなった。

これ、どういうこと?
multibyte 文字は受け付けてるみたいけど。
0183名無しさん@お腹いっぱい。2013/01/20(日) 13:49:44.29
>>177が言ったこと全部
0184名無しさん@お腹いっぱい。2013/01/20(日) 15:42:53.38
trampを利用してリモートのファイルを編集しているときに、ファイルの操作やリモートのプログラムを実行したい時があります。
その時にeshellからsshをして使おうと思うのですが、
hostnameuf [32m[~][00m [36muser% [00m
のように、zshのプロンプトが邪魔しているのか文字化けのようになってしまいます。

これはどのように解決すればいいでしょうか?
現在はターミナルから別にsshでつないでいるのですが、可能であればEmacsからsshで利用したいと考えております。
0185名無しさん@お腹いっぱい。2013/01/20(日) 16:07:20.58
ssh -T host sh -i かな。zshじゃ動かないかも…
0186名無しさん@お腹いっぱい。2013/01/20(日) 16:52:15.86
>>177
>Sublime Text 2
それってMac以外で動くの?
0187名無しさん@お腹いっぱい。2013/01/20(日) 17:17:42.78
>>177
文字コードの取り扱いが重要なプログラムで海外製のフリーウェアってのがダメだな
油断すると日本語関連の処理が適当だったりするし
金払ってるわけじゃないから不具合修正を強要することもできない
オープンソースなら日本人がなんか手をいれて対処できたりするんだけど
0188名無しさん@お腹いっぱい。2013/01/20(日) 17:22:19.39
ttp://d.hatena.ne.jp/dai_yamashita/20121004/1349354987
こんなんじゃ日本語の入力にも使ってる人にはSublime Text2なんて問題外だな
0189名無しさん@お腹いっぱい。2013/01/20(日) 18:09:59.20
>>182
(expand-file-name "表" "d:/tmp")
"d:/tmp/\225/"
0190名無しさん@お腹いっぱい。2013/01/20(日) 18:16:27.93
それって23の頃から日本語パッチ必要だったような気がした。
0191名無しさん@お腹いっぱい。2013/01/20(日) 18:31:25.52
ほんとだったらひどいと思うけど。windows 上の話だろうか。

(expand-file-name "表" "/tmp")

=> "/tmp/表"

emacs-version

=> "24.3.50.1"
0192名無しさん@お腹いっぱい。2013/01/20(日) 18:42:35.71
英語圏プログラマに他国語対応求めるのがどだい無理な話よ
0193名無しさん@お腹いっぱい。2013/01/20(日) 18:55:56.19
これだからshift-jisを主に使ってるwindowsは駄目なんだよ
0194名無しさん@お腹いっぱい。2013/01/20(日) 19:11:49.02
状態もってるiso2022も嵌った時にリセットするのが厄介で、かなりダメといえる。
0195名無しさん@お腹いっぱい。2013/01/20(日) 19:13:24.25
もしかして、俺達の力でEmacs大学を設立せよ、というおぼしめしか?
0196名無しさん@お腹いっぱい。2013/01/20(日) 19:17:18.92
24.3でcc-modeとかマシになってる?
0197名無しさん@お腹いっぱい。2013/01/20(日) 19:28:01.40
>>195
お前の書き込みは100%つまらんな
やろうと思ってもできない芸当だわ
0198名無しさん@お腹いっぱい。2013/01/20(日) 20:00:50.92
>>196
だいぶマシになってる
0199名無しさん@お腹いっぱい。2013/01/20(日) 20:22:24.04
>>198 ありがとう
0200名無しさん@お腹いっぱい。2013/01/20(日) 20:25:53.72
ちょっとずつ関数定義して育てていったinit.elを紛失した
これからどうしたらいいんだろう
0201名無しさん@お腹いっぱい。2013/01/20(日) 20:30:09.50
たぶん、バニラから使い始めて
ダルいところをコツコツ改善していくとほぼ同じものができあがる。
往々にして前より良いものができあがったりする。
0202名無しさん@お腹いっぱい。2013/01/20(日) 20:53:38.98
>>200
次は Drobpox に入れとくかバージョン管理しとけ
0203名無しさん@お腹いっぱい。2013/01/20(日) 21:06:55.46
Drobox なんてとこに預けられるかw
0204名無しさん@お腹いっぱい。2013/01/20(日) 21:33:12.25
こうしとけば大丈夫

;;  (  ´)`Д) )) < ハァハァ こんな所でダメェ
;;  /  つ つ  < 大丈夫だって,こんな糞スクリプト誰も見ねえよ
;;(( (_(_  ノ ノ
;;  し∪ ∪
;;
;; Σ( ゚д゚ )゚д゚)
;;  /  つ つ
;;  (_(_  ノ ノ
;;  し∪ ∪
;;
;;  ( ゚д゚ )゚д゚)
;;  /  つ つ
;;(( (_(_  ノ ノ
;;  し∪ ∪
0205名無しさん@お腹いっぱい。2013/01/20(日) 21:40:16.75
githubにつっこんどけ
0206名無しさん@お腹いっぱい。2013/01/20(日) 21:41:06.20
俺達のスクリプトは誰にも止められないってことか。
0207名無しさん@お腹いっぱい。2013/01/20(日) 23:53:00.84
>>203
なんで?
init.elぐらい問題ないだろ
なんならgithubで公開すれば?
0208名無しさん@お腹いっぱい。2013/01/21(月) 00:03:02.88
>>203
なんでだめなん?
02092022013/01/21(月) 00:09:52.86
>>207-208
おそらく Dropbox の誤字に対するツッコミかと
0210名無しさん@お腹いっぱい。2013/01/21(月) 00:13:24.86
誤字をさらに誤字ってるからややこしい
0211名無しさん@お腹いっぱい。2013/01/21(月) 00:36:59.15
Drobpox → ん,Drobox → どろぼっくす → 泥棒? なんてとこに預けられるかw

ぼけを解説される>>203の心境やいかに
0212名無しさん@お腹いっぱい。2013/01/21(月) 00:52:12.23
オヤジ臭い。あーくさいくさい。
0213名無しさん@お腹いっぱい。2013/01/21(月) 01:16:08.28
>>184
リモート側の端末のTERM環境変数はetermになってる?
リモート側で動くzsh用に、eterm の termpinfo がちゃんと入ってる?

入ってないなら、/etc/e/eterm-color.ti をコンパイルしてホームディレクト
リに突っ込んでみたらどうなる?
0214名無しさん@お腹いっぱい。2013/01/21(月) 02:21:16.34
Emacs HEAD に、久々にMigemoを入れたんだけど
うまく動かない。

init.el は
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\a"))
(setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-use-pattern-alist t)
(setq migemo-use-frequent-pattern-alist t)
(setq migemo-pattern-alist-length 1000)
(setq migemo-coding-system 'utf-8-unix)
で、"j" と打つと「辞」とかの漢字はすべてハイライト
されるから、辞書はうまく使えてると思うけどカーソルはなぜか
アルファベットのところしか飛ばない。

同じ現象に合っている人いません?
0215名無しさん@お腹いっぱい。2013/01/21(月) 05:18:52.42
>>184
環境変数PROMPT_COMMANDを空にすれば
0216名無しさん@お腹いっぱい。2013/01/21(月) 05:34:33.11
>>214
Emacs24.3 の PRETEST を試したら俺もそうなった.
一致している正規表現はハイライトされていたので,
isearch の方になんか変更があったんではないかと思ってる.
なんか解決策ないものか.
0217名無しさん@お腹いっぱい。2013/01/21(月) 10:00:26.68
migemoの開発とまってるからなぁ
0218名無しさん@お腹いっぱい。2013/01/21(月) 12:05:17.05
まじか、24.3入れようと思ってたのに
安定板まで待つか
0219名無しさん@お腹いっぱい。2013/01/21(月) 13:18:30.82
>>211
ボケてたのかw 全然気付かなかったw
いちいち綴りまで見てないからなあ・・・
0220名無しさん@お腹いっぱい。2013/01/21(月) 17:18:31.17
オリジナルのmigemoにいろいろ手を加えたものがgithubにありました.
https://github.com/Hideyuki-SHIRAI/migemo-for-ruby1.9
作者のtwitter曰く,24.3にも対応しているそうです.
こちらで試してみてはいかがでしょうか.
0221名無しさん@お腹いっぱい。2013/01/21(月) 18:34:10.11
モゲミというマスコットキャラはいないのか。
0222名無しさん@お腹いっぱい。2013/01/21(月) 20:45:28.59
cmigemoじゃないのか・・・
0223名無しさん@お腹いっぱい。2013/01/21(月) 21:25:23.69
>>220
おー、Emacs23.3.50&cmigemoでも問題なく動いた。

とはいえ、せっかく github に上げてくれたのだったら、
少しは先頭コメントを変えて欲しかった。中身はいろいろ変えてあるけど
先頭はバージョン1.7のまま(一応最新は1.8ということになってる)ので、
知らない人は混乱するだろうし。
0224名無しさん@お腹いっぱい。2013/01/21(月) 21:46:23.33
>>215
プロンプト出力機能を殺したらシェルの価値が半減しない?;->

>>184
ehsellからリモートのzsh上げても、相手側のヒストリとかスクリーンエディッ
ト機能が使えないからもったいなくない?

最近のEmacsの term.el はカラー処理・フルスクリーン処理能力はなかなかな
ので、term.el の拡張elisp(幾つかあるが たとえば multi-term.el とか)を
使うのはどうでしょう。リモートなので、場合によっては環境変数TERMとか
terminfoの設定は自分でちゃんとする必要があると思うけど。
0225名無しさん@お腹いっぱい。2013/01/22(火) 09:54:22.45
>>223
pull request
■ このスレッドは過去ログ倉庫に格納されています