のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,683,035人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレEmacs Part 41

emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
251 : 名無しさん@お腹 - 2012/10/01(月) 10:44:00.50 (-2,-25,-13)
オブジェクト化wwww
252 : 名無しさん@お腹 - 2012/10/01(月) 10:51:08.37 (+56,+28,-25)
今更オブジェクト指向でドヤ顔するのがEmacsユーザなんですかぁ
253 : 名無しさん@お腹 - 2012/10/01(月) 11:17:04.36 (+57,+29,-2)
どこからネタなのか分からず混乱している。
254 : 名無しさん@お腹 - 2012/10/01(月) 11:19:32.04 (+55,+27,-13)
スレ違いがメソッド化されていない時点で
255 : 名無しさん@お腹 - 2012/10/01(月) 11:20:37.12 (+0,-28,-1)
emacsスレなんだからeieioで書いて欲しかった
256 : 名無しさん@お腹 - 2012/10/01(月) 11:22:10.96 (+52,+29,-3)
まぁネタはこのくらいでやめとこう。
257 : 名無しさん@お腹 - 2012/10/01(月) 16:07:51.14 (+3,-30,-132)
(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 : 名無しさん@お腹 - 2012/10/01(月) 16:09:24.75 (+41,-30,-143)
半角スペースの置き換えを忘れてしまっていました。二重投稿失礼します。

(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 : 名無しさん@お腹 - 2012/10/01(月) 16:16:42.13 (+58,+30,+0)
260 : 258 - 2012/10/01(月) 16:25:01.12 (+10,-30,-86)
>>259
即レス感謝です!結果
(defmacro let1 (args &rest body)
(declare (indent 1))
`(let (,args) ,@body))

で希望の動作をするようになりました。
indent 2や3にしてみると。あーこの挙動か、と楽しめました。
こんなお手軽な方法があったのですね。
ありがとうございました!
261 : 名無しさん@お腹 - 2012/10/01(月) 19:32:38.49 (+80,+21,+0)
262 : 名無しさん@お腹 - 2012/10/01(月) 20:36:01.76 (+2,-29,-35)
eieioといえば他にもlunaとかいろいろオブジェクト指向化パッケージがあったような気がするんだけど
一向に普及しないね
263 : 名無しさん@お腹 - 2012/10/01(月) 22:00:31.26 (-1,-29,-8)
>>262
lunaってw3m shimbun くらいしか使われてないのかな。
情報を調べようと思っていつも苦労する。
264 : 名無しさん@お腹 - 2012/10/01(月) 22:31:03.86 (+52,+24,-24)
クロージャ入ったからeieioが書き直されるか
別で本命clos系パッケージが来るのを密かに待ってる
265 : 名無しさん@お腹 - 2012/10/01(月) 23:27:58.79 (+87,+29,-22)
>>261
書いてすらないものを宣伝しに来るとか
ゴミクズとしての第一歩を踏みだしちゃったな
266 : 名無しさん@お腹 - 2012/10/01(月) 23:32:26.22 (+52,+29,+0)
もう人生消したほうがいいレベル
267 : 名無しさん@お腹 - 2012/10/02(火) 00:21:10.55 (+41,+6,+1)
>>265
日本語でおk
268 : 名無しさん@お腹 - 2012/10/02(火) 00:22:46.53 (+13,-30,-49)
265+1 :名無しさん@お腹いっぱい。 [sage] :2012/10/01(月) 23:27:58.79
>>261
(実際にコードを)書いてすらないものを宣伝しに来るとか
ゴミクズとしての第一歩を踏みだしちゃったな
269 : 名無しさん@お腹 - 2012/10/02(火) 00:28:19.37 (+63,+29,-40)
そういえばいまのemacsの開発版ってブラウザ組み込めるんだっけ
markdownのレンダリング結果をemacsで綺麗に表示できたりすると夢がひろがりんぐ
270 : 名無しさん@お腹 - 2012/10/02(火) 01:01:14.91 (-1,-29,-35)
emacs24 で windows postgres9.2に

つながらない、、パスワードも聞かれんし どうなってるん?
271 : 名無しさん@お腹 - 2012/10/02(火) 01:08:53.57 (+57,+29,-14)
postgresがおまえのこと嫌いになったんだよ
それ以外に考えられない
272 : 名無しさん@お腹 - 2012/10/02(火) 01:10:25.42 (+57,+29,-6)
いや待て落ち着け
もしかしたらEmacsからも嫌われてるのでは?
273 : 名無しさん@お腹 - 2012/10/02(火) 01:22:08.68 (+4,-23,-36)
うーーーーん。違う環境ではできたんだよなぁ。。

sql-postgres で パスワードも聞かれたし、、
文字コードの問題かなぁ。。
274 : 名無しさん@お腹 - 2012/10/02(火) 02:32:12.93 (+57,+29,-5)
できたーーー。
windows localじゃあだめだけど

つなぎさきがlinux だったらできたーー 
275 : 名無しさん@お腹 - 2012/10/02(火) 02:50:21.83 (+0,-28,+0)
passwordを返すやり方が難しいな。。
276 : 名無しさん@お腹 - 2012/10/02(火) 04:01:27.19 (+52,+29,+0)
ここはお前のスレじゃねーんだよ死ね
277 : 名無しさん@お腹 - 2012/10/02(火) 08:44:24.48 (+15,-29,-58)
>>269
xwidget のことなら開発版じゃなくて勝手に派生した版だったと思う
本家に組み込まれるかはかなり怪しげ。

JSとEmacsで実装されたHTTPDを組み合わせてブラウザにリロード無しでリアルタイムで
編集結果を表示し続けるパッケージは最近幾つかみたよ。
278 : 名無しさん@お腹 - 2012/10/02(火) 17:03:31.41 (+3,-30,-61)
   /⌒⌒\
   / /ヽ ヽ
  / /__\ ヽ  あー俺の環境と違うわー
 / / bb) | |   ん?これ文字コードの問題じゃね?
<彡(リ  >  ソ ヽ  てか、ウィンドウズだよ
 ≦イ   ̄ /\_≧  ウィンドウズのせいだったよ
`/ |  ー イ\     (ッターーン!!!)
/  ヽ   | ヽ
レ⌒\ \  / | |
\//  ̄ ̄ヽ |T ̄ ̄ ̄|
/////゙zノノU ||   |
 // ヾ☆/ || | ̄| |
279 : 名無しさん@お腹 - 2012/10/02(火) 21:42:54.85 (+0,-29,-3)
>>277
emacsとnode.jsを使ってもできそうだが
誰か頼む
280 : 名無しさん@お腹 - 2012/10/03(水) 09:05:56.80 (+55,+27,-14)
MS公式が配布してるTypeScriptモードのスクリプト、Emacsだけやったらサイズ大きい(のわりに機能そんなにあるように見えない?)のは
ちょっと悲しいな。
281 : 名無しさん@お腹 - 2012/10/06(土) 00:46:18.24 (+3,-30,-71)
^Mが改行文字だとして
(replace-string "^M" "")
このelispは正常に動作するのですが、wikiなどにこれを投稿して表示すると^Mの部分で改行されてしまいます
可読性を考えて改行文字は文字として表示し、かつelispとして意図したとおりに動作させる手は無いかと思ったのですが
それらしい物を見つけることはできませんでした
何か策はあるでしょうか
282 : 名無しさん@お腹 - 2012/10/06(土) 00:57:16.63 (+31,-30,-17)
(replace-string "\r" "")とか(replace-string "\015" "")とか?
283 : 名無しさん@お腹 - 2012/10/06(土) 01:21:32.07 (+61,+29,+1)
>>282
ばっちりです!ありがとうございます。
284 : 名無しさん@お腹 - 2012/10/06(土) 12:03:55.31 (+7,-29,-73)
今更これ聞くのも恥ずかしいんですが…。
fooをbar置換しているときに、
foo1 // ここから
foo2
foo3 // ここまで置換したい
foo4 // ここにカーソル来て欲しくない

説明の都合上、矩形で処理できそうなならびになってますが、
実際は散らかっています。foo3の時yを押してfoo4に来ちゃう問題、みんなどうしてる?
285 : 名無しさん@お腹 - 2012/10/06(土) 12:25:45.77 (+31,+7,+0)
^
286 : 名無しさん@お腹 - 2012/10/06(土) 12:27:21.74 (+6,-29,-3)
>>284
narrow-to-regionしてから置換
287 : 名無しさん@お腹 - 2012/10/06(土) 13:22:38.57 (+6,-30,-56)
>>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 : 名無しさん@お腹 - 2012/10/06(土) 17:21:06.01 (+4,-30,-45)
対話的に置換するなら、(transient-mark-mode 1)を評価して
region範囲の表示を有効にしておくとnarrowingと同じ効果がある
あと、foo3でピリオドもある
289 : 名無しさん@お腹 - 2012/10/06(土) 17:41:19.61 (+23,-28,+0)
普通にfoo3で.押す!
290 : 名無しさん@お腹 - 2012/10/06(土) 17:47:33.22 (+3,-29,-25)
>>288
うおおお!!!

> (transient-mark-mode 1)

デフォでこれenabledにして使ってたんですが、
それにそんな効果が隠されていたとは知らなかったです。

> foo3でピリオド

これだ!! これかつ、ミスったときに^押せば完璧ですね。
皆さんのおかげで俺捗って仕方ありません。どうもありがとうございました。
291 : 名無しさん@お腹 - 2012/10/06(土) 17:48:28.55 (+42,+12,+2)
>>289
ありがとうございます!!
292 : 名無しさん@お腹 - 2012/10/06(土) 19:08:35.71 (+57,+29,-20)
ピリオドなんてあったのか・・知らんかった・・
なんか結構長いこと使ってるが、こういう知らないけど地味に便利なこと結構ありそうだなぁ
293 : 名無しさん@お腹 - 2012/10/06(土) 19:45:05.29 (+1,-29,-1)
>>289
"Period to replace one match and exit."

素晴らしい。。。
294 : 名無しさん@お腹 - 2012/10/06(土) 19:46:26.22 (+0,-27,-19)
別トピックだけどC-M-SPCのリージョン選択機能知った時は
思わず笑みがこぼれた
295 : 名無しさん@お腹 - 2012/10/06(土) 20:34:02.35 (-1,-29,-4)
C-M-SPCのリージョン選択機能kwsk
296 : 名無しさん@お腹 - 2012/10/06(土) 21:17:50.38 (-2,-30,-24)
 (+ 1 8)で

ここにカーソル持ってきてC-M-SPC押すと)までが選択されるってやつだな。
あんま使ってないけど。

F1 k C-M-SPCでヘルプ見れるぜ。
297 : 名無しさん@お腹 - 2012/10/06(土) 21:17:52.24 (+7,-30,-117)
(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 : 名無しさん@お腹 - 2012/10/06(土) 22:19:57.43 (+36,-30,-127)
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 : 名無しさん@お腹 - 2012/10/06(土) 22:54:05.70 (+62,+29,-1)
>>298
こういう手がありましたか。ありがとうございます。勉強になりました。
300 : 名無しさん@お腹 - 2012/10/07(日) 06:39:29.58 (-1,-30,-52)
>>297

(with-temp-buffer
(insert "dddd")
(switch-to-buffer (current-buffer))
(sit-for 5))

ってこと?
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について