Emacs Part 53
■ このスレッドは過去ログ倉庫に格納されています
nilはアトムを生じ、アトムはS式を生じ、S式は万物を生ず おまいらが初めてemacs触ったのいつよ?
おいらは若造で1996年にMachTen上で動いてた奴がたぶん最初かな?
MachTenは漢字Talk上で動くunix環境だよ! Yahoo shoppingだかなんだかで3'000円で買ったクソみたいなdual atom core pcでemacsとかvimぐらいしか十全に動かなかったのが2009年ぐらいの事か
最初はlubuntuにgtk-devが無いとかなんだかでかなり苦労した
最近goの開発環境をMacドナルドに店員とお友達になれるぐらいコーヒー一杯で長居してelispで組み上げたけど
やっぱvscodeには負けるよね〜(´・ω・`) DOS/V日本に入ってき始めた頃に学校のピラミッドとかいうよくわからないUNIX環境でirchatしたい一心で使ったemacs 90年代に大学のHP-UXでviの使いづらさにキレてemacs使い始めたな(唐突なviディスり)。 Windows98のノート機でcygwin環境作ってMeadow使ってたから、1999年あたりかな。 あまりに昔のことで思い出せない
おそらく97年頃Windows95でmuleだったと思うがなあ、その前があったような
1文字入力するたびに一瞬間があく異常な重さだった
けどemacsが使えてすごく嬉しかったのは覚えている 1992年に NEmacs が MS-DOS に移植されたとき。移植者が日本人だったおかげで
PC-9801 でも動いてくれた。まだ移植されていなかったEmacs-Lisp アプリケーションを
せっせと MS-DOS 用に書き換えたが、やはりそれは空しい作業だった。ほどなくして
PC UNIX に移住した。 DOS extender を利用して動く Demacs か。当時の Super ASCII に解説記事が
連載されていたっけ。 Linux入門書籍に付いてきたSlackwareをDOS/VマシンにインストールしてMuleを触ったのが最初だな
1993〜94頃だろう
その後はWindows3.1上で動く、BSD on Windows(BOW)でMuleを動かしたりしてた
95年だ
BOWは今で言うWSL1とやってることは全く一緒だが、95年に実現するとかマジ半端ねー技術力 自分もやっぱりPC98が最初だったのかなあ、思い出せない
Linuxの存在を知った時は本屋に行ってもまだ参考書がない時代だった 1994年、高校に、系列の大学のお下がりで導入されたオムロン Lunaに入っていたmule。
情報の授業でmhでクラスメート間で電子メールをおくってみたとかやった。 emacs使いに若者は居なそう。
初PC-UNIXは叩き売りで買ったソーテックのWinBook(486SX33Mhz)がWin3.1には重くて使えなくて
泣く泣く学校のネット環境でネットワークインストールしたFreeBSD2.0.1だった気がする 会社で若者も使ってるが
若者がここに来ないのだ
初emacsはjunetでnews見るために使った、かな いま日本で一番アツいEmacsコミュニティはVim-jpやで vimmerでずっとlisp書いてて今emacs移行頑張り中だけどちょっと物申したい
テクニックバイブルみたいな名前の本買ったら、今流行りのプラグイン100選!インストール方法書いて紙面終わりみたいなクソの中のクソ、コンピュータ関連本でこれ以上のクソは見た事ナイホドクソ
しかもコマンドリマップか数行のスクリプトで済むよね?みたいなのばっかりでバイブルとな
vimサポーターズなる者が書いてるけど検索するとvim-jpとほぼ被ってるな
日本のvim界隈は奇怪なvimscriptで無駄にニッチなプラグイン作ったった=スゴイみたいなくせー奴ばっかで嫌になる
vim自体は良いものだけどemacsに浮気します 「Emacs のテクニカルバイブル」なのか「Emacs Lisp のテクニカルバイブル」なのか「Vim のテクニカルバイブル」なのか
まあ文脈的に言って「Vim のテクニカルバイブル」のことだろうけど
Vim 本は「実践 Vim」くらいしか面白いの知らないな
その「実践 Vim」も続編は面白くない
個人的には、
「Emacs テクニカルバイブル」は anything.el (helm の前身) の話が載ってて歴史の本として面白い
「Emacs Lisp のテクニカルバイブル」もそんなに多くない Emacs Lisp 本だし価値が高い
と思ってる >>24
それLISP版の方買わんと真価発揮せんやつ
今までlisp使ってたのならelispとの溝を埋められる emacsテクニカルバイブルなるものがあるの知らんかったごめん
lisperとしてはぜひ買いたい
有益な情報ありがと Vim は「今どきどのエディタや IDE でも Vim のキーバインドをサポートしてるから」という理由で、「Emacs は Lisp と同じかそれ以上の拡張性を持ったエディタが出てきてるから」という理由で、最近は厳しいね
個人的には LSP はそんなに良いものだろうかという疑問があるが >>28
名前が似てることすら失礼なクソ本だよ(vim~の方)
vimscriptは一行も出てこない、操作については簡易チートシート数ページ
あ、PluginInstallくらいは出てくるわすまん emacslispテクニックバイブル、訳書じゃないんだね、珍しい
著者名がなんか怪しいけど…
>前作『Emacsテクニックバイブル』は,自分でEmacs Lispを書くわけではなく,すでに用意されているEmacs Lispを知ってもらい,そのまま組み込むことで,自分の環境がより便利になる本をめざしました.便利さを知ると既存のLispをカスタマイズしたり,自分でanything.elなどに組み込んで使いたいという欲が出てきます.そこで初心者にも理解できるようEmacs Lispの基礎から丁寧に解説します.
こういうのでいいんだよと思ったのでポチりました
表紙に見覚えがあるので確認したらvimテクニックバイブルも技術評論社で同じシリーズっぽいです
引用の前著のemacs テクニックバイブルにあたるのがvimテクニックバイブルかもしれませんね
もしかしてと、vimscriptテクニックバイブルを調べたら、在りました…
こっちが欲しかった奴だ
高いしemacs優先なので今回は見送りますが、ちょっと貶し過ぎたvimサポさんごめん なんていうか、なんでこんなに偉そうなんだろう
そもそもこのスレでVim本貶してるのがおかしいし、書評するにもサーベイが全く足りてないし 関係ないけど
書評見る限りそんな中身っぽいし、とてもテクニックバイブルと名乗れるようなものでは無さそうだな つかさ、Emacsテクニックバイブルって、るびきちのやつでしょ?
このスレでるびきち知らないやつがいるの? るびきちは、去年の4月にメルマガで倒れてましたとの報があって、次の週にしばらく休みますとあってから音沙汰無いな
表に出ないだけで無事なのかよく分からんな org-modeでリンクをC-c oで開く際に
ブラウザとしてemacs内で動いているw3mを使用したい思っています
以下のページによるとBROWSER環境変数で設定できるようなので
https://yutarine.blogspot.com/2016/11/org-modehtmlfirefoxchrome.html
export BROWSER=/usr/bin/w3m と設定しC-c oすると何も表示されません
ps するとw3mのプロセスは走っているようです
何かうまい方法はないですかね? >>43
$ xterm -e '/usr/bin/w3m URL'
このxtermの部分が既存のemacs(org-modeを走らせている自分自身)だと便利なのですが とりあえずは以下のように外部のスクリプトを経由させました
ダサいですが
$ export | grep BROWSER
declare -x BROWSER="/home/hoge/bin/w3m_on_emacs"
$ cat /home/hoge/bin/w3m_on_emacs
#!/bin/sh
set -e
EXPRESSION='(w3m-browse-url "'"$@"'")'
emacsclient -c -e "$EXPRESSION"
exit >>36
?ここ数年で使い始めたら知らんでも不思議はないだろう… (with-eval-after-load 'browse-url
(setq browse-url-browser-function #'eww-browse-url))
わしは eww 使うてるけど w3m にしたらええんちゃうかな
GNU Emacs 28.0.50 (build 1, aarch64-apple-darwin20.5.0, NS appkit-2022.50 ... 最初に使ったのは、確か1989年
Sunのworkstation上だったような気がする
wnnとeggが動いていたので
日本語入力は困っていたなかった気がする 岩波が粋がって「入門Wnn」だの「入門Scheme」だのとか出してたな。 >>47
有難うございます
org-open-at-point (C-c C-o) には影響与えないようです >>8
9801のMS-DOS上で、DOS-Extenderで使ったのが最初かな。
1990年ごろか。その後FreeBSD(98)でも使ってたけど。 >>47
(add-to-list 'org-file-apps '("\\.x?html?\\'" . (lambda (file url) (w3m-find-file url))))
でできました URI の頭が file: の html ファイルを開きたかったんやな
org-file-apps マッチが default やと org-file-apps-macos で open コマンド呼んでサファリが開くか
わしの設定は http: しか通用せんな
勉強になったわ >>61
なんか知ってるのか?
明後日ってどういう事? >>62
スピリチャルでオーラな世界に行ってしまわれた。 などとくそ以下が申しておりまして
いやはや、はは・・ anything.elは別の人から引き継いだものだけど、引き継ぐ前はどんな状態だったかは分からない
けど、anything.elを流行らしたのはるびきちだと思うよ sbcl使いたくなってslime をemacs にぶっこんでみたけど何だこれ意味不明に長いショートカットキーまみれだしこれよーわからんな
てかsbclのdescrive-functionのドキュメントなにこれ全く意味わからん記号の羅列やん
elispのドキュメント見習ってくれよ(´・ω・`) >>69
何がしたいか分からんけど、slime使えばコード補完とか出来るし、それだけで十分便利だと思うけどね 最近出たlispのdata structure本を読みたいだけだからそんな大層なもんは要らんのだけどな
確かにこのfuzzy completionだかめっちゃいいなこれ
(define-key slime-mode-nanntoka-indirect "\C-\M-i" (lambda nil (interactive) (let ((targ-buf (get-buffer "*Fuzzy Copletions*"))) (slime-fuzzy-completion) (when (buffer-live-p targ-buf) (swich-to-buffer-other-window targ-buf)))))))
とかやるとC-M-iで保管できるother windowから候補選択すると何故か余分な改行挟まれるのが難点だなこれ
この候補開いたときC-nとC-pオーヴァーライドして他のぶっファースライドさせるやり方はかなりオシャンティーポイントだわ何かの際にパクろ(´・ω・`) blog.tomoya.dev/posts/a-new-wave-has-arrived-at-emacs/
いろいろあるもんだなあ あるパッケージの中に、ユーザーが自由に変えれる想定のリスト hoge が以下のように定義されてるとします
(defcustom hoge '("for" "bar"))
hoge に "baz" を追加したいときはどう書いたら良いんでしょうか
(custom-set-variables '(hoge '(ここの書き方が分かりません))) (custom-set-variables '(hoge (append hoge '("baz")))) custom-set-variables を使わなくても (nconc hoge '("baz")) で良い様な >>76-77
ありがとうございます
defcustom された変数を変えるときは custom-set-variables を使うべしという説明をいろんなところで読んで、そういうものだと思っていました カスタマイズ変数は、設定されたときに何らかの処理を実行する場合が有るけど、setq等で単に設定した場合はそれが動かないので、不具合が生じる可能性があるかなと >>79
ゆえに custom-set-variables で設定したほうが良いってことですか? 質問。
新しいバージョンでは、(nconc auto-mode-alist '("..." . "..."))がAttempt to modify read-only objectのエラーが出るようになりました。
調べてみると、jka-compr-mode-alist-additionsが末尾になったからだと把握。
なるほど。
で、ここからが質問。
ユーザーが変数をread-only objectにするためにはどうすればいいのでしょうか?
また、あるオブジェクトがread-onlyかどうかを調べるにはどうすれば?
jka-cmpr-hook.elで実装されてるみたいだからざっと読んでみたけど、まったくわからんかった。。。(´・ω・`)? >>81
「pure storage」に格納されているオブジェクトを変更しようとした場合にそのエラーが出るみたい
ただしpurecopy函数(オブジェクトを pure storage にコピーして返す)は
「Emacsのビルド中とダンプ中を除き何もしない」
https://ayatakesi.github.io/lispref/27.2/html/Pure-Storage.html
https://emacs.stackexchange.com/questions/2364/what-is-the-function-purecopy-needed-for/2365
あるオブジェクトが pure storage に置かれたものか否か調べるLisp函数もなさげ
ということで質問の答えはどちらも「できない」ですね >>82
ありがとうございます。
だいたい把握。
> ただしpurecopy函数(オブジェクトを pure storage にコピーして返す)は
> 「Emacsのビルド中とダンプ中を除き何もしない」
jka-cmpr-hook.elをまねて、purecopyを試してみたりしたけど、うまくいかないのはそういうことか。。。
describe-functionは読んでたけど、そういう説明はないんですよね。
# Stack Exchangeの質問者も、それでひっかかったんやろなあ。
> あるオブジェクトが pure storage に置かれたものか否か調べるLisp函数もなさげ
読み取り専用のためではなく、特殊な最適化が目的のようなので、真っ当なサポートもしてないんでしょうな。 この低調さは
廃れているのか? 定着、安定して問題、話題が無いのか? VSCodeがある今、ライトなEmacsユーザはVSCodeに移っていくだろうね 本当は、LSPのおかげでVSCodeの資産をEmacsでも使えるようになったから、Emacsを離れる必要は全くないのにね
逆にEmacs (Lisp)の資産を他に持ってくのは難しいわけだし エディタをプログラム書くためだけの道具、と考えるならそれもあるかもしれんけど。
そもそもそんなんで移るようなやつがこんな板に来るかなあ?w 先日話題となったサクラエディタとは全然違う。Emacs減ってるなぁ。
https://job-draft.jp/articles/524 仕事のマシンにそもそもemacsが入ってない、というパターンはあるかな。
vi系が入らないことはまずないだろうが、emacsまではね。
となると、新人教育の手間などを考えてVSCodeってのはあるのかな。
emacsの方が後々絶対に恩恵でかいのは間違いないけど、自分が教育係になった場合で考えても、習得できる見込がないやつにはそもそも勧められないしね… いや、習得っつーか、node.jsで拡張できるVSCodeが良いかlispで拡張できるEmacsが良いかは完全に好みでしょ
この点に関してどっちが優れてるってのは絶対にない
強いて言えばEmacsは歴史が長い分いろんな神LISPがあるが、Emacsの方が恩恵がデカいとは必ずしも言えない
自分は好きだからEmacs一筋だけどね >>90
いや、好みではない。
今さらLisp方言なんかダメ。
JavaScriptがいいとは思わんけど、全然マシ。 慣れてるからemacs使ってるけど、emacsじゃないと絶対できないことなんてないし、今更人に勧めようなんて気はさらさらおきないかな〜 最近はVSCodeにEmacsキーバインドの設定してEmacsとどちらも使うようにしてみている。
でもEmacsのDiredによるファイル操作やhelmなどの検索機能はVSCodeで置き換えるものがないんだよなぁ。 vscordeはお手軽、実用的ですぐ使えるプラグインが充実してるのが大きいな。
libraryの不備でpythonに押されていったrubyのように見える。 >>90
いや、それは少し論点がずれてる。
自分の書きかたもまずかったが、どちらが優れているから、という話ではなくて、
emacsの良さを実感できるようになるまでの習得のコストがかなりかかるから、
単純にプログラム書ければいい的な発想でいくなら、VSCodeを使わせる、という
話になるだろうってこと。
あと、ぶっちゃけていえば、JavaScriptの方がemacs lispよりいいとかって話も
いささか馬鹿げてると思う。
エディタの拡張言語なんて汎用言語と100%互換性があるべき理由なんてほとんど
ないし(まあ、汎用言語と完全同一だったら楽だって話はあるだろうけど、エディタ
の拡張として適切なものと考えていく限り、必ず乖離は起きるというか起きなく
ちゃならんでしょう)node.jsにしても、vscodeにしても、いつまであるかわかんないでしょう。
大体において、eclipseが出たときにも同じような話あったしw >>95
あとちょっと補足。
単純にプログラム書ければいい発想だとvscodeになるのは、
とりあえず、プログラム書けるところまで持っていくのに
覚えなくちゃいけないことが多々ある、ってこと。
(C-x C-bでバッファ一覧開いて、とかってところね、つまりw)
これは、そもそもemacsがウィンドウシステムなんてまだ
一般的ではない時代に作られた、またコンソールで使えなければ
ならないということに起因していて
今となっては如何ともしがたい点ではある。 VSCodeはマイクロソフトが関わってるから長続きしそうだけど拡張機能にメーラーとか無いのよね >>97
是非作って欲しい。
Wanderlustみたいな人気の定番になると良いね。 ctrl-hでヘルプをデフォにするのはやめて欲しい >>95
ずれてると言ってる内容が、世の一般からずれてるな。w
Lisp方言なんかダメ(2回目)。
他から優れてるわけでもない、記法としてマイナー、わかりやすくもない、といいとこがほとんどない。
JavaScriptと争える立場には全然ない。 ■ このスレッドは過去ログ倉庫に格納されています