元スレEmacs Part 41
emacs覧 / PC版 /みんなの評価 :
252 = :
今更オブジェクト指向でドヤ顔するのがEmacsユーザなんですかぁ
253 = :
どこからネタなのか分からず混乱している。
254 = :
スレ違いがメソッド化されていない時点で
256 = :
まぁネタはこのくらいでやめとこう。
257 = :
(defmacro let1 (args &rest body)
`(let (,args) ,@body))
というマクロを書きました。これは
(let ((str "hoge"))
hoge
hoge)
を
(let1 (str "hoge")
hoge
hoge)
と書けるようにするものです。
うまく動くのですがインデントがletの場合と異なり
(let1 (str "hoge")
hoge
hoge)
となってしまいます。letの時の様なインデントがなされて欲しいのですが
オートインデントに情報を加えるにはどうすれば良いのでしょうか?
258 = :
半角スペースの置き換えを忘れてしまっていました。二重投稿失礼します。
(defmacro let1 (args &rest body)
`(let (,args) ,@body))
というマクロを書きました。これは
(let ((str "hoge"))
hoge
hoge)
を
(let1 (str "hoge")
hoge
hoge)
と書けるようにするものです。
うまく動くのですがインデントがletの場合と異なり
(let1 (str "hoge")
hoge
hoge)
となってしまいます。letの時の様なインデントがなされて欲しいのですが
オートインデントに情報を加えるにはどうすれば良いのでしょうか?
259 = :
>>258
http://d.hatena.ne.jp/zknx/20091205/1259982042
260 = :
>>259
即レス感謝です!結果
(defmacro let1 (args &rest body)
(declare (indent 1))
`(let (,args) ,@body))
で希望の動作をするようになりました。
indent 2や3にしてみると。あーこの挙動か、と楽しめました。
こんなお手軽な方法があったのですね。
ありがとうございました!
261 = :
かなりすごい!
http://blog.supermomonga.com/articles/emacs/my-imaginary-emacs-future.html
262 = :
eieioといえば他にもlunaとかいろいろオブジェクト指向化パッケージがあったような気がするんだけど
一向に普及しないね
264 = :
クロージャ入ったからeieioが書き直されるか
別で本命clos系パッケージが来るのを密かに待ってる
265 = :
>>261
書いてすらないものを宣伝しに来るとか
ゴミクズとしての第一歩を踏みだしちゃったな
266 = :
もう人生消したほうがいいレベル
267 = :
>>265
日本語でおk
268 = :
265+1 :名無しさん@お腹いっぱい。 [sage] :2012/10/01(月) 23:27:58.79
>>261
(実際にコードを)書いてすらないものを宣伝しに来るとか
ゴミクズとしての第一歩を踏みだしちゃったな
269 = :
そういえばいまのemacsの開発版ってブラウザ組み込めるんだっけ
markdownのレンダリング結果をemacsで綺麗に表示できたりすると夢がひろがりんぐ
271 = :
postgresがおまえのこと嫌いになったんだよ
それ以外に考えられない
272 = :
いや待て落ち着け
もしかしたらEmacsからも嫌われてるのでは?
273 = :
うーーーーん。違う環境ではできたんだよなぁ。。
sql-postgres で パスワードも聞かれたし、、
文字コードの問題かなぁ。。
274 = :
できたーーー。
windows localじゃあだめだけど
つなぎさきがlinux だったらできたーー
276 = :
ここはお前のスレじゃねーんだよ死ね
277 = :
>>269
xwidget のことなら開発版じゃなくて勝手に派生した版だったと思う
本家に組み込まれるかはかなり怪しげ。
JSとEmacsで実装されたHTTPDを組み合わせてブラウザにリロード無しでリアルタイムで
編集結果を表示し続けるパッケージは最近幾つかみたよ。
278 = :
/⌒⌒\
/ /ヽ ヽ
/ /__\ ヽ あー俺の環境と違うわー
/ / bb) | | ん?これ文字コードの問題じゃね?
<彡(リ > ソ ヽ てか、ウィンドウズだよ
≦イ  ̄ /\_≧ ウィンドウズのせいだったよ
`/ | ー イ\ (ッターーン!!!)
/ ヽ | ヽ
レ⌒\ \ / | |
\//  ̄ ̄ヽ |T ̄ ̄ ̄|
/////゙zノノU || |
// ヾ☆/ || | ̄| |
279 = :
>>277
emacsとnode.jsを使ってもできそうだが
誰か頼む
280 = :
MS公式が配布してるTypeScriptモードのスクリプト、Emacsだけやったらサイズ大きい(のわりに機能そんなにあるように見えない?)のは
ちょっと悲しいな。
281 = :
^Mが改行文字だとして
(replace-string "^M" "")
このelispは正常に動作するのですが、wikiなどにこれを投稿して表示すると^Mの部分で改行されてしまいます
可読性を考えて改行文字は文字として表示し、かつelispとして意図したとおりに動作させる手は無いかと思ったのですが
それらしい物を見つけることはできませんでした
何か策はあるでしょうか
282 = :
(replace-string "\r" "")とか(replace-string "\015" "")とか?
283 = :
>>282
ばっちりです!ありがとうございます。
284 = :
今更これ聞くのも恥ずかしいんですが…。
fooをbar置換しているときに、
foo1 // ここから
foo2
foo3 // ここまで置換したい
foo4 // ここにカーソル来て欲しくない
説明の都合上、矩形で処理できそうなならびになってますが、
実際は散らかっています。foo3の時yを押してfoo4に来ちゃう問題、みんなどうしてる?
285 = :
^
286 = :
>>284
narrow-to-regionしてから置換
287 = :
>>285
うはっwこれはww 即レスありがとうございます。重宝します。
>>286
勉強になります。これも役に立ちそうです。↓メモ。
C-x n n
Narrow down to between point and mark (narrow-to-region).
C-x n w
Widen to make the entire buffer accessible again (widen).
288 = :
対話的に置換するなら、(transient-mark-mode 1)を評価して
region範囲の表示を有効にしておくとnarrowingと同じ効果がある
あと、foo3でピリオドもある
289 = :
普通にfoo3で.押す!
290 = :
>>288
うおおお!!!
> (transient-mark-mode 1)
デフォでこれenabledにして使ってたんですが、
それにそんな効果が隠されていたとは知らなかったです。
> foo3でピリオド
これだ!! これかつ、ミスったときに^押せば完璧ですね。
皆さんのおかげで俺捗って仕方ありません。どうもありがとうございました。
291 = :
>>289
ありがとうございます!!
292 = :
ピリオドなんてあったのか・・知らんかった・・
なんか結構長いこと使ってるが、こういう知らないけど地味に便利なこと結構ありそうだなぁ
293 = :
>>289
"Period to replace one match and exit."
素晴らしい。。。
294 = :
別トピックだけどC-M-SPCのリージョン選択機能知った時は
思わず笑みがこぼれた
297 = :
(with-temp-buffer)によって作った作業用バッファの内容を
バッファ切り替えによって表示させるにはどうすればいいですか
今はscratchバッファで
(with-temp-buffer
(progn
...)
(write-region (point-min) (point-max) "c:/hoge.txt"))
これを実行して作業内容をc:/hoge.txtに置きそれを開いています
(princ (buffer-string))とするとscratchバッファにそれが追記されてしまいます
よろしくお願いします
298 = :
with-temp-bufferは作業用バッファを削除してから戻るから、そのバッファに切り替えるとかは無理じゃないの?
作業用バッファ作ってそこに何か出力してそれに切り替えるなら、
with-temp-bufferから適当に借用してこんな感じかね?
もっとちゃんとしたやり方がありそうだけど
(let ((nbf (generate-new-buffer "*MYTEMP*")))
(with-current-buffer nbf
(unwind-protect
(progn (insert-string "テスト"))
(pop-to-buffer nbf))))
299 = :
>>298
こういう手がありましたか。ありがとうございます。勉強になりました。
みんなの評価 :
類似してるかもしれないスレッド
- Emacs Part 40 (1001) - [92%] - 2012/9/7 0:30
- Emacs Part 47 (995) - [92%] - 2015/4/19 13:01
- Emacs Part 42 (1001) - [92%] - 2013/6/9 5:15 △
- Emacs Part 43 (1001) - [92%] - 2013/12/14 11:30
- Emacs Part 44 (1001) - [92%] - 2014/2/8 8:01 △
- Emacs Part 46 (984) - [92%] - 2014/12/24 14:15
- Emacs Part 45 (1001) - [92%] - 2014/6/23 9:45
- Emacs Part 48 (997) - [92%] - 2015/12/9 15:15
- Emacs Part 49 (974) - [92%] - 2016/12/7 9:45
- Emacs Part 51 (1005) - [92%] - 2020/3/26 18:30
- Emacs Part 31 (1001) - [92%] - 2009/10/23 10:31 ○
- Emacs Part 33 (1001) - [84%] - 2010/3/9 20:01 ○
- Emacs Part 53 (989) - [84%] - 2022/12/5 12:45
- Emacs Part 32 (1001) - [84%] - 2009/12/20 2:04 ○
トップメニューへ / →のくす牧場書庫について