トップページunix
1001コメント307KB

Emacs Part 44

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2013/12/14(土) 17:36:04.45
語り合いましょう。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/

前スレ
Emacs Part 43
http://toro.2ch.net/test/read.cgi/unix/1370754332/
0002名無しさん@お腹いっぱい。2013/12/14(土) 19:16:51.50
emacsを算数のお道具箱に
imaxima,
gnuplot,
reduce,
octave,
sage,
macaulay2,
mathematica
が動く様になった
幸せ〜
0003名無しさん@お腹いっぱい。2013/12/14(土) 22:37:52.92
新スレ乙
0004名無しさん@お腹いっぱい。2013/12/15(日) 16:35:33.84
      ____∩_∩
  〜/        ・ ・\
   (          ∀   )  <ぼく、4ゲット君
    \/\/\/\/
0005名無しさん@お腹いっぱい。2013/12/15(日) 21:18:40.55
正規表現の質問です
(setq test "/*
/* test */
*/

foo

/*
foo
*/")
testの /* */ 内を取り除こうとして
(replace-regexp-in-string "/\\*\\(.\\|\n\\)+?\\*/" "" test)
と書いたら


*/

foo
と一部の */ が残ってしまいました。バックスラッシュの付け方に誤りがあるかと思いましたがよくわかりません。
0006名無しさん@お腹いっぱい。2013/12/15(日) 21:44:42.98
一つめの部分で、外側のコメント開始から内側のコメント終了までにマッチしてるんだよ。
基本的に正規表現は入れ子に対応するのが難しい。
0007名無しさん@お腹いっぱい。2013/12/16(月) 14:44:16.72
;; assoc の引数が1以外だとdata1が書き換えられる。
(setq data1 '((1 . 1)(2 . 2)(3 . 3)))
(let ((data2 data1))
(setq data2 (delete (assoc 1 data2) data2)))

これは仕様なのでしょうか。
0008名無しさん@お腹いっぱい。2013/12/16(月) 14:59:23.76
>>7
delete はリストに対しては破壊的な操作を行うので仕様的に正しいです。

あとは、data2 に data1 の値を設定してるけど、リストの先頭の位置の値をコピーしてるだけなので
data2 の指すリスト自体を作り替えた場合 data1 が指してるリストも同じなので影響を受けます。

'((1 . 1) (2 . 2) (3 . 3)) に対して (1 . 1) の delete を行った場合、
'((1 . 1) . ((2 . 2) . ((3 . 3)))) の ((2 . 2) . ((3 . 3))) の部分が戻されるだけでリストは壊されず、
data1 は相変わらず先頭をさしたままなので何事も影響ないような感じになるけど
(2 . 2) とかの先頭じゃない部分の delete の場合、'((1 . 1) . ((3 . 3))) にリストが繋ぎ変えられるので。
0009名無しさん@お腹いっぱい。2013/12/16(月) 15:30:51.34
>>7
http://gyazo.com/c69385e8ce20446517901919c1977597.png

letしたからといってデータ構造までコピーされるわけではないよ
0010名無しさん@お腹いっぱい。2013/12/16(月) 15:47:01.22
>>8
>>9
どうもありがとうございます。理解できました。
0011名無しさん@お腹いっぱい。2013/12/16(月) 20:13:59.80
今って migemo.el ってどこでメンテナンスされているんでしょうか?
query-replace-highlight が効かなくてソースを見てみると
migemo がハイライト関係の関数をまるっと置き換えててそれが原因で query-replace に
影響が出てるみたいなんですが、どこに報告したらいいんだろう
0012112013/12/16(月) 20:51:03.77
とりあえず migemo 本体に修正をいれないで query-replace での lazy-highlight を殺さない設定。
isearch-lazy-highlight-search をオリジナルのものが呼び出されるようにすれば大丈夫だった。

;; migemo を require するまえに実行すること
(defvar org-isearch-lazy-highlight-search
(symbol-function 'isearch-lazy-highlight-search)
"migemo に置き換えられる前の `isearch-lazy-highlight-search'.")

(dolist (fn '(query-replace query-replace-regexp))
(eval `(defadvice ,fn (around ,(intern (format "%s-with-migemo"
fn)) activate)
,(format "migemo 導入時でもハイライトを有効にする.")
(cl-letf (((symbol-function 'isearch-lazy-highlight-search)
org-isearch-lazy-highlight-search))
ad-do-it
))))

(require 'migemo)
0013名無しさん@お腹いっぱい。2013/12/16(月) 21:33:16.38
migemoはgithubのemacs-jpに逝ったような。
0014名無しさん@お腹いっぱい。2013/12/16(月) 23:28:52.98
>>11
https://github.com/emacs-jp/migemo

ただ、ruby版じゃなくてcmigemoが必要。
cmigemoもgit版のほうが良いかも。
0015名無しさん@お腹いっぱい。2013/12/17(火) 00:38:21.17
>>6
ありがとうございます。
対策は難しそうですね。
考えてみます。
0016名無しさん@お腹いっぱい。2013/12/18(水) 23:27:05.71
emacs-develでfeature freezeについて一悶着あったみたいだけど、
ドキュメントにあるような決まりきった英語じゃないから、何が
書いてあるかさっぱり分からん…
そういう英語が分かるようになるのは、もう諦めてるがw
0017名無しさん@お腹いっぱい。2013/12/19(木) 00:21:53.55
ここから連なる一連のスレッドか。
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00455.html

略語が沢山出てきてよくわかんなくなってくるね。
0018名無しさん@お腹いっぱい。2013/12/19(木) 01:05:44.32
来週末にfeature freezeするから、何か機能追加したかったら
さっさとやってね
っていう告知があった後に、
ox-odt.el --- OpenDocument Text Exporter for Org Mode
を突っ込むよと言った人に対して、お前著作権がらみの署名してなさそう
だから、お前の変更要求は受けつけないよ。パッチを提出したかったら
先にアドレスを教えてよ。
って言われてブチ切れたっぽいのは分かったが、後半はようわからん。
最後の方で、「みなさん、煽り立てるをやめてください」と
いうのがあって少し受けた
0019名無しさん@お腹いっぱい。2013/12/19(木) 01:07:45.56
>>17
> ここから連なる一連のスレッドか。
> http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00455.html
>
> 略語が沢山出てきてよくわかんなくなってくるね。

AFAIK って知らんかった。

copyright paperwork は依然書かされたよ。
10行超の修正をする際に必須とか。
0020名無しさん@お腹いっぱい。2013/12/19(木) 01:43:54.21
> AFAIK って知らんかった。

コンピュータ系のacronymは、
ttp://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/share/misc/acronyms?content-type=text/plain&only_with_tag=HEAD
がワリとオヌヌメ。
chatやくだけた会話で使う奴は、ちゃんとしたacronym辞書にはあまり載ってないんだよねー
0021名無しさん@お腹いっぱい。2013/12/19(木) 01:49:39.73
>>19
> copyright paperwork は依然書かされたよ。
> 10行超の修正をする際に必須とか。
へぇー知らんかった。俺も書いてみたい

あと、isearchして選択した部分をリージョンに変換する機能が無かったから
でっちあげてみた。isearch中にコントロールスペースで変換する。
(define-key isearch-mode-map [(control ? )]
'(lambda ()
(interactive)
(push-mark isearch-other-end t 'activate)
(isearch-exit)))
個人的にスゲー便利なのになんで無かったんだろ
0022名無しさん@お腹いっぱい。2013/12/19(木) 03:42:37.13
>>21
> あと、isearchして選択した部分をリージョンに変換する機能が無かったから

やっぱ無いんですねそれ。私は一旦リージョンにするのも面倒になったので
C-d ですぐに削除、M-w でコピーにしてます。
0023名無しさん@お腹いっぱい。2013/12/19(木) 09:45:28.92
>>22
実は multiple-cursor.el を使うための伏線だったりする。
ただ、単語の途中までみたいな中途半端なリージョン選択はだいぶやり易くなった。
0024名無しさん@お腹いっぱい。2013/12/19(木) 13:23:35.84
>なんで無かったんだろ
飛ぶときマークするだけだからとしか
0025名無しさん@お腹いっぱい。2013/12/19(木) 16:29:38.57
isearchって部分マッチの時点で終了しちゃうからなぁ
その中途半端なリージョンが便利ってシチュエーションはかなり限定的なのでは
0026名無しさん@お腹いっぱい。2013/12/19(木) 16:41:07.09
Emacs にも萌えの波が!
https://github.com/kuanyui/moe-theme.el

今どき萌えってあんまり言わないよな。
0027名無しさん@お腹いっぱい。2013/12/19(木) 17:53:33.33
Emacs には萌えよりも萎えが似合う。
萎えこそが Emacs の本質だと思う。
0028名無しさん@お腹いっぱい。2013/12/19(木) 18:07:15.28
個人的にはこういうイメージ
http://suma-to.net/wp-content/uploads/2013/02/takayanagiakane_i14.jpg
0029名無しさん@お腹いっぱい。2013/12/19(木) 18:24:43.86
>>26
じゃあita-theme.elで。
0030名無しさん@お腹いっぱい。2013/12/19(木) 19:01:57.81
このスレにはemacsをかなり使い込んでいる人しかいないと言う想定で質問させて下さい
皆さんCtrlキーはAキーの左ですよね
では、Metaキーをどこに割り当てていますか?

いまいちM-〜のコマンド系を使いこなせていないです
0031名無しさん@お腹いっぱい。2013/12/19(木) 19:46:32.00
Ctrl は Shift の下のをそのまま
Meta は Z の右下の緑色で印字されてるやつ
0032名無しさん@お腹いっぱい。2013/12/19(木) 19:54:23.17
過去スレで出てきたテクニックだったと思うけれどそれを見て以来
windowsキーボードでemacsを使っているときには
無変換と変換を長押ししている間はctrlにし始めた
変換-aでctrl-aを押せてかなり楽ちんだよ
0033名無しさん@お腹いっぱい。2013/12/19(木) 19:55:34.24
書き忘れた
M-はスペースキーで同様にやってる
親指をそれなりに使うけれど標準のポジションを出来るだけ維持できるから
手全体の動きはそれほどないよ
0034名無しさん@お腹いっぱい。2013/12/19(木) 20:01:25.45
お前らが日本語キーボード使ってることに驚きだわ
0035名無しさん@お腹いっぱい。2013/12/19(木) 21:04:06.71
自分は英語配列HHKで、TABと左Altをいれかえて使ってるな。
つまりTABキーがメタキー。
自分の使ってる配列で、Controlキーとの同時押しが楽なキーに
するのが良いと思う。
0036名無しさん@お腹いっぱい。2013/12/19(木) 21:04:29.22
そうそう
英語キーボードならAltが押しやすいから変更の必要がない
プログラム書くなら記号も押しやすい英語キーボードにするべき
0037名無しさん@お腹いっぱい。2013/12/19(木) 21:23:46.99
ほんとコンシューマーノート機もワールドモデルはUSキーを普通に流通させて欲しいよ
AcerやASUSどころか東芝やソニー製品でさえ日本語キーがウンコローカライズな時代
0038名無しさん@お腹いっぱい。2013/12/19(木) 21:25:37.09
ぶっちゃけどのキーボードでも大した違いは無いと思ってる
0039名無しさん@お腹いっぱい。2013/12/19(木) 21:38:42.53
素人はそう思うよね
0040名無しさん@お腹いっぱい。2013/12/19(木) 22:00:45.55
おっさんワナビ御用達の HHK
今だと Mac Book みたいなもんか
0041名無しさん@お腹いっぱい。2013/12/19(木) 22:05:15.07
キーボードとかの環境にやたらこだわるやつは全く仕事出来ないか凄腕のどっちか。
0042名無しさん@お腹いっぱい。2013/12/19(木) 22:08:11.49
Space Saver 1393278
0043名無しさん@お腹いっぱい。2013/12/19(木) 22:09:55.07
まぁ仕事なんかでUS配列キーが使えるといいなーと思うこともあるけど
日本語配列を使ったからと言って作業効率がガタ落ちする訳でもないしな
Emacsが使えなくなるほどのインパクトはない
0044名無しさん@お腹いっぱい。2013/12/19(木) 22:19:53.87
HHKはコンパクトなとこがいいんだよ。
机にキーボード3つとか並べてると重要。
タッチはきにしないので、3つともLiteを使ってる。
0045名無しさん@お腹いっぱい。2013/12/19(木) 22:32:43.64
Synergy とか使ってキーボード共有したくなるな、流石に3つもあると。
0046名無しさん@お腹いっぱい。2013/12/19(木) 22:46:15.41
3台のうち1つはPS3なんだよね。
(Co-op相手とチャットするのに必要)
まあKVMスイッチ使う手はあるんだが、
ディスプレイも2台並べて使ってるから、物理的にキーボードが複数あった方が便利よ。
まあディスプレイの数に合わせてキーボードも2台に抑える
のがいいかもしれんが。

全然Emacsの話じゃなくなったな、しかし。
0047名無しさん@お腹いっぱい。2013/12/20(金) 00:03:54.90
Emacs から外れた話はこっちでね。

Keyboard キーボード 3
http://toro.2ch.net/test/read.cgi/unix/1285489282/
0048名無しさん@お腹いっぱい。2013/12/20(金) 01:17:19.61
バカヤロウ!(100万デシベルで)
キーボードとEmacsが切り離せるか!!
キーボードとEmacsは一心同体。これは昔から決まってる。
0049名無しさん@お腹いっぱい。2013/12/20(金) 01:25:57.39
>>48
君は坊主の脱ぎ捨てた袈裟にお布施をする信心深い人間なんだね。
0050名無しさん@お腹いっぱい。2013/12/20(金) 02:41:18.52
関数の処理時間を単に計測するマクロはどう書けばよいですか?
(defmacro time (procs)
`(let ((from (float-time)))
,procs
(message (number-to-string (- (float-time) from)))))
これでいいのでしょうか
`(progn ,procs) のように書ければそうした方がよいと思うのですが、間違っていますか?
0051名無しさん@お腹いっぱい。2013/12/20(金) 03:13:10.20
>>48
全てに関数名がついてるんだから、キーボードは絶対ではないような。
そこがいいとこだし。
音声入力に全てバインドとかも出来るのかな。
■ このスレッドは過去ログ倉庫に格納されています