Emacs Part 47 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
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/
0702名無しさん@お腹いっぱい。
2015/03/09(月) 16:41:56.590703名無しさん@お腹いっぱい。
2015/03/09(月) 20:44:58.051. EmacsをRuby or mrubyで実装しなおす(Rmax??)
2. rmaxコマンドで~/rmax.d/ 以下のディレクトリ階層と設定ファイルの雛形を自動生成
3. Rubyで設定・拡張できるようにする
4. ビルドツールにはRakeを使う
みたいなことができるとEmacsが一気に今風な感じになって面白いのになぁと思うんですけど… まあ、僕のスキルでは無理なんですけど…
0704名無しさん@お腹いっぱい。
2015/03/09(月) 21:06:57.02何を実装するのか知らんけど
0705名無しさん@お腹いっぱい。
2015/03/09(月) 21:16:07.040706名無しさん@お腹いっぱい。
2015/03/09(月) 21:29:40.65まあCygwin版だから。バグは多いけれどバージョンアップは早い。
GNU Emacs 24.4.1 (x86_64-unknown-cygwin) of 2015-02-13 on desktop-new
>>690
それだと解決しなかった。残念。
こちらの現象は、1-9月だと月名と日の間に半角スペースが3個入ってしまうのが
原因で、正規表現の途中に " ?" を入れたら動くようになった。
しかしNavi2chが使えなくなったら、こんな気軽に書き込みはできなくなるなあ。
0707名無しさん@お腹いっぱい。
2015/03/09(月) 21:38:22.70ああ、ごめん。
標準だと find-ls-option の方見に行っちゃうからそっちの方に --time-sytle=long-iso を入れないとダメだわ。
自分ところはこんなふうにしてた。
find の -ls だと日付のフォーマット違いで開けないことがあったから直接 ls 呼ぶようにしたんだった。
(setq find-ls-option (cons (format "-exec ls %sd --time-style=long-iso {} +"
dired-listing-switches)
(format "%sd" dired-listing-switches)))
0708名無しさん@お腹いっぱい。
2015/03/09(月) 23:20:32.940709名無しさん@お腹いっぱい。
2015/03/10(火) 14:09:42.47普通に make-local-variable とかでバッファローカル変数を作ってもメジャーモード変更とかで
kill-all-local-variables が走ると消えちゃうし、
permanent-local フラグを立てちゃうとこんどは逆にどのバッファでも消えなくなってしまうし。
0710名無しさん@お腹いっぱい。
2015/03/10(火) 16:00:24.68if の使い方を見ると、大抵その人が Lisp に浸っているかどうかが分かる。
手続型言語から見ると if は「制御文」であり、処理の流れを切り替えるために 使う。たとえばこんな風。
(if need-hogehoge
(setq foo "hogehoge")
(setq foo "fugafuga"))
ああ、もったいない。if もやっぱり関数(厳密にはスペシャルフォーム)なのだ。
ifは第一引数の値 に応じて第二引数を返すか、第三引数以後の最後のものを返すかするという関数 である。
(setq foo (if need-hogehog "hogehoge" "fugafuga"))
これで、ifが返してくれる値を捨てることなくsetqに拾わせることができる。
とにかくLispは値が命。無駄に値を捨てない。もったいないお化けを出さない。
0711名無しさん@お腹いっぱい。
2015/03/10(火) 22:19:24.83設定し尽くして飽きてきた
0712名無しさん@お腹いっぱい。
2015/03/10(火) 22:36:26.86cの三項演算子でそれよく使う。
0713名無しさん@お腹いっぱい。
2015/03/10(火) 22:48:49.28人に説明するときは手続き型言語方式の方が分かりやすいし
0714名無しさん@お腹いっぱい。
2015/03/10(火) 23:10:49.730715名無しさん@お腹いっぱい。
2015/03/10(火) 23:12:09.390716名無しさん@お腹いっぱい。
2015/03/10(火) 23:13:24.930717名無しさん@お腹いっぱい。
2015/03/10(火) 23:39:32.46ありがとう。とりあえず今は動いているからいいわ。
また動かなくなったらその時考える。
ただ、LC_TIME=C はちょっと表示が寂しいかも。
0718名無しさん@お腹いっぱい。
2015/03/11(水) 05:08:57.54(column-number-mode t)
で現在位置と最大行数が(100/200)みたいな感じで表示されたよん
0719名無しさん@お腹いっぱい。
2015/03/11(水) 12:38:06.68column-number-mode は桁数の表示
line-number-mode と両方有効な時は (100,0) という風に (行数,桁数) が表示されるけど
総行数の表示機能は無かったはず
0720名無しさん@お腹いっぱい。
2015/03/11(水) 12:38:48.16;; `line-number-mode' と `colmun-number-mode' のモード行書式設定(変数
;; `mode-line-position' の第三要素)を、総行数を共に表示する書式に置き
;; 換える。
(rplaca (cddr mode-line-position)
'(line-number-mode
((column-number-mode
;; `line-number-mode' と `column-number-mode' 両方有効な場合:
;; " (現在行数/総行数,現在桁数)"
(:eval (format " (%%l/%d,%%c)" (1+ (count-lines (point-min) (point-max)))))
;; `line-number-mode' のみ有効な場合: " L現在行数/総行数"
(:eval (format " L%%l/%d" (1+ (count-lines (point-min) (point-max)))))))
;; `column-number-mode' のみ有効な場合: " C現在桁数"
((column-number-mode " C%c "))))
*参考にしたページ
Mode Line Data - GNU Emacs Lisp Reference Manual
https://www.gnu.org/software/emacs/manual/html_node/elisp/Mode-Line-Data.html
"(:eval form)" と "(symbol then else)"
%-Constructs - GNU Emacs Lisp Reference Manual
https://www.gnu.org/software/emacs/manual/html_node/elisp/_0025_002dConstructs.html
"%l" が現在行数、"%c" が現在桁数
上記コードではformat関数に解釈されないようエスケープしているので "%%l" となっている
Emacsのモードラインにページの総行数をきれいに表示する方法 - 三等兵
http://d.hatena.ne.jp/sandai/20120307/p1
`mode-line-position' の中身の解説
0721名無しさん@お腹いっぱい。
2015/03/11(水) 12:55:56.48ありがとうございます!綺麗に表示されるようになりました!
0722名無しさん@お腹いっぱい。
2015/03/11(水) 19:54:59.56微妙に気に入らないフォントでも修正かけられるのはありがたい
;; 0にスラッシュ入ってないフォントで0にスラッシュを入れる
(font-lock-add-keywords nil '(("0" 0
(compose-region
(match-beginning 0) (match-end 0)
(compose-string "0/")
'decompose-region))))
0723名無しさん@お腹いっぱい。
2015/03/11(水) 20:00:09.84他の事例もあればjpg頼む
0724名無しさん@お腹いっぱい。
2015/03/11(水) 20:26:42.29http://i.imgur.com/ia0NtfE.png
こんな感じ
0725名無しさん@お腹いっぱい。
2015/03/11(水) 23:31:25.36どのようにすれば回避できるのでしょうか?
(define-key calculator-mode-map
(kbd "C-c C-c") 'somefunc)
;; => Key sequence C-c C-c starts with non-prefix key C-c
0726名無しさん@お腹いっぱい。
2015/03/12(木) 00:25:06.38(define-key calculator-mode-map (kbd "\C-c\C-c") 'somefunc)
0727名無しさん@お腹いっぱい。
2015/03/12(木) 14:14:35.54うまく出来ました。
予めプリフィクスになるものをnilで初期化?する必要があるんですね。
ありがとうございました!
0728名無しさん@お腹いっぱい。
2015/03/12(木) 14:47:27.850729名無しさん@お腹いっぱい。
2015/03/12(木) 15:16:22.01(load-theme 'solarized-dark t)
ってしてるのに普通の方ででちゃう
0730名無しさん@お腹いっぱい。
2015/03/12(木) 16:04:11.28(setq frame-background-mode 'dark)
(load-theme 'solarized t)
https://github.com/sellout/emacs-color-theme-solarized
> To switch between the light and dark variations of Solarized, set the frame’s
> background-mode. This can be accomplished globally using M-x
> customize-variable frame-background-mode or on a per-frame basis with
> (set-frame-parameter nil 'background-mode 'light) (or 'dark).
0731名無しさん@お腹いっぱい。
2015/03/12(木) 16:36:17.88なにがいいって標準でついてるってのがいい
0732名無しさん@お腹いっぱい。
2015/03/12(木) 19:10:35.78いまいち安定しない
diredで普通の0が表示されたりする
0733名無しさん@お腹いっぱい。
2015/03/12(木) 20:14:59.25ありがとうございます
0734名無しさん@お腹いっぱい。
2015/03/12(木) 21:25:41.01ただでさえ書き込み少なかったここも今度こそ終わるな
0735名無しさん@お腹いっぱい。
2015/03/12(木) 23:24:56.180736名無しさん@お腹いっぱい。
2015/03/12(木) 23:45:38.54ソース
0737名無しさん@お腹いっぱい。
2015/03/12(木) 23:48:32.382ちゃんねる専用ブラウザをご利用の皆さまへ
http://www.2ch.net/browsers.html
> 3月13日からは新仕様に対応した専用ブラウザをご利用ください。
0738名無しさん@お腹いっぱい。
2015/03/13(金) 00:00:32.330739名無しさん@お腹いっぱい。
2015/03/13(金) 02:48:09.650740名無しさん@お腹いっぱい。
2015/03/13(金) 03:01:09.67「本日より2ch.net専用ブラウザに広告が配信されるようになりました。」
とのことだが、これは navi2ch のように text しか対応していない
2ch viewer には関係のないことのように思える。
現に今も俺は navi2ch で書き込みしているわけで。
0741名無しさん@お腹いっぱい。
2015/03/13(金) 05:40:14.28横着せずページの下まで読みましょう
0742名無しさん@お腹いっぱい。
2015/03/13(金) 06:45:09.68navi2ch スレ見てきなさいな。
0743名無しさん@お腹いっぱい。
2015/03/13(金) 06:51:47.94メールはともかく、2ch まで Emacs で読み書きしなくてもいいじゃん
って思ってたけどみんな navi2ch から書いてるの?
0744名無しさん@お腹いっぱい。
2015/03/13(金) 07:34:12.77http://developer.2ch.net/
0745名無しさん@お腹いっぱい。
2015/03/13(金) 08:24:15.18dat読めなくなりますとは言ってないような
0746名無しさん@お腹いっぱい。
2015/03/13(金) 08:27:32.330747名無しさん@お腹いっぱい。
2015/03/13(金) 10:57:30.350748名無しさん@お腹いっぱい。
2015/03/13(金) 11:00:44.990749名無しさん@お腹いっぱい。
2015/03/13(金) 11:14:55.01ブラウザから書き込んでる
0750名無しさん@お腹いっぱい。
2015/03/13(金) 20:58:09.80当日までこんなのんきなこと言ってる奴いたのかここは…
0751名無しさん@お腹いっぱい。
2015/03/14(土) 21:25:55.45読むだけなら何でもいいけど、書くときにemacs上なのが大事なのだ。
From Navi2ch User
0752名無しさん@お腹いっぱい。
2015/03/15(日) 04:40:18.140753名無しさん@お腹いっぱい。
2015/03/15(日) 22:04:36.14Not Emacs is a text editor for programmers that supports many of the
most common emacs keybindings. This app is based on the ymacs editor
and the Gambit Scheme programming system.
Requires iOS 6.1 or later. Compatible with iPhone, iPad, and iPod
touch. This app is optimized for iPhone 5.
https://itunes.apple.com/us/app/not-emacs/id948330589?mt=8
0754名無しさん@お腹いっぱい。
2015/03/16(月) 22:51:25.36いいね
0755名無しさん@お腹いっぱい。
2015/03/17(火) 00:08:01.59Android版はないみたいだ。
まあそれ以前にAndoroid版Emacsを自分は起動できない
ままだけど。
0756名無しさん@お腹いっぱい。
2015/03/17(火) 00:11:00.90一瞬terminal session is runningとだけでて画面すら見せてもらえない
2chMate 0.8.7.7 dev/LGE/Nexus 5/5.0.2/LR
0757名無しさん@お腹いっぱい。
2015/03/17(火) 00:23:48.400758名無しさん@お腹いっぱい。
2015/03/17(火) 00:28:56.12英語だったから読み飛ばしてたわ
0759名無しさん@お腹いっぱい。
2015/03/17(火) 04:39:06.89神!
早速入れてみた。
どこまで出来るんだろう。
ていうか操作性良すぎ
0760名無しさん@お腹いっぱい。
2015/03/17(火) 08:04:22.49泥端末持ちだから試せないんだけどそんなに操作性良いの?
ソフトウェアキーボードでC-nだのC-x C-fだの入力するの大変そうだけど
フリックに特化した仕組みとかはいってるのかしらん
0761名無しさん@お腹いっぱい。
2015/03/17(火) 08:47:55.81すばらしかったなー
0762名無しさん@お腹いっぱい。
2015/03/17(火) 11:14:36.09当たり前だがPCほどではない。
スマホでEmacs動かすようなものたくさん試したけど
その中では抜群の操作性
0763名無しさん@お腹いっぱい。
2015/03/18(水) 00:15:18.23なんか笑ってしまった。
0764名無しさん@お腹いっぱい。
2015/03/18(水) 14:24:34.44http://emacsfodder.github.io/emacs-theme-editor/
こういうの Emacs 内で完結できないもんかしら
カラーピッカー実装するのが大変か
0765名無しさん@お腹いっぱい。
2015/03/18(水) 16:10:18.560766名無しさん@お腹いっぱい。
2015/03/18(水) 16:40:23.61(window-system)の値で分岐
0767名無しさん@お腹いっぱい。
2015/03/18(水) 16:42:11.39マジでお前ら使えないな
結局stackoverflowさんだよ
というか、navi2chのせいか?
いや、おまえら悪くない、JIMが悪い
elispってどうやって覚えんの?
文法はええんやけど、window-systemって変数があるとかリファレンスは?
0768名無しさん@お腹いっぱい。
2015/03/18(水) 17:03:45.060769名無しさん@お腹いっぱい。
2015/03/18(水) 17:08:25.32https://github.com/vim-jp/issues/issues
0770名無しさん@お腹いっぱい。
2015/03/18(水) 19:06:47.050771名無しさん@お腹いっぱい。
2015/03/18(水) 23:03:07.38Info で elisp > Display > Window Systems を参照。
x, w32 とかウィンドウシステムの種別も分かるようだ。
0772名無しさん@お腹いっぱい。
2015/03/19(木) 02:45:17.720773名無しさん@お腹いっぱい。
2015/03/19(木) 03:23:39.66XX を制御する変数は…なんてのは info 検索するよりググったほうがとっかかり見つかる気がするわ。
そっから対象のドキュメントなり info 読むでいい気がする。
0774名無しさん@お腹いっぱい。
2015/03/19(木) 07:24:16.96逆にinfo読み込まんでelispで何書けんのかナゾっていうか
だからいつまでたってもナンモ書けんのだろキミら?(笑
0775名無しさん@お腹いっぱい。
2015/03/19(木) 09:04:30.97>>774 だって煽りたいから言ってるだけで全部読んだことないだろうし。
0776名無しさん@お腹いっぱい。
2015/03/19(木) 12:36:02.890777771
2015/03/19(木) 12:41:17.19(今はcustomizeがあるからなおのこと)
ググって変数・関数名が分かればdescribe-variable, describe-functionで
調べて、それでもわからない場合にようやくinfoに当たる感じ。
elisp言語仕様はinfo見ないとだけど。
0778名無しさん@お腹いっぱい。
2015/03/19(木) 12:47:35.940779名無しさん@お腹いっぱい。
2015/03/19(木) 13:28:16.04Helpを見ながら設定できんだから便利だとは思わんか?
多分お前らはググって日本語の解説見ながらsetqの行をコピってくるだけだろうがな
0780名無しさん@お腹いっぱい。
2015/03/19(木) 13:58:40.730781名無しさん@お腹いっぱい。
2015/03/19(木) 14:27:28.51GUI に慣れてる人とかだと嬉しいのかねぇ
0782名無しさん@お腹いっぱい。
2015/03/19(木) 14:28:31.79setqレベルの話になってて愕然
せいぜい背伸びしてcustomizeとかもう
0783名無しさん@お腹いっぱい。
2015/03/19(木) 14:39:35.300784名無しさん@お腹いっぱい。
2015/03/19(木) 14:43:42.35>>782 さんはどんなコードあるいはパッケージを書かれたんですか?
0785名無しさん@お腹いっぱい。
2015/03/19(木) 14:45:35.98悔しいのはわかったから一生懸命ぐぐってsetqコピペする作業に戻りなよ
0786名無しさん@お腹いっぱい。
2015/03/19(木) 14:54:47.370787名無しさん@お腹いっぱい。
2015/03/19(木) 15:04:04.75全然逆だわ
elispの言語仕様なんてlispなんだから教科書いらない
emacs使ってて「おっ?!」と思う動作などあったらdescribe-とか
ヘルプとかinfoとかソース見れば分かるからググりすらしない
なんでわざわざ曖昧な情報ソースを調べにいくのか
根本的に間違ってる
0788名無しさん@お腹いっぱい。
2015/03/19(木) 15:20:51.860789名無しさん@お腹いっぱい。
2015/03/19(木) 15:56:44.35もう低レベル過ぎてみてらんない
0790名無しさん@お腹いっぱい。
2015/03/19(木) 16:07:22.630791名無しさん@お腹いっぱい。
2015/03/19(木) 16:30:42.53みたいな人多いなここは
0792名無しさん@お腹いっぱい。
2015/03/19(木) 18:26:08.09んじゃボクも便乗して低レベルなsetqを紹介するね
(setq w32-pass-multimedia-buttons-to-system nil)
これを書いとくと、電卓ボタンとか音量ボタンとかを
Emacsが「キー」として認識してくれるようになるから
自作のlisp割り当てて便利に使えるよ
他にも w32fns.c には低レベルな関数や機能がいっぱいあるから一読すると吉
0793名無しさん@お腹いっぱい。
2015/03/19(木) 18:29:23.22NTEmacs でやれよ。
0794名無しさん@お腹いっぱい。
2015/03/19(木) 21:30:08.23- 動的な設定、凄く簡単な例なら (setq hoge (getenv "HOGE")) みたいなことができない。
- 変数 `foomode-bar-setting' が、「Foomode Bar Setting」という見出しで表示される。おせっかい。
- 変なGUI。「初心者目線」ということを何か見誤っていると思う。
そもそも初心者はこれ知らずにinit.elへコピペしていることの方が多い。
- 見通しが悪い。作者の気持ちとしては
「`defvar'よりは、なるべく`defcustom'で変数定義した方がいいよな…」
となるので、滅多にいじらないような変数と、重要な変数が、
ごった混ぜになって表示される。
- 変数のマニュアル文と一緒にデフォルト値を載せるべきだ。
実際にどのような値を挿入する値なのかを知ることで、
カスタマイズ変数一覧の斜め読みがしやすくなるはず。
- 少なくともリスト・フック変数は、これを使って設定するべきではない。
具体的にはinit.el中の add-to-list, add-hook が機能しなくなる、などの問題が生じる。
そもそもあのインターフェースでのリストの削除・挿入は面倒臭すぎる。
0795名無しさん@お腹いっぱい。
2015/03/19(木) 21:33:03.88- 公式ドキュメントの詳細部分をカバーできる。
ドキュメントへは導入部分・基本設定のみを記述して、
「詳細は'M-x customize-group foomode' してみてくれ!」
という開発者は多い。
- :typeキーワードの情報を元に、変数の値が適当な形式かどうかをチェックしてくれる。
まとめるとcustomizeについては、
あの変なGUIはなくなってもいいくらいに思っているけど、
開発者がわざわざ余分な手間かけて作った defcustom の情報は、
もっと活用されるべきだと思うなぁ。
init.el編集を、defcustomの情報を活かして支援してくれるようなアプローチが理想。
そういうパッケージはないのかな?
0796名無しさん@お腹いっぱい。
2015/03/19(木) 23:41:09.56setq の値設定するときに :type で補完補助してくれる、ぐらいしか思いつかないな
0797名無しさん@お腹いっぱい。
2015/03/20(金) 11:50:38.19GUIが糞とか言ってるやつは何事も外見でしか判断できない奴
0798名無しさん@お腹いっぱい。
2015/03/20(金) 12:05:43.57まともな感性持ってる人ならあれはクソだってすぐわかる
0799名無しさん@お腹いっぱい。
2015/03/20(金) 13:06:10.88設定画面の存在がダメなんでなく、customize インターフェースの作りがダメダメなんだよな。
ダメダメっていうか時代遅れってののほうが正しいか。
0800名無しさん@お腹いっぱい。
2015/03/20(金) 13:27:59.44半ば自動生成だからこうなる宿命にある
0801名無しさん@お腹いっぱい。
2015/03/20(金) 20:11:25.42アホか…根本的に大量の項目があるのにどうすんだよ
一応階層構造にもなってるだろ
否定だけしてないで改善案を言ってみろよ
0802名無しさん@お腹いっぱい。
2015/03/20(金) 20:34:20.38■ このスレッドは過去ログ倉庫に格納されています