【GNU】Emacs Lisp 【Elisp】 (295レス)
1-

1: 2013/10/20(日)07:50 AAS
Emacs Lispのスレです。

- GNU Emacs Lisp Reference Manual
外部リンク[html]:www.gnu.org
- An Introduction to Programming in Emacs Lisp
外部リンク[html]:www.gnu.org
- Emacs Wiki の "EmacsLisp"
外部リンク:www.emacswiki.org
- GNU Emacs
外部リンク[html]:www.gnu.org
266: 2021/02/08(月)16:32 ID:FcZ190S6(1/3) AAS
日本語入力はもう諦めた
単にコードや英文に記号使いたいならdigraph覚えるのをオススメする
\C-c k D *で対応するギリシア文字?みたいな
dならδ、->で→、数学記号も不足なし
あとかなはkaでカナはNaだったり
国際規格があるので覚えとけば汎用性がある
(比べる訳じゃないが少なくともvimでは標準機能)

(global-set-key (kbd "C-c k")
(define-prefix-command 'alistから記号拾ってくる関数 ))

自分用elも転がってたけど網羅的でないかったので、ググって一番に出てくるvimヘルプのテーブルをコピペして整形した
省1
267: 2021/02/08(月)16:39 ID:FcZ190S6(2/3) AAS
ひらがなかたかなときごうとalphabetのぶんしょうなら、マップがローマ字にゅうりょくとたいおうしているので、いっそdefine-keyしてしまえばじっしつIMEいらずだぞ!
268: 2021/02/08(月)16:40 ID:FcZ190S6(3/3) AAS
字はうてなかった、かたておち…
まあ、げんきかくまではみてないのでもしかしたらかんじもあるかも
269: 2021/10/09(土)19:32 ID:KRzSwEb7(1) AAS
Bash on windows(Ubuntu)のemacs

Windows 10に
scoop install emacs
した環境

どっちも環境変数homeを見にいくのでciderがどっちかの環境で動いてくれない
270: 2023/01/30(月)07:49 ID:Va8OFUvh(1) AAS
ただ今制限を設けております
271: 2023/09/25(月)16:47 ID:Qn9WiVG4(1) AAS
こっちを再利用してください
272: 2023/10/13(金)13:14 ID:1CzMMp9Z(1) AAS
emacs lispでC++のコメントを削除(行コメント//だけを行ごと削除)する方法を教えてください
273: 2023/10/13(金)14:18 ID:oUGpYLYU(1/4) AAS
(defun comment-traversal (beg end func)
(save-excursion
(let (spt ept)
(goto-char beg)
(while (and (< (point) end)
(setq spt (comment-search-forward end t)))
(setq ept (progn
(goto-char spt)
(unless (or (comment-forward)
(eobp))
省3
274: 2023/10/13(金)14:19 ID:oUGpYLYU(2/4) AAS
(defun not-comment-traversal (beg end func)
(save-excursion
(let (spt
(ept (1- (goto-char beg))))
(while (and (< (point) end)
(setq spt (comment-search-forward end t)))
(funcall func (1+ ept) spt)
(setq ept (progn
(goto-char spt)
(unless (or (comment-forward)
省4
275: 2023/10/13(金)14:20 ID:oUGpYLYU(3/4) AAS
最初のはコメントを抜き出すコード
次のはコメント以外を抜き出すコード
バッファー内のコメントを消していくのは難易度が高い
コメント以外を出力してリダイレクトするのが簡単だろう
↓こんな感じ
(not-comment-traversal (point-min) (point-max)
(lambda (beg end)
(print (buffer-substring beg end))))
ちなみにコメントはEmacsが把握してるので、このコードは言語非依存だ
276: 2023/10/13(金)14:38 ID:rlk6vHPT(1) AAS
そういうつまらないものはchatgptに作らせればいい
277: 2023/10/13(金)16:01 ID:oUGpYLYU(4/4) AAS
Emacs Lispのコードなんてまともに学習できないよw
278
(1): 2023/10/13(金)16:08 ID:ugq7JLEK(1) AAS
うん、だから、ChatGPTはバカだな
こんなものに時間をそそいでいる人類はバカ
279: 2023/10/13(金)23:03 ID:9b0YvF5R(1) AAS
そういうのはキーボードマクロが向いている
//をインクリメントサーチして、c-a,c-k,c-k
で名前を付けて登録
登録したマクロを10000000回ぐらい実行すればいい
280: 2023/10/14(土)12:49 ID:x03gZ5vc(1) AAS
>>278
ほんそれ
281: 2023/10/15(日)11:32 ID:HSf5ScFa(1) AAS
ファイルの先頭に移動して
M-x flush-lines
を起動して
^//
を打ち込んだら消せました
282: 2023/10/15(日)15:15 ID:Z4N/9jbi(1) AAS
hoge(); // コメント
とか
/*
コメント
*/
は消せないじゃん
283
(1): 2023/11/11(土)20:06 ID:6Uwmj7p8(1/2) AAS
だからキーボードマクロを使えって

/*をインクリメントサーチ二文字戻って
マーク、*/をインクリメントサーチで探して
kill-region

これをキーボードマクロにして
何なら名前を付けて init.el に登録することもできる
284
(1): 2023/11/11(土)20:13 ID:6Uwmj7p8(2/2) AAS
具体的には

c-x(
esc<
c-s/*
c-@
c-s*/
c-w
c-x)

これでマクロ完成。名前を付けるには

M-x name-last-kbd-macro
省4
285: 2023/11/12(日)01:44 ID:IUEeiAD3(1/2) AAS
>>283
/* */と//の両方消せないじゃん
286: 2023/11/12(日)16:34 ID:pFykNXrS(1) AAS
別々に作って二回走査すればいいだけでは?
287: 2023/11/12(日)19:43 ID:IUEeiAD3(2/2) AAS
/* // */
は、先に // で消してしまうとおかしな事になるな
まぁ、先に/* */を消せばいいがな
それと、>>284のマクロはコメント1個しか消せないじゃん
全部消さないと
取り敢えずこれらを全部対応させたキーボードマクロを出さないと駄目
288: 2023/11/13(月)23:08 ID:Y+b0wq04(1) AAS
/* */を排除するマクロを100000回ぐらいやって
次に // を排除するマクロを1000000回ぐらい動かす
気持ち悪いかもしれないが目的は達せられる
289: 2023/11/18(土)15:57 ID:bNx8n+lD(1) AAS
インクリメントサーチが失敗するまで
無限ループで回すことはできるけどね
290: 2024/10/02(水)10:15 ID:XbzwGALZ(1) AAS
Blenderのpython→bpy
EmacsのLisp→elisp
ExcelのVB→VBAω
291
(1): 2024/10/20(日)10:23 ID:LzrvAVJD(1) AAS
むしろemacs以外の現役lispを知らん
292: 2024/10/30(水)03:02 ID:BzmMNap8(1/2) AAS
>>291
cl書いて食ってるんで異議を申し立てたいのは山々だが…まあうん落ち目すぎるね

rmsに信心示すんならならguileすげーぞ
もちelispもサポートしてる
lispyな言語(scheme, elisp, es)である限り、その全てを(適当な変換の後)共通IL通して共通エンジンで動かせる

gccもIL通してサポート多いじゃん!と思うかもしれんが、あれ全ての言語サポートする勢いで風呂敷拡げすぎてっるし、そもそもエンジンがlispyでないのでlisp系の性能は、まあ察してくれ
293: 2024/10/30(水)03:25 ID:BzmMNap8(2/2) AAS
そういや5年かそこら前にemacsのelisp処理系を既存のからguile(のelisp)に置き換えるってのやってた記憶あるけど結局ポシャったんかね?
一応おおむね成功はしたとか

まあemacsのelisp処理系も最近コンパイル出来るようになって性能上がったし、置き換える利点も減ったのかな?

とすればgnuで2つelisp処理系作ってる現状の不利は労力の無駄ってくらいか
294: 02/02(日)07:37 ID:gkY6KzeC(1) AAS
native-compile有効化してもバイトコンパイルの数倍しか速くならないし、Common Lispの10倍くらい遅いんだよな
最近だとCommon Lispで1から作られたLemというエディタがある
295: 02/02(日)15:53 ID:OcIEQytI(1) AAS
動的型はネイティブコンパイルしても2倍速になるかどうかだな
型推論を実装してからが本番だ
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.767s*