Emacs Part 41
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2012/09/07(金) 18:10:22.94Emacs Part 40
http://toro.2ch.net/test/read.cgi/unix/1328958449/
0104名無しさん@お腹いっぱい。
2012/09/16(日) 16:10:16.21http://www.google.com/trends/?q=vim,emacs,%E7%A7%80%E4%B8%B8&ctab=0&geo=all&date=all&sort=0
0105名無しさん@お腹いっぱい。
2012/09/16(日) 16:11:00.030106名無しさん@お腹いっぱい。
2012/09/16(日) 16:42:47.920107名無しさん@お腹いっぱい。
2012/09/16(日) 20:32:29.520108名無しさん@お腹いっぱい。
2012/09/16(日) 20:42:42.210109名無しさん@お腹いっぱい。
2012/09/17(月) 10:32:42.040110名無しさん@お腹いっぱい。
2012/09/17(月) 10:43:45.31マーク・ピーターセンは英語の中で一番美しい単語のひとつなんじゃないかとか言ってたな
0111名無しさん@お腹いっぱい。
2012/09/17(月) 10:55:38.23エディタは何使ってんだろ? notepad?
0112名無しさん@お腹いっぱい。
2012/09/17(月) 15:49:29.190113名無しさん@お腹いっぱい。
2012/09/17(月) 20:23:47.55(plist-put (symbol-plist 'quit) 'error-message "中断")
(plist-put (symbol-plist 'buffer-read-only) 'error-message "バッファは読み取り専用です")
(mapatoms (lambda (sym)
(let ((p (symbol-plist sym)))
(when (plist-member p 'error-conditions)
(insert (format "%s: %s - %s\n"
sym
(plist-get p 'error-conditions)
(plist-get p 'error-message)))))))
0114名無しさん@お腹いっぱい。
2012/09/17(月) 21:38:43.64しかし「emacs でアプリ作ろう」とか思った人の9割がこの辺で撃沈してると思う
0115名無しさん@お腹いっぱい。
2012/09/17(月) 22:24:23.20> (plist-put (symbol-plist 'quit) 'error-message "中断")
> (plist-put (symbol-plist 'buffer-read-only) 'error-message "バッファは読み取り専用です")
普通はこうなんじゃね?
(put 'quit 'error-message "中断")
(put 'buffer-read-only 'error-message "バッファは読み取り専用です")
0116名無しさん@お腹いっぱい。
2012/09/18(火) 09:27:52.540117Zeno ◆5nZQbNmQPs
2012/09/18(火) 13:53:05.32Emacs 上から Google Drive ドキュメントの編集をしたいのだが、どの elisp が一番お勧めかね?
イメージとしては ttp://directed-procrastination.blogspot.com/2011/06/syncing-emacs-with-google-documents.html
のようなミラーリングである。
0118名無しさん@お腹いっぱい。
2012/09/18(火) 15:48:24.69(start-process "zeno" nil "firefox")
がおすすめ。
0119名無しさん@お腹いっぱい。
2012/09/18(火) 21:35:51.38cygwinだとちゃんと動いてくれなくて諦めた記憶だけが残ってる
Win や Mac だったら公式の同期ツールでも使ったほうがいいだろね
0120名無しさん@お腹いっぱい。
2012/09/18(火) 21:56:27.60はやく死ねよ
0121名無しさん@お腹いっぱい。
2012/09/19(水) 01:51:29.820122名無しさん@お腹いっぱい。
2012/09/19(水) 12:49:26.79ミニバッファのテキストの文字サイズを変えるのはどうしたらいいの?
SKKの変換候補の文字が小さくて複雑な文字の見分けがつきにくいから大きくしたい
0123名無しさん@お腹いっぱい。
2012/09/20(木) 00:39:25.31本当にEmacsこれから使う人におすすめなのかな?
0124名無しさん@お腹いっぱい。
2012/09/20(木) 00:39:43.430125名無しさん@お腹いっぱい。
2012/09/20(木) 22:31:53.510126名無しさん@お腹いっぱい。
2012/09/20(木) 23:12:44.10インラインで表示出来るだけだから期待してるのとは違うだろうけど。
0127名無しさん@お腹いっぱい。
2012/09/21(金) 12:03:58.980128名無しさん@お腹いっぱい。
2012/09/21(金) 14:16:21.090129名無しさん@お腹いっぱい。
2012/09/21(金) 15:33:57.37Info 見る限り明示的に無理って書いてあるね
>File: elisp, Node: Printed Representation, Next: Comments, Up: Lisp Data Types
>However, some types have no read syntax, since
>it does not make sense to enter objects of these types as constants in
>a Lisp program. These objects are printed in "hash notation", which
>consists of the characters `#<', a descriptive string (typically the
>type name followed by the name of the object), and a closing `>'. For
>example:
>
> (current-buffer)
> => #<buffer objects.texi>
>
>Hash notation cannot be read at all, so the Lisp reader signals the
>error `invalid-read-syntax' whenever it encounters `#<'.
0130名無しさん@お腹いっぱい。
2012/09/21(金) 15:47:18.87C言語レベルの情報ももっている。
それをシリアライズする方法は存在しない。
ましてや#<buffer *scratch*>から復元するのは無理。
でも、もしかして"#<buffer *scratch*>"という文字列から*scratch*バッファーを
得たいなら、string-matchでも使って文字列"*scratch*"を取り出して(get-buffer "*scratch*")
0131名無しさん@お腹いっぱい。
2012/09/21(金) 15:49:11.85emacs用のはわからないけど
Big5 GB2312 converter とかでググるとちょこちょこ出てくるね。
単純に対応する文字の置換だけでよさそうな感じだし↓とか対応文字の一覧表ダウンロード出来るみたいだし
自力で書いちゃうのもありかもしれない
http://www.mandarintools.com/zhcode.html
0132名無しさん@お腹いっぱい。
2012/09/21(金) 17:19:56.26>>130
どうもありがとうございます。
他のやり方を考えてみます。
0133名無しさん@お腹いっぱい。
2012/09/21(金) 18:49:37.72試しもしてないくせにいい加減なこといって
初心者おいはらうのやめなよ。
そんなだから若者がEmacs離れするんだよ。
0134名無しさん@お腹いっぱい。
2012/09/21(金) 20:32:15.000135名無しさん@お腹いっぱい。
2012/09/21(金) 20:35:42.420136名無しさん@お腹いっぱい。
2012/09/22(土) 17:03:02.760137名無しさん@お腹いっぱい。
2012/09/23(日) 15:59:15.65それを Emacs-lisp に変換して .el にするモードを作っておいて
一旦 Emacs 終了、状態を復元して再起動(session.el のように)
というのをユーザーが気付かない速度で出来れば
理論上は実現できるんじゃないか?
0138名無しさん@お腹いっぱい。
2012/09/23(日) 18:07:56.89> それを Emacs-lisp に変換して .el にするモードを作っておいて
ここまででいいからさ。
0139名無しさん@お腹いっぱい。
2012/09/23(日) 21:07:58.39(defadvice message (after my-ad--message (format-string &rest args) activate)
(let (deactivate-mark)
(with-current-buffer " *Echo Area 0*"
(facemenu-add-face '((:height 1.5)) (point-min) (point-max)))))
:height の値を float 型で指定すれば、デフォルトのフォントサイズに対する
倍率を設定できますよ。
advice を利用しているので、ソースファイル (C 言語) に書かれているような、
ネイティブでの呼び出しには対応できないです。
他にもやり方はありそうですが、とりあえず的に利用はできます。
(ad-unadvise 'message)
こちらは、advice をやめる場合です。
0140139
2012/09/23(日) 22:13:54.78>>139 のやり方よりも、むしろ、 >>122 に書いてある face-remap を活用する形で、
(switch-to-buffer " *Echo Area 0*")
として、そこで C-x C-+ とかすれば、echo 領域のフォントサイズの調整がで
きますね。(試したらできなので、正直、驚いたw)
あと、face である minibuffer-prompt とかを再定義するとかすれば、うまく行
きそうですかね。
本当は、ソースコードレベルで修正するのが、完全なやり方でしょうけどね。
0141139
2012/09/23(日) 22:15:08.980142名無しさん@お腹いっぱい。
2012/09/23(日) 22:57:41.5300を<em>00</em>に、
11を<strong>11</strong>に、
というように、検索文字列を置換時に参照して一致する箇所全てを置換する、
非対話型の関数はありますか。
普段は対話型のstring-replaceを使っているのですが
(interactive)を使った関数として定義してしまった方がよいと考えましたので。
0143名無しさん@お腹いっぱい。
2012/09/23(日) 23:11:40.02replace-string のヘルプを読むといい。
てか日本語でおk
0144名無しさん@お腹いっぱい。
2012/09/23(日) 23:14:22.98何か方法があったら教えてください。Meadowでは設定があった気がする。
0145名無しさん@お腹いっぱい。
2012/09/23(日) 23:31:57.46NTEmacs の場合は mouse-avoidance-mode で我慢するしかないみたい。
0146142
2012/09/24(月) 00:27:48.890147名無しさん@お腹いっぱい。
2012/09/24(月) 00:47:03.35それは残念。mouse-avoidance-modeを設定してみるよ。
0148142
2012/09/24(月) 01:44:08.27カーソルの移動は分かるのですが、肝心のコピペ部分が分かりません
(goto-char (point-min))
(push-mark)
(end-of-line)
(kill-line)
(goto-char (point-max))
(yank)
よろしくお願いします
0149名無しさん@お腹いっぱい。
2012/09/24(月) 02:12:19.95プログラミングしなくても
name-last-kbd-macro と insert-kbd-macro で幸せになれる予感
0150名無しさん@お腹いっぱい。
2012/09/24(月) 03:02:19.04基本的に、 (push-mark) とかは対話的な操作専用。
非対話的にやるなら、直接 buffer-substring で文字列を取得して insert する。
(save-excursion
(goto-char (point-min))
(forward-line 1)
(let ((first-line (buffer-substring (point-min) (point))))
(delete-region (point-min) (point))
(goto-char (point-max))
(newline)
(insert first-line)))
こんな感じかな。
0151名無しさん@お腹いっぱい。
2012/09/24(月) 04:45:17.690152名無しさん@お腹いっぱい。
2012/09/24(月) 05:55:47.950153名無しさん@お腹いっぱい。
2012/09/24(月) 06:56:06.050154名無しさん@お腹いっぱい。
2012/09/24(月) 07:39:53.750155名無しさん@お腹いっぱい。
2012/09/24(月) 13:14:23.350156名無しさん@お腹いっぱい。
2012/09/24(月) 19:40:19.90ハイライトはしてくれるんですが…
24.2を使っている人で、同じ症状になった人いません?
0157名無しさん@お腹いっぱい。
2012/09/25(火) 00:14:57.71ありがとうございます。よくわかりました。
0158名無しさん@お腹いっぱい。
2012/09/25(火) 09:30:57.00self-insert-command をしたときに Buffer is read-only: ... がでるのがうっとおしいのですが
抑制することはできないんでしょうか?
0159名無しさん@お腹いっぱい。
2012/09/25(火) 20:49:29.36C-oをC-lにするには、以下ではだめでしょうか? ネットでは以下のように紹介しているとろが多々あるのですが..。
(define-key anything-map "\C-o" nil)
(define-key anything-map "\C-l" 'anything-next-source)
0160名無しさん@お腹いっぱい。
2012/09/25(火) 22:44:34.84emacsは24.2で、*.csファイル用に
http://www.emacswiki.org/emacs/csharp-mode.el
を使っています。どうやったらこの邪魔な機能をオフにできますか?
0161名無しさん@お腹いっぱい。
2012/09/25(火) 22:55:09.360162160
2012/09/25(火) 23:02:01.53よく分からずにテケトーに対処したので、まずい点があったら教えてください。
今までの設定をいじりたくないから.emacsの最後の最後に以下を追加。
(add-hook 'cshar-mode-hook
'(lamda() (local-set-key (kbd "{") 'nil)
))
>>161
クオートってことですかね?
0163名無しさん@お腹いっぱい。
2012/09/25(火) 23:03:34.47lamda→lambda
0164名無しさん@お腹いっぱい。
2012/09/26(水) 12:41:40.25例えば (add-shift-prefix ?n) => ?N とか
(add-ctrl-prefix ?n) => ?\C-n とか
(remove-ctrl-prefix ?\C-\M-a) => ?\M-a みたいな。
0165名無しさん@お腹いっぱい。
2012/09/26(水) 22:43:24.28キーバインド系の関数のみ、 [(control ?a)] みたいなのを受け付けるとのことだったので
以下のようにして解決させました
(defun add-ctrl-prefix (c)
`(control ,c))
0166名無しさん@お腹いっぱい。
2012/09/28(金) 07:03:51.09このようなコマンドを数引数を与えた形でelispに書いてコールしたいのですが、
どのように書けばいいでしょうか?
0167名無しさん@お腹いっぱい。
2012/09/28(金) 07:21:05.72(interactive)のヘルプに色々書いてあるよ
0168名無しさん@お腹いっぱい。
2012/09/28(金) 07:21:41.21ヘルプすら見てないだろ
0169名無しさん@お腹いっぱい。
2012/09/28(金) 07:45:41.89をC-uつきでelispからコールするように書きたいということなんだけど、簡単な
ことなんでしょうか? ヘルプも読んでいますが、方法を探せていません。
letでcurrent-prefix-argに値を設定してみたけど、だめだった。
0170名無しさん@お腹いっぱい。
2012/09/28(金) 08:21:55.55そもそもinteractiveが何なのか知らないのかどっちかね?
0171名無しさん@お腹いっぱい。
2012/09/28(金) 08:27:12.15ほっとけ
0172名無しさん@お腹いっぱい。
2012/09/28(金) 08:54:05.700173名無しさん@お腹いっぱい。
2012/09/28(金) 09:34:42.94使いたい人がひっそり使ってるっていう現状で充分だよね
0174名無しさん@お腹いっぱい。
2012/09/28(金) 09:43:33.89こういう事をやりたいのか?
(let ((current-prefix-arg '(4)))
(call-interactively 'shell))
0175名無しさん@お腹いっぱい。
2012/09/28(金) 20:24:06.29↑この&の部分でM-d(kill-word)するとcond2まで消えてしまうのどうにかなりませんか?
&&だけ消えて欲しいのですが。
0176名無しさん@お腹いっぱい。
2012/09/28(金) 20:29:28.120177名無しさん@お腹いっぱい。
2012/09/28(金) 20:54:35.990178名無しさん@お腹いっぱい。
2012/09/28(金) 21:32:24.410179名無しさん@お腹いっぱい。
2012/09/28(金) 21:38:30.130180名無しさん@お腹いっぱい。
2012/09/28(金) 21:40:28.20確かに空白区切りでの処理に置き換えちゃうとかも悪くないかもね。
0181名無しさん@お腹いっぱい。
2012/09/28(金) 21:45:35.75M-d の時だけ書き換えたいのであれば kill-word に with-syntax-table を使った advice でも付けてやるとかどうだろね。
0182175
2012/09/28(金) 22:30:16.04シンタックステーブルと独自関数を作って試してみました
(defvar my-syntax-table
(let ((table (make-syntax-table)))
(modify-syntax-entry ?& "w")
table))
(defun my-kill-word ()
(interactive)
(with-syntax-table my-syntax-table
(call-interactively 'kill-word)))
(global-set-key (kbd "M-d") 'my-kill-word)
として
hoge && hoge
↑ここでM-dしてみましたがhogeまで削除されてしまいました
何が足りないのでしょうか?
0183名無しさん@お腹いっぱい。
2012/09/28(金) 22:35:05.79第二匹数を省略すると現在の syntax-table を編集しちゃうよ。
ちゃんと let で作った table を指定してやらないと意味が無い。
0184名無しさん@お腹いっぱい。
2012/09/28(金) 22:36:44.870185名無しさん@お腹いっぱい。
2012/09/28(金) 22:42:39.30即レス感謝!うまくいきました。
;; kill-wordで&&を削除しようとすると次の単語まで削除されてしまうが、それを抑制する
(defvar my-syntax-table
(let ((table (make-syntax-table)))
(modify-syntax-entry ?& "w" table)
table))
(defun my-kill-word ()
(interactive)
(with-syntax-table my-syntax-table
(call-interactively 'kill-word)))
(global-set-key (kbd "C-t") 'my-kill-word)
0186名無しさん@お腹いっぱい。
2012/09/29(土) 00:37:51.80call-interactivelyを使うんですね。ありがとうございました。
0187名無しさん@お腹いっぱい。
2012/09/29(土) 01:34:21.87emacs起動直後にフレームが2つになってしまいます。
1つ目のフレームは、編集対象のファイルの中身で
2つ目のフレームは、ヘルプ的な画面が出ています。
毎回ファイルを開いたあとに「C-x 1」でフレーム数を一つにしているのですが
最初からフレーム数を一つにするにはどうしたら良いでしょうか?
0188名無しさん@お腹いっぱい。
2012/09/29(土) 08:58:14.59Emacs でいう frame ってのは OS でいうウィンドウのことね。
ヘルプ的な画面ってのはどんなのが表示されてるの?
設定ファイルに不具合があったりすると起動時に別 window にエラーが表示されたりするけど。
0189名無しさん@お腹いっぱい。
2012/09/29(土) 09:41:48.19すみません、frameじゃなくてwindowでしたか。
下のウィンドウに表示されてるのは以下の通りです。
ところどころにリンクが張ってあり、クリックできます。
Welcome to GNU Emacs, one component of the GNU operating system.
To quit a partially entered command, type Control-g.
Emacs Tutorial Learn basic keystroke commands (Emacs 入門ガイド)
Emacs Guided Tour Overview of Emacs features
View Emacs Manual View the Emacs manual using Info
Absence of Warranty GNU Emacs comes with ABSOLUTELY NO WARRANTY
Copying Conditions Conditions for redistributing and changing Emacs
Ordering Manuals Purchasing printed copies of manuals
This is GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0)
of 2010-01-10 on gs674-seijiz.local
Copyright (C) 2008 Free Software Foundation, Inc.
If an Emacs session crashed recently, type Meta-x recover-session RET
to recover the files you were editing.
Dismiss this startup screen Never show it again.
0190名無しさん@お腹いっぱい。
2012/09/29(土) 09:49:03.20(setq inhibit-startup-screen t) あたりを書き込めばいい。
0191名無しさん@お腹いっぱい。
2012/09/29(土) 10:12:07.38その位置でC-dをポンポーンと打つのではだめなのか…。
M-d使う人にとってはそうなのかな。
0192名無しさん@お腹いっぱい。
2012/09/29(土) 10:59:50.720193名無しさん@お腹いっぱい。
2012/09/29(土) 11:29:14.75なれると凄い便利なんだけどねえ。
0194名無しさん@お腹いっぱい。
2012/09/29(土) 13:21:59.94(global-set-key (kbd "C-M-l") 'forward-sexp)
(global-set-key (kbd "C-M-d") 'kill-sexp)
こうやったらめちゃくちゃ使うようになった
0195名無しさん@お腹いっぱい。
2012/09/29(土) 13:25:01.03cond && cond2からcond &&を消してcond2だけにしたい時word-kill2回でポンポーンと消したくて。
0196名無しさん@お腹いっぱい。
2012/09/29(土) 13:29:28.440197名無しさん@お腹いっぱい。
2012/09/29(土) 13:42:28.880198名無しさん@お腹いっぱい。
2012/09/29(土) 13:44:09.79それじゃ && が消えなくね?
0199名無しさん@お腹いっぱい。
2012/09/29(土) 15:33:31.430200名無しさん@お腹いっぱい。
2012/09/29(土) 15:46:21.76C-Backspace でもいけるんだな。これ使ったことなかったわ。
0201名無しさん@お腹いっぱい。
2012/09/29(土) 16:37:34.02emacsだとthingがある
0202名無しさん@お腹いっぱい。
2012/09/29(土) 16:50:06.90たまに使ってみたりするものの、結局、ZZしか覚えてないw
あと、diredに相当するもんあるんだろうか?
0203名無しさん@お腹いっぱい。
2012/09/29(土) 17:15:42.65わりとなんでも出来る感じにはなってるみたい。
0204名無しさん@お腹いっぱい。
2012/09/29(土) 17:20:15.52割と何でもできるんなら本格的に試してみてもいいのかも…。
■ このスレッドは過去ログ倉庫に格納されています