Emacs Part 39
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2011/11/29(火) 17:50:44.24Emacs Part 38
http://hibari.2ch.net/test/read.cgi/unix/1308635178/
0649名無しさん@お腹いっぱい。
2012/01/10(火) 15:34:21.26MSなんか公式でCTRL<=>CAPS逆にするドライバ配布してるし。
これも呪いの一つだとは思う。
0650名無しさん@お腹いっぱい。
2012/01/10(火) 17:29:15.59(string-match (migemo-get-pattern "popw") "popwin")
ここまでは大丈夫なのに。
(string-match (migemo-get-pattern "pop") "popwin")
0651名無しさん@お腹いっぱい。
2012/01/10(火) 17:37:09.14キャッシュがぶっ壊れていただけだった。
0652名無しさん@お腹いっぱい。
2012/01/10(火) 18:44:24.40MSのドライバ配布なんて聞いたことがなかったから調べてみた
http://www.atmarkit.co.jp/fwin2k/win2ktips/1182ctrl2cap/ctrl2cap.html
ふむふむこれか。楽ちんなツールもあるもんだな
0654名無しさん@お腹いっぱい。
2012/01/10(火) 19:51:36.16ちょっと同僚が叩いた時とかに面倒がなくていいわ
0655名無しさん@お腹いっぱい。
2012/01/11(水) 00:27:15.52ttp://savannah.gnu.org/projects/emacs/
ここに書いてあるとおり
bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk
としても、メールで[Emacs-diffs]が届いた時点のソースが取得出来ない。
その後、bzr updateしても一向に更新されないし、bzrよーわからん。
そもそも、bzr branchが異様に時間が掛かるし、bzr腐ってる。
0656名無しさん@お腹いっぱい。
2012/01/11(水) 00:32:21.68https://github.com/emacsmirror/emacs
>A Mirror of the Emacs Bazaar repository ― Read more
>http://www.emacswiki.org/emacs/EmacsFromGit
0657名無しさん@お腹いっぱい。
2012/01/11(水) 01:05:13.240658名無しさん@お腹いっぱい。
2012/01/11(水) 08:32:51.990659名無しさん@お腹いっぱい。
2012/01/11(水) 10:21:02.180660名無しさん@お腹いっぱい。
2012/01/11(水) 12:14:29.240661名無しさん@お腹いっぱい。
2012/01/11(水) 12:40:39.01カーソル位置にある文字とその一つ前の文字を取得する関数はありますか?
取得した文字によって処理を分岐させたいのですが方法が分かりません
0662名無しさん@お腹いっぱい。
2012/01/11(水) 12:56:44.81が似たようなことをやっている。
0663名無しさん@お腹いっぱい。
2012/01/11(水) 13:01:57.880664名無しさん@お腹いっぱい。
2012/01/11(水) 13:08:21.16ありがとうございます
0665名無しさん@お腹いっぱい。
2012/01/11(水) 13:49:11.90いや、普通に残ってる。
w3 っていつの間に消えてたんだろう・・・
0666名無しさん@お腹いっぱい。
2012/01/11(水) 16:05:23.89開く方法無いですか?
やりたいことは,*scratch*バッファの内容を復元することではなく
メモ用のバッファを作ることなのですが・・・
0667名無しさん@お腹いっぱい。
2012/01/11(水) 16:09:05.64http://www.bookshelf.jp/soft/meadow_29.html#SEC392
とかを参考に。
0668名無しさん@お腹いっぱい。
2012/01/11(水) 16:10:02.14お好みで initial-major-mode にしてあるメジャーモードにすればいい。
scratch の内容保存系の lisp おいてるところよく見ると
消せないようにするだけの設定が抜き出せるからそれ参考にしてみれば?
0669名無しさん@お腹いっぱい。
2012/01/11(水) 16:10:06.91http://www.bookshelf.jp/soft/meadow_11.html#SEC75
つーかこっちか。
モード設定は勝手にやってくれるかも。
0670名無しさん@お腹いっぱい。
2012/01/11(水) 16:36:53.69しばらくC-x b *scratch* を使ってみることにします.
ありがとうございます.
0671名無しさん@お腹いっぱい。
2012/01/11(水) 19:20:52.27C-u C-x a l
0672名無しさん@お腹いっぱい。
2012/01/11(水) 21:05:05.68abbrev まともにつかったことないな・・・
0673名無しさん@お腹いっぱい。
2012/01/11(水) 21:43:02.80あのわけわからん世界に繋がりつつあるんだと思うとちょっとうれしい
0674名無しさん@お腹いっぱい。
2012/01/11(水) 21:56:17.64ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。
( "hoge$@$$@hage" なんかは "hoge $ hage"になる)
こういうエスケープ文字を含む置換は一回の置換で済ますのは難しいでしょうか?
0675名無しさん@お腹いっぱい。
2012/01/11(水) 22:18:20.68> ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。
だと
"hoge$@$$@hage" -> "hoge $$ hage"
にならないといけないような。
とりあえず
(replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1 " "hoge$@$$@hage")
-> "hoge $ hage"
となる。
0676名無しさん@お腹いっぱい。
2012/01/11(水) 22:40:32.37ああっ・・・すみません、"hoge$@$$@hage" は "hoge $$ hage" でした。
なるほど、直前の $ があれば保存するって書き方も出来るんですね。
もう少し考えてみます。ありがとうございます。
0677名無しさん@お腹いっぱい。
2012/01/11(水) 22:44:05.81下手糞だけれど、
(replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1\\1 " "hoge$@$$@hage")
0678名無しさん@お腹いっぱい。
2012/01/11(水) 22:57:17.40$$ の場合、前の$を2つおいちゃうわけですね
ただその場合 "hoge$$hage" が "hoge$$ hage" になってしまいます
ううむ・・・
0679名無しさん@お腹いっぱい。
2012/01/12(木) 08:16:55.07mamalade 追加したら予想してたよりしっかり登録されてて感心した。
0680名無しさん@お腹いっぱい。
2012/01/12(木) 09:45:12.560681名無しさん@お腹いっぱい。
2012/01/12(木) 09:57:57.84これ最強な
0682名無しさん@お腹いっぱい。
2012/01/12(木) 10:00:49.740683名無しさん@お腹いっぱい。
2012/01/12(木) 10:23:06.460684名無しさん@お腹いっぱい。
2012/01/12(木) 11:34:39.880685名無しさん@お腹いっぱい。
2012/01/12(木) 18:37:38.11全部の let が文脈依存になるのかよ・・・
使いづれえ
0686名無しさん@お腹いっぱい。
2012/01/13(金) 07:43:15.330687名無しさん@お腹いっぱい。
2012/01/13(金) 10:28:58.270688名無しさん@お腹いっぱい。
2012/01/13(金) 10:35:18.210689名無しさん@お腹いっぱい。
2012/01/13(金) 10:41:53.08;; 今まで
(setq a 100)
(defun foo () (message "%d" a))
(progn (let ((a 200)) (foo)) (foo))
=> 200 100
;; lex bind
(setq lexical-binding t)
(setq a 100)
(defun foo () (message "%d" a))
(progn (let ((a 200)) (foo)) (foo))
=> 100 100
ただし、a が defvar で宣言されている場合は lexical-binding を t にしてても強制的に
dynamical binding (ようするに今までのと同じ)になる。
だから基本的には置き換えしてもそんなに影響はでないはず。
0690名無しさん@お腹いっぱい。
2012/01/13(金) 10:51:34.62バッファ内の未評価の defvar とかが評価結果に含まれててなんかすごく気持ち悪いけど。
0691名無しさん@お腹いっぱい。
2012/01/13(金) 10:57:03.630692名無しさん@お腹いっぱい。
2012/01/13(金) 11:06:45.92どっかで defvar してるシンボル名とバッティングしないような名前を使わなきゃいけないところは
変わらんってことか。
ネームスペースはよ
0693名無しさん@お腹いっぱい。
2012/01/13(金) 14:48:38.91tabを押さずに自動的に補完候補を表示するスタイルにしたいと思います
.emacsに
(setq ac-auto-start t)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(add-to-list 'ac-modes 'hoge-mode)
と書いてhoge-modeを~/.emacs.d/ac-dictに置いたのですが何にもなりません
ac-dict/hoge-modeは改行(lf)区切りなのですが、それがいけないのでしょうか
http://cx4a.org/software/auto-complete/manual.ja.html
このマニュアルにはそういうことが書いていないのでよくわかりません
0694名無しさん@お腹いっぱい。
2012/01/13(金) 15:27:05.91(require 'auto-complete-config) とか
(ac-config-default) とかは普通に書いてあるんだよな?
0695名無しさん@お腹いっぱい。
2012/01/13(金) 16:16:39.75(require 'auto-complete-config) は書いていましたが
(ac-config-default)が抜けていました。
ばっちり動きました!ありがとうございました。
0696名無しさん@お腹いっぱい。
2012/01/14(土) 10:09:51.35すごいわ。修正された行数とかもすさまじいし。。
うんざり。
0697名無しさん@お腹いっぱい。
2012/01/14(土) 10:20:52.49関数名の定義場所がエコーエリアに表示されているにもかかわらず、
そこに飛ぶ術がないという糞仕様。
そもそも使いづらいからAnything用のインターフェースでも作るかな…
0698名無しさん@お腹いっぱい。
2012/01/14(土) 10:27:57.09そしてこのモッサリ感。鈍重すぎる。
もともと腐ってたのが白骨化した死骸のような感じになってきたな。
0699名無しさん@お腹いっぱい。
2012/01/14(土) 12:07:34.45eshellでも(call-proccess ... )の出力をバッファに出しても
表示される日本語部分が化けてしまう。UTF-8なテキストファイル開くと化けない。
UTF-8環境なLinux上。Emacs23にて。
set-language-environment "Japanese"だし
set-terminal-coding-systemもset-keyboard-coding-systemも
set-buffer-file-coding-systemもdefault-buffer-file-coding-systemも
全部utf-8としたし、実際化けてるバッファでも左下はU:と表示されてるからutf-8に
なってるはずなんだが。
なにか解決のヒントくれたらおいら嬉しいのでおねがいしまふ
0700名無しさん@お腹いっぱい。
2012/01/14(土) 12:14:26.08最近は個別にコーディングシステム設定しないで
(prefer-coding-system 'utf-8-unix) とかするもんらしい。
バッファ/ファイル名からプロセスから何から何まで一発でやってくれるよ。
0701名無しさん@お腹いっぱい。
2012/01/14(土) 12:22:24.16× default-coding-system
○ default-process-coding-system でした
0702名無しさん@お腹いっぱい。
2012/01/14(土) 12:24:27.36anything と semantic で検索するとちらほら引っかかるけど
それじゃだめなん?
0703名無しさん@お腹いっぱい。
2012/01/14(土) 12:34:23.81process-filter-multibyte-p
set-buffer-multibyte
とかの multibyte 関係。
0704名無しさん@お腹いっぱい。
2012/01/14(土) 12:37:58.990705名無しさん@お腹いっぱい。
2012/01/14(土) 12:44:07.38LANG=ja_JP.UTF=8 とかしておけば特に何の設定もしなくても
ちゃんと日本語でUTF-8な環境にセットアップしてくれるんだよな。
0706名無しさん@お腹いっぱい。
2012/01/14(土) 13:20:19.97http://www.emacswiki.org/emacs/SrSpeedbar
なかなかいい感じですが編集中ファイルと同じディレクトリに他のファイルが
あると,speedbarにそれらのファイル以外も表示されてしまいます。編集中の
ファイルだけをspeedbarに表示する方法があれば教えてください。
0707名無しさん@お腹いっぱい。
2012/01/14(土) 13:33:09.07自分で新たに speedbar のモードを書くしかないと思う。
*SPEEDBAR* で b とか r を押せば開いているバッファが表示されるけれど、これは違うのだろうし。
0708名無しさん@お腹いっぱい。
2012/01/14(土) 13:48:41.17バッファ名だかバッファファイル名だかだけ引っかかるような設定にすりゃいいんでないの。
これも悪くないな
http://d.hatena.ne.jp/kitokitoki/20100517
0710697
2012/01/14(土) 14:10:38.94ttp://dev.ariel-networks.com/Members/matsuyama/open-anything-emacs/
ここで目的のものが見つかった。
ただ、Anythingのソース作成方法を理解してないからよくわからん。
積読状態だった例の本をちゃんと読むか…
0711名無しさん@お腹いっぱい。
2012/01/14(土) 15:07:22.590712名無しさん@お腹いっぱい。
2012/01/14(土) 15:08:20.510713名無しさん@お腹いっぱい。
2012/01/14(土) 15:16:00.39違うと思う。
0714名無しさん@お腹いっぱい。
2012/01/14(土) 15:39:05.52何もかも一人でやってるようなグラマにろくなのはいないっていう悪例だよ。
0715名無しさん@お腹いっぱい。
2012/01/14(土) 15:43:01.18正規表現は^[\t\s]+でカーソル行を取得するのは(thing-at-point 'line)でよいのですが
取り出した文字列を正規表現で検索する方法がわかりません
正規表現で検索というとre-search-forwardがありますが
これではバッファ内の文字列を検索することになってしまいます
どうすればいいでしょうか
0716名無しさん@お腹いっぱい。
2012/01/14(土) 15:48:26.550717名無しさん@お腹いっぱい。
2012/01/14(土) 15:57:07.690718名無しさん@お腹いっぱい。
2012/01/14(土) 16:24:06.55ありがとうございます。調べた結果
string-matchでもre-search-backwardでもできました
0719名無しさん@お腹いっぱい。
2012/01/14(土) 16:39:21.50>>708
ありがとうございます。
自分で設定する方法はわからないので,しばらくはimenu-treeと併用してみます。
0720名無しさん@お腹いっぱい。
2012/01/14(土) 19:31:25.59・コンパイル後は内容が展開されるのでマクロ自体は未定義になってほしい
・コンパイルしないで el のみのロードの場合は普通に定義されたままでよい
eval-when-compile だと el のみのロードの場合にダメになっちゃいますよね・・・
0721名無しさん@お腹いっぱい。
2012/01/14(土) 19:35:53.07describe-function eval-when-compile
> In interpreted code, this is entirely equivalent to `progn'.
0722名無しさん@お腹いっぱい。
2012/01/14(土) 19:53:14.68ありがとうございます。 eval-when-compile の中にマクロ定義を置く、で何ら問題なかったんですね。
しかし、eval-after-load みたいなコンパイルされない式の方だと実行時にマクロ定義がないとエラーになってしまいます。
これをコンパイル時にマクロ展開する方法はないのでしょうか?
0723名無しさん@お腹いっぱい。
2012/01/14(土) 20:26:35.83(defun my-func () (loopとか))
(eval-after-load "library" '(my-func))
じゃだめなのけ?
0724名無しさん@お腹いっぱい。
2012/01/14(土) 20:36:30.14一応別解
(eval-when-compile (defmacro somemacro (x) (concat x "-ok")))
(eval-after-load "hogehoge"
(eval-when-compile
(macroexpand-all
'(progn
(setq hoge (somemacro "hoge"))))))
eval-after-load から macroexpand-all までを eval-when-compile 内にマクロで置けば完璧
これなら el でロードしてもコンパイルしてもちゃんとマクロ展開される
0725名無しさん@お腹いっぱい。
2012/01/15(日) 16:36:48.20レジストリ書き換える方法で良ければ、scancode map でぐぐると見つかる。
XP以降はLoginユーザ別に設定できる。
windows server 2003 resource kitに入っている remapkey.exe というのでも
出来るけど。ユーザ個別設定は出来ないかもしれない。
0726名無しさん@お腹いっぱい。
2012/01/16(月) 18:42:59.64elispがどこかで公開されていた気がするのですが
ご存じの方はいらっしゃいませんか
これでカーソル移動がもっと快適になるとか書いてあったような気がします
るびきち本とかどっちかと思いましたが見つかりませんでした
0727名無しさん@お腹いっぱい。
2012/01/16(月) 18:46:46.900728名無しさん@お腹いっぱい。
2012/01/16(月) 18:50:20.77他にも似たようなのあるかもしらんが
0729名無しさん@お腹いっぱい。
2012/01/16(月) 20:11:35.65ありがとうございます。両方の情報とも関係がありそうだと検討をつけて探したら
そのものずばりのページにたどり着けました
http://emacs.g.hatena.ne.jp/k1LoW/20101211/1292046538
この図こそ記憶にあったものです
感謝です
0730名無しさん@お腹いっぱい。
2012/01/16(月) 20:25:39.60微妙にずれてしまう気がします
対処策はあるのでしょうか
0731名無しさん@お腹いっぱい。
2012/01/16(月) 21:45:30.64NTEmacsスレの方がストレートな解答が貰えるかもしれない。
Windowsだとフォント重ねあわせでボールド化するとかの設定有効にしてると
ずれることがあるって聞いたことがあるな。変数名は忘れたが。
0732名無しさん@お腹いっぱい。
2012/01/16(月) 22:03:50.99Rictyを使ってるんだけど例えば $ の幅が他の文字の 90% ぐらいになってる
フォントの設定はなんか難しいから放置中
0733名無しさん@お腹いっぱい。
2012/01/16(月) 22:18:58.39しかもライセンスの問題でバッチ処理で自分で結合処理するんだった記憶が。
幅あってないんじゃない?
0734名無しさん@お腹いっぱい。
2012/01/16(月) 22:31:27.690735名無しさん@お腹いっぱい。
2012/01/16(月) 22:40:43.46違うフォントや違うサイズが割り当てられてたりしない?
0736名無しさん@お腹いっぱい。
2012/01/16(月) 23:02:15.92init.el の関係ありそうな設定部分を貼っときます
http://codepad.org/cN7neV2I
($) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x07)
(1) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x14)
0737730
2012/01/17(火) 13:39:36.57フォントのサイズを3の倍数にすればよいだけでした
>Emacs で等幅フォントの半角文字・全角文字の横幅比 1:2 を必ず達成するフォント設定
ttp://stickydiary.blog88.fc2.com/blog-entry-107.html
0738名無しさん@お腹いっぱい。
2012/01/17(火) 14:43:24.37(defun random-string (length)
(let ((i length)
(s "0123456789abcdefghijklmnopqrstuvwxyz")
(a '())
n c)
(while (> i 0)
(setq n (random 36))
(setq c (substring s n (+ n 1)))
(setq a (cons c a))
(setq i (- i 1)))
(string-join "" a)))
0739名無しさん@お腹いっぱい。
2012/01/17(火) 14:50:18.40(defun random-string (length)
(let ((i length)
(s "0123456789abcdefghijklmnopqrstuvwxyz")
(a '())
n c)
(while (> i 0)
(setq n (random 36))
(setq c (substring s n (1+ n)))
(setq a (cons c a))
(setq i (- i 1)))
(mapconcat 'identity a "")))
0740名無しさん@お腹いっぱい。
2012/01/17(火) 15:05:13.65(let ((s "0123456789abcdefghijklmnopqrstuvwxyz")
a n)
(while (> length 0)
(setq n (random 36))
(setq a (concat a (substring s n (1+ n))))
(setq length (1- length)))
a))
0741名無しさん@お腹いっぱい。
2012/01/17(火) 15:24:40.20(concat (loop with s = "0123456789abcdefghijklmnopqrstuvwxyz"
repeat length
collect (aref s (random 36)))))
0742名無しさん@お腹いっぱい。
2012/01/17(火) 15:40:14.13(let* ((offset (random 36))
(char (substring "0123456789abcdefghijklmnopqrstuvwxyz" offset (1+ offset))))
(if (> length 1)
(concat char (random-string (1- length)))
char)))
0743名無しさん@お腹いっぱい。
2012/01/17(火) 15:59:27.93(substring (shuffle-vector "0123456789abcdefghijklmnopqrstuvwxyz")
0 length))
0744名無しさん@お腹いっぱい。
2012/01/17(火) 16:08:57.86(loop with s = (make-string length 0)
for i from 0 to (1- length)
do (aset s i (aref "0123456789abcdefghijklmnopqrstuvwxyz" (random 36)))
finally return s))
0745名無しさん@お腹いっぱい。
2012/01/17(火) 16:13:45.580746名無しさん@お腹いっぱい。
2012/01/17(火) 16:33:07.710747名無しさん@お腹いっぱい。
2012/01/17(火) 17:17:27.280748名無しさん@お腹いっぱい。
2012/01/17(火) 17:26:31.480749名無しさん@お腹いっぱい。
2012/01/17(火) 17:29:19.73なんで?
■ このスレッドは過去ログ倉庫に格納されています