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

Emacs Part 43

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2013/06/09(日) 14:05:32.09
語り合いましょう。

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

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

Emacsのトラノマキ | 検索結果: | ありえるえりあ
http://dev.ariel-networks.com/wp/?s=Emacs%E3%81%AE%E3%83%88%E3%83%A9%E3%83%8E%E3%83%9E%E3%82%AD

前スレ
EmacsPart42
http://toro.2ch.net/test/read.cgi/unix/1356319580/
0402名無しさん@お腹いっぱい。2013/09/20(金) 09:56:15.83
マジレスすると
ESC に慣れた方がいい
ちなみに C-[ と ESC は同じ
0403名無しさん@お腹いっぱい。2013/09/20(金) 10:08:11.40
>>402
おっしゃるとおりなのですが、長年 global-set-key していると、モディファイヤキーが足らなくなってきまして、HyperやSuperが欲しくなってきました。
ctrl-x-map や ctrl+c-map も押しやすいキーは消費しているので、MetaがAltとダブっているESCキーをなんとか活用できないかと思った次第です。
0404名無しさん@お腹いっぱい。2013/09/20(金) 18:37:11.19
みんな一杯キーバインド使ってるのな
俺はCtrlとMetaだけで十分だわ
0405名無しさん@お腹いっぱい。2013/09/20(金) 23:00:25.72
俺はモディファイアキーを増やすためにこんなもん買ってしまったよ
http://bit-trade-one.co.jp/BTOpicture/Products/001-BT/
0406名無しさん@お腹いっぱい。2013/09/21(土) 01:51:48.99
>>401
local-function-key-map 中の (escape . [27]) を
(escape . event-apply-hyper-modifier) とか
(escape . event-apply-super-modifier) に変更すればよい。

便利な設定があったら教えてくれ。

Windows だと application key が空いていそうだが。
0407名無しさん@お腹いっぱい。2013/09/21(土) 05:59:13.41
Emacs: How to Define Super & Hyper Keys
http://ergoemacs.org/emacs/emacs_hyper_super_keys.html
0408名無しさん@お腹いっぱい。2013/09/21(土) 06:05:07.50
Windows key も Option key も無いキーボードの場合はどうすればいいですか?
http://www.clickykeyboard.com/2006/1393278/1393278-001.jpg
0409名無しさん@お腹いっぱい。2013/09/21(土) 09:15:40.18
>>408
SpaceSaver! 昔それむっちゃ欲しかった。
0410名無しさん@お腹いっぱい。2013/09/21(土) 10:04:33.12
>>406
せっかくヒントを頂いたのに、どうやって変更すればいいか分かりませんです。

ためしにこんなのを書いてみたのですが、(wrong-type-argument listp keymap)と怒られますた。

(let ((l local-function-key-map)
(in '(escape . 55))
(new '())
(pushed nil))
(dolist (e l)
(if (eq (car e) (car in))
(progn (push in new) (setq pushed t))
(push e new)))
(unless pushed (push in new))
new)
0411名無しさん@お腹いっぱい。2013/09/21(土) 12:29:17.35
(define-key local-function-key-map [escape] 'event-apply-hyper-modifier)
0412名無しさん@お腹いっぱい。2013/09/21(土) 13:14:31.98
>>411

できました。
このスレの少し前に紹介された ace-jump-modeを hyper で使おうと思います。

ttp://d.hatena.ne.jp/rkworks/20120520/1337528737

重ね重ね、ありがとうございました。
0413名無しさん@お腹いっぱい。2013/09/22(日) 05:17:32.67
hoge.zip というファイルだけがあるディレクトリで shell-mode で
ls .z
まで打ってTABキーを押すと、補完されて hige.zip になりますが、これを
ls h とか
ls ho の時だけ補完させたいのですが可能でしょうか?
0414名無しさん@お腹いっぱい。2013/09/22(日) 07:31:07.95
髭!と聞いて。
0415名無しさん@お腹いっぱい。2013/09/22(日) 15:06:47.78
higepon
0416名無しさん@お腹いっぱい。2013/09/22(日) 16:04:46.35
>>413
completion-stylesからpartial-completionをdeleteするのはどうでしょうか。

(require 'cl-lib)
; cl-lib
(cl-delete 'partial-completion completion-styles)
; (basic emacs22)

あるいは

(setq completion-styles '(basic emacs22))
0417名無しさん@お腹いっぱい。2013/09/22(日) 17:18:38.56
日本ではEmacsが最強のエディタとされてるが
海外では意外にWindowsのメモ帳がリバイバルブームきてるんだよなあ。
日本人がいつも後手にまわるのが悔しい。
0418名無しさん@お腹いっぱい。2013/09/22(日) 18:36:09.50
日本でもEmacsはかなり落ち目だと思うが
0419名無しさん@お腹いっぱい。2013/09/22(日) 18:48:29.82
>>416
希望通りの補完になりました。
ありがとうございました。
0420名無しさん@お腹いっぱい。2013/09/22(日) 19:50:07.86
メモ帳はBOMが付くから使えない
そういや、EmacsでUNICODEのCOMBINING系文字を使うと編集が
うまく行かないんだが、コツある?
1文字に2個COMBINING付けたらわけわからなくなった。
0421名無しさん@お腹いっぱい。2013/09/22(日) 19:58:45.74
>>420
>そういや、EmacsでUNICODEのCOMBINING系文字を使うと編集が
>うまく行かないんだが、コツある?

ASCIIしか使わない。
EUCを使う
0422名無しさん@お腹いっぱい。2013/09/22(日) 20:10:18.10
えー? 下付き/上付き添字、ベクトルとか共役とか色々装飾
したいじゃん(濁点とか半濁点とかはしたくない)。
あとはA○とかいろいろ。
ASCIIもEUCもできないでしょ。

メモ帳での編集はどうだったかな? 場合によっては負け?
0423名無しさん@お腹いっぱい。2013/09/22(日) 20:13:27.57
>>422
TeXで解決
0424名無しさん@お腹いっぱい。2013/09/22(日) 20:18:55.18
TeXってまだあるんだ。
TeXにUNICODEのCOMBINING系文字を食わしたらどうなるのかな?
0425名無しさん@お腹いっぱい。2013/09/22(日) 20:54:15.21
メモ帳が流行ってるということは軽量なemacs cloneもくるかな
MicroEmacsにS式、単語単位のカーソル移動機能や予約語の強調表示の追加くらいで十分なんだけどなあ
0426名無しさん@お腹いっぱい。2013/09/22(日) 21:05:57.31
Creating A C++ Program In Windows With Notepad And The G++
https://www.youtube.com/watch?v=eMG7ZNq42PU
0427名無しさん@お腹いっぱい。2013/09/22(日) 21:20:08.53
>>417
メモ帳で自動インデントとかシンタックスハイライトができるのか?
0428名無しさん@お腹いっぱい。2013/09/22(日) 22:23:37.02
おまいら vi に
宗旨替えるするつもりじゃないだろうな!!

そんなことヤル奴はEmacs使いの
風上にも置けない奴だ!

なお、俺氏は齢0x21にて現在は進行形でvimを
チマチマと覚えているところだ!
0429名無しさん@お腹いっぱい。2013/09/22(日) 22:40:42.51
そもそも、メモ帳が一度でもブームになったことがあるのか?
いいやない。
0430名無しさん@お腹いっぱい。2013/09/22(日) 22:42:57.52
メモ帳の存在を忘れかけてた
あれを開くの店頭のPCを触るときぐらいだ
0431名無しさん@お腹いっぱい。2013/09/22(日) 22:43:39.45
Windows ブームはメモ帳ブームといっても過言ではない。
ほぼ全ての Windows ユーザーがメモ帳を通過したのだから。
0432名無しさん@お腹いっぱい。2013/09/22(日) 23:23:10.20
仕事ではしょうが無く vim 使ってる。

インターネットに接続出来ないから emacs 単体入れてもどうしようも無いけど・・・
emacs + helm とか諸々が1パッケージになってるものって無いの?

どっちにしろ、.emacs を一から書かんとイカンので無理だが。
0433名無しさん@お腹いっぱい。2013/09/22(日) 23:31:07.86
IDEは魔改造されたメモ帳と見なすことが出来るのではなかろうか
0434名無しさん@お腹いっぱい。2013/09/22(日) 23:34:54.02
パッケージをネットワークから持ってくるとか
そんな昔からやってたわけじゃないけどな
だいたいのパッケージはelispファイルを持ってきて適当なとこに置けばいいだけだろ
0435名無しさん@お腹いっぱい。2013/09/23(月) 01:02:56.48
よく考えたらネットがまともに使える以前のEmacsってゴミだよな。
0436名無しさん@お腹いっぱい。2013/09/23(月) 01:19:58.29
ネット使えないころから愛用してたよw
最初はテープで貰ってきたw
0437名無しさん@お腹いっぱい。2013/09/23(月) 03:03:14.57
シリアル接続の純正VT端末で、window分割で使っていたころの方が、今よりもありがたみがあったような気がする
0438名無しさん@お腹いっぱい。2013/09/23(月) 04:40:16.03
>>436
おー、懐かしい。fjのテープ回覧?
0439名無しさん@お腹いっぱい。2013/09/23(月) 07:56:58.17
4年くらいEmacs使ってきたけど
実践Vim読んでかなり心揺れてるw
0440名無しさん@お腹いっぱい。2013/09/23(月) 08:36:25.86
実践vimを読んでいないからわからないけれど
emacsに実装できない機能がたくさん紹介されているの?
0441名無しさん@お腹いっぱい。2013/09/23(月) 10:51:41.35
vimは.emacsを編集することが出来ます。
0442名無しさん@お腹いっぱい。2013/09/23(月) 12:07:05.05
emacsにしか出来ないことってのに実はそんなに魅力を感じなくなってきた今日この頃
0443名無しさん@お腹いっぱい。2013/09/23(月) 12:11:18.49
それで別のエディタを使ってみるけどやっぱりemacsに戻っちゃう
0444名無しさん@お腹いっぱい。2013/09/23(月) 12:23:22.53
elispしこしこ書いてバッファ内に読みこんだファイルの内容を変更して、即
座に目で見て確認して保存ってこと、他のエディタでできるやつあるの?
0445名無しさん@お腹いっぱい。2013/09/23(月) 14:05:51.65
>>439
『心揺れてる』理由が知りたいです。
emacsを数年間利用した上でemacs以外のエディターに移行しようとする方の
意見には興味があります。
0446名無しさん@お腹いっぱい。2013/09/23(月) 14:42:10.62
gitのvc-annotateが遅すぎなので
vimに移行したい
0447名無しさん@お腹いっぱい。2013/09/23(月) 17:12:31.00
>>446
package-install mo-git-blame
も遅い?
0448名無しさん@お腹いっぱい。2013/09/23(月) 17:55:56.78
>>444
イミフ
0449名無しさん@お腹いっぱい。2013/09/23(月) 18:02:29.57
>>448
まあ、だいたい何が言いたいかわかる。
その場しのぎでワンライナーっぽくフィルタみたいなことをやろうとすると確かにEmacsは便利。
0450名無しさん@お腹いっぱい。2013/09/23(月) 18:29:39.53
さあ!人の作ったパッケージ(笑)の出来ひとつで
自分のやることが制限され左右されてしまう
ニワカで低能のみなさんはそろそろ静かにしててね!
04514442013/09/23(月) 18:46:14.01
>>449

> その場しのぎでワンライナーっぽくフィルタみたいなことをやろうとする

これです。これができるエディタって他にあるのかな。
while re-search-forward replace-match で何度も幸せになれたので。
0452名無しさん@お腹いっぱい。2013/09/23(月) 20:08:15.11
どうでもいいんだが、「幸せになれる」って表現
元ネタどこ?てか誰が広めたんだ?
なんかイラッと来るんだが。

幸福実現党かよ。
0453名無しさん@お腹いっぱい。2013/09/23(月) 20:17:32.40
俺も他人にとってどうでもいいようなスレチでチラウラないちゃもんを
わざわざageで書いてておまけに政治ネタにふってるようなレス見ると
ものすげーイラッと来るわ
0454名無しさん@お腹いっぱい。2013/09/23(月) 20:20:01.89
>>453
つまり、幸せになれてないと?
0455名無しさん@お腹いっぱい。2013/09/23(月) 21:30:13.96
多分、パソ通かfjが発祥。言い出した奴は鬼籍に入っている可能性もある。
0456名無しさん@お腹いっぱい。2013/09/23(月) 21:59:42.57
>>444 >>449
そういう利点が、Emacs にはあるよね。

通常のテキストファイルに elisp を付属させて、必要に応じて
eval-last-sexp で簡単に処理したりで、1つのファイル内で簡潔に完結するこ
とができたり。
0457名無しさん@お腹いっぱい。2013/09/23(月) 22:15:52.76
Emacsでいいよslimeもあるし
0458名無しさん@お腹いっぱい。2013/09/24(火) 01:43:42.56
>>456
あんましよく知らんけど、カーソルがある行を読み込んでevalにかけるくらいなら
プラグイン作れるエディタなら大抵出来そうな気がするんだが
0459名無しさん@お腹いっぱい。2013/09/24(火) 07:45:00.70
「大抵」ではないと思うぞ。
プラグインがコンパイラ言語のものだと、無理じゃね?
0460名無しさん@お腹いっぱい。2013/09/24(火) 07:57:01.66
編集に限って言えば言うほど使い捨てスクリプト必要になったケースってないけどなあ
ちょっとしたことなら正規表現で事足りてる
0461名無しさん@お腹いっぱい。2013/09/24(火) 08:43:08.98
>>458
あくまで「ユーザが学習して利用できるようになれば」だけど...

Emacs は、何か手軽に処理をさせたいときの仕組みが元々組み込まれていて、
その呼び出し方が簡単で自由度が高い感がある。
極端な話、その「仕組み」そのものにもシームレスにアクセスし確認できる点
(たとえば eval-last-sexp のソースコードを describe-function などで追っ
ていく) は、特筆ものだと思う。

いわゆるプラグインだと、シームレスさや手軽さが欠けるんではないかな。も
ちろん、プラグインにも利点はあるだろうが。
0462名無しさん@お腹いっぱい。2013/09/24(火) 13:01:52.80
お前らたまには他のエディタ触ってみたらどうだ
sublime textとかpython知ってりゃ5分でプラグイン作れるようになるぞ
0463名無しさん@お腹いっぱい。2013/09/24(火) 13:40:52.25
GUIはノーサンキュー
0464名無しさん@お腹いっぱい。2013/09/24(火) 13:58:31.56
プラグインってなんか感電しそうでいやだ。
ワイヤレスが主流の時代に時代遅れ感もあるし。
ワイヤレスインとかのほうが良い。
0465名無しさん@お腹いっぱい。2013/09/24(火) 14:43:46.23
>>462
フック使ってるとプラグインから作るとか面倒すぎる。
0466名無しさん@お腹いっぱい。2013/09/24(火) 15:54:24.18
elisp より python の方が書きやすいのは確かだな・・・
標準パッケージですら手続き型みたいな書き方してるのばっかりだもの。
0467名無しさん@お腹いっぱい。2013/09/24(火) 17:17:38.06
そりゃ、elispは手続き型言語だから。
0468名無しさん@お腹いっぱい。2013/09/24(火) 18:15:53.93
日本語圏特化型ag -白金- の配備が完了しました - Thinking-megane
http://blog.monochromegane.com/blog/2013/09/23/sg-spec/
elispはまだ誰も公開していないけれどackやagよりもしっくりきそう
0469名無しさん@お腹いっぱい。2013/09/24(火) 18:55:19.69
大抵の処理はマクロとかで間に合うし
マクロじゃ手に負えないようなテキスト処理をelispで書くとか考えただけでゾッとするんだが
0470名無しさん@お腹いっぱい。2013/09/24(火) 19:07:01.27
>>468
スレチもたいがいにしとけよコノヤロウ
0471名無しさん@お腹いっぱい。2013/09/24(火) 19:43:18.48
マクロはマグロっぽくて臭い。
Elisp は Eclipse と名前かぶってるし……もうやだこの界隈。
0472名無しさん@お腹いっぱい。2013/09/24(火) 22:50:10.53
>>471
名前がかぶっている?
もしそうだとしてもお前が思っている名前だけだろ
0473名無しさん@お腹いっぱい。2013/09/24(火) 22:57:07.21
小学生並の柔軟な発想ですね
0474名無しさん@お腹いっぱい。2013/09/24(火) 23:52:23.90
>>462
lispじゃなきゃヤダ
0475名無しさん@お腹いっぱい。2013/09/25(水) 00:33:08.73
そもそも、*.elで機能追加するのとプラグインってなにが違うんだ?
プラグインの定義ってあったら教えてほしい。
0476名無しさん@お腹いっぱい。2013/09/25(水) 01:03:11.59
>>474
じゃあgeditだな
編集中のバッファの一部、もしくは全部を標準入力や標準出力にしてコマンドを実行できる機能があるから
お好みのLispが使えるぞ
0477名無しさん@お腹いっぱい。2013/09/25(水) 01:19:49.48
俺なんかは逆にEmacs使いたいけどelispは嫌いだから、できるだけshell-commandでやってるわ
0478名無しさん@お腹いっぱい。2013/09/25(水) 08:45:35.15
>>456

>通常のテキストファイルに elisp を付属させて、必要に応じて
>eval-last-sexp で簡単に処理したり

あー、これオレもよくやったわ。
シェルスクリプトだとどこに置いたかすぐに忘れてしまって、何ヶ月後かに似たようなことするときに探せないんだけど、
こうしとくと、その手のテキストを探すだけですむ。その場しのぎだとかなり該当率高いし。
0479名無しさん@お腹いっぱい。2013/09/25(水) 08:47:58.57
ニワカの{エディタ|言語|GUI|OS|自作マシン}談義ほどつまらんものはないわ
0480名無しさん@お腹いっぱい。2013/09/25(水) 08:56:45.98
>>477
人が作ったelispを使うだけなら、そんな感じなのも理解できまつ。

でも、ひとたび自分で elisp を書き出すとLisp脳で考えるのがフツーになって、シェルスクリプト書くのがめんどくなる。
末期的には、前に書いた elisp を find-file して、ちょこっと手直しして eval-buffer して終了、みたいなことが結構あるんだなこれが。
場合によってはキーボードマクロ使うより速いし。
0481名無しさん@お腹いっぱい。2013/09/25(水) 09:11:08.80
>前に書いた elisp を find-file して、ちょこっと手直しして eval-buffer して終了、みたいなことが結構あるんだなこれが。

そういうことすっからオレの.emacsが手の施しようのない魔境になっちゃってるんだろうがっ!TT
0482名無しさん@お腹いっぱい。2013/09/25(水) 13:18:14.51
よしよしここはおじさんが
0483名無しさん@お腹いっぱい。2013/09/25(水) 16:16:55.22
>>481
なんで.emacsが関係あるんだ?いみわからずー
0484名無しさん@お腹いっぱい。2013/09/25(水) 17:26:40.54
scratch バッファが一番使用率高くなってくる
0485名無しさん@お腹いっぱい。2013/09/25(水) 21:42:31.13
scratch バッファみたいに保存されないところに作業内容を記録する気にはならんな。
0486名無しさん@お腹いっぱい。2013/09/25(水) 21:47:56.56
保存されるようにすればいいのだ
0487名無しさん@お腹いっぱい。2013/09/25(水) 23:29:01.83
アイドル時に勝手に保存されるようにして再起動してもレジュームするようにしてるよ
しょうもない書き捨て .el ファイルが量産されなくなってすっきり
0488名無しさん@お腹いっぱい。2013/09/25(水) 23:41:03.31
保存したければscratch.elをひとつ作っておくのが筋ではなかろうか
保存されないのが*scratch*さんのいいところだろうに
0489名無しさん@お腹いっぱい。2013/09/26(木) 00:59:20.10
>>487
同じくです。
最初はそれ用の el を適当に拾ってきてそのまま使ってたんだけど
ある日突然 *scratch* がまっさらになって真っ青になったw
0490名無しさん@お腹いっぱい。2013/09/26(木) 08:30:24.97
>>487
できればそのelispを晒してほしいでごわす
0491名無しさん@お腹いっぱい。2013/09/26(木) 10:15:47.08
>>490
487じゃないけれど
でらうま倶楽部 : [Emacs]スクラッチバッファを自動保存したり行末コメントをまとめて削除したりな小粒マクロ集
http://blog.livedoor.jp/tek_nishi/archives/3714842.html
これとrun-with-idle-timerを組み合わせればできると思う
0492名無しさん@お腹いっぱい。2013/09/26(木) 11:53:06.25
そこまでelisp書く機会が思い付かない
ちょっとしたelispってどんなことをやってるのか教えてほしい
0493名無しさん@お腹いっぱい。2013/09/26(木) 12:12:49.99
>>490
はい
http://pastebin.com/y1cgxu7s

kill-buffer 出来なくしたり write-buffer した時に scratch バッファを再作成したりってのもどっかにおちてたけど
別名作ったり複数作ったりする時の完全なやり方が思いつかなかったからそっちは消しちゃった
0494名無しさん@お腹いっぱい。2013/09/26(木) 12:54:27.88
>>490です。

ありがとうございました。
何気に、util:aif マクロがいい感じです。

(if (buffer-file-name)
(find-file (buffer-file-name))
(message "このバッファはファイルじゃないでつ"))

とか頻繁に書いていたのですが、こういうマクロを書けばよかったんですね。勉強になりますた。
0495名無しさん@お腹いっぱい。2013/09/26(木) 13:51:39.03
マクロいうてるのがdefmacroの話してるんだかkbd-macroの話してるんだかもっと他の話してるんだかワカンネ
0496名無しさん@お腹いっぱい。2013/09/26(木) 15:24:17.52
>>494
aif は On Lisp に載ってるメジャーなマクロシリーズなのでこっちも読んでみてね!
http://www.asahi-net.or.jp/~kc7k-nd/onlispjhtml/anaphoricMacros.html
0497名無しさん@お腹いっぱい。2013/09/26(木) 16:12:57.48
>>496
なんと、元は On Lisp のアナフォリックマクロでしたか。

すっかり本棚の肥やしとなっていたので、この機会に読み直しまつ!
グレアム先生、野田先生、ごめんなさい。
0498名無しさん@お腹いっぱい。2013/09/26(木) 22:19:51.81
まだ現象の切り分けもしていないからクレクレ状態で済まないんだけれど、
auto-complete (今週頭にgithabからもらってきたもの) で、c++, cのファイルの末尾に、
ふと気が付くと改行が連続して入っているという現象について、なにか知っている人はいるかな

c/c++のファイルについては、セーブするときに行末の空白とファイル末尾の改行コードを
削除するようにしているから実用上は困ってないんだけど、結構気になるんで何か知っていたら教えてクレクレ

popupしたときに表示領域を確保するために改行コードを一時的につけているんじゃないかということは、
以前から使っているバージョンでも思ってはいる
0499名無しさん@お腹いっぱい。2013/09/27(金) 00:49:02.94
>>492
SJISのソースコードにUTF-8の文字列を書かなくちゃいけなくなった時に、
"日本語"ってソースに書いてリージョン選択してコマンド実行すると

static const char data[] = {
  0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0xac, 0xe8, 0xaa, 0x9e, 0x00
};
って変換するelispを書いた時はかなり役に立った。
0500名無しさん@お腹いっぱい。2013/09/27(金) 02:12:32.36
そのコード貼ってもええのんやねんでんで
0501名無しさん@お腹いっぱい。2013/09/27(金) 05:57:03.11
>>499
おいどんも、コードを貼ってくれることを
希望するでごわす。
■ このスレッドは過去ログ倉庫に格納されています