元スレEmacs Part 36
emacs覧 / PC版 /みんなの評価 :
101 = :
C-x Tab(indent-rigidly)するとリージョン全体が字下げされますが、
このとき空行も字下げの対象にするにはどうすればいいですか?
スペースで始まる行を整形済テキストとして扱うWikiを使っていて、
空行を含むリージョンをまとめて字下げできれば便利なのですが。
102 = :
>>101
これでいいかね?
(defun my-indent-rigidly (start end arg)
"Indent all lines starting in the region sideways by ARG columns.
Called from a program, takes three arguments, START, END and ARG.
You can remove all indentation from a region by giving a large negative ARG."
(interactive "r\np")
(save-excursion
(goto-char end)
(setq end (point-marker))
(goto-char start)
(or (bolp) (forward-line 1))
(while (< (point) end)
(indent-to (max 0 arg) 0)
(forward-line 1))
(move-marker end nil)))
104 = :
>>102
ところで、インデントcolumn数(arg)をプロンプトで聞く用に修正した方が便利ではないかね?
それならば、以下の関数を使えば良い:
(defun my-indent-rigidly (start end &optional c)
"Indent all lines starting in the region sideways by ARG columns.
Called from a program, takes three arguments, START, END and ARG.
You can remove all indentation from a region by giving a large negative ARG."
(interactive "r")
(let ((c (or c (float-to-int (read-number "N columns: ")))))
(save-excursion
(goto-char end)
(setq end (point-marker))
(goto-char start)
(or (bolp) (forward-line 1))
(while (< (point) end)
(indent-to (max 0 c) 0)
(forward-line 1))
(move-marker end nil))))
105 = :
>>102-104
ありがとうございます。
string-rectangleで希望の形になりました。知りませんでした。
106 = :
>>105
ベンチマークを取ってみたが、>>104 は string-rectangle に比べて2倍近く速いな。
>>104をタブ変換無しにすればもっと速くなるだろう。
(with-stopwatch
(my-indent-rigidly (point-min) (point-max) 4))
=> Time elapsed: 927 ms
(with-stopwatch
(string-rectangle (point-min) (point-max) " "))
=> Time elapsed: 1609 ms
108 = :
anything.elを導入したけど、既存のコマンドが勝手に置き換わってしまって不便です。
とりあえずC-xC-fだけでももとに戻したいのですが、もどってくれません。
(require 'anything-startup)
(global-set-key "¥C-x¥C-f" 'find-file)
これでたしかに C-xC-f が find-file になったのですが、なぜかanything.elが
有効になったままで、大変困っています。
どなたか、anything.elを使いつつ、機能を一部外す方法を教えてください。
109 = :
吾は anything は使う必要性がない為導入していないが、これでどうだね?
(add-hook 'emacs-startup-hook (lambda ()
(define-key ctl-x-map "\C-f" 'find-file)))
110 = :
Zeno様おめでとうございます
>>108
anythingが動いている時にfind-fileを呼び出すと
anything内でのfind-fileに対応する処理が行われてしまうので、
ちょっと強引なやり方ですが、私は下記で対応しています
;; anything設定後に下記を設定
;; C-x C-fで*URL*も開く
(ffap-bindings)
;; C-c C-fで通常のfind-file
(define-key global-map "\C-c\C-f" 'find-file)
こうしておくと、C-x C-fがfind-fileではなく、
ffap-bidingsにとってかわるので、anythingに処理
をとられなくなります
解決になれば幸いです
111 = :
>>109,110
アドバイスありがとうございます。
結局、anything.elのソースを読んで、以下のようにしました。
(require 'anything-startup)
(substitute-key-definition 'anything-find-file 'find-file global-map)
(defalias 'read-file-name (symbol-function 'anything-old-read-file-name))
これで C-xC-fがもとに戻りました。
余談ですが>>110のやり方は頭いいですね。感心しました。
112 = :
emacsにはRMSのホームディレクトリにアクセス機能があると
聞いたのですが本当でしょうか?
113 = :
>>112
日本語でおk
114 = :
23.2で、transient-mark-modeとやらで色が変わって鬱陶しいのですが、transient-mark-modeに
入る事を禁止、もしくは色を買える事を禁止するにはどうすれば良いですか?
.emacsには
(global-font-lock-mode 0)
と書いています。
115 = :
>>114
(custom-set-faces '(region ()))
118 = :
transient-mark-modeでは現在のリージョンの色が変わる(--color=noならリバース)
find-fileして、set-mark-commandして、isearchするとこの状態。
119 = :
何故 transient-mark-mode の話をしているのに isearch が出てくるのか不思議だが、
(setq-default transient-mark-mode nil)
としておけば transient-mark-mode は無効になるだろう。
120 = :
>>119
ダメですね。適当に思い付き言って無い?
121 = :
どちらかと言うとお前が駄目だな。
126 = :
Zenoちゃん。おっぱい見せて。
128 = :
OpenOffice 3.2 の起動画面には Oracle のロゴが入ってしまっているようだ。
>>126
(注:興味本位で開いてはいけない)
129 = :
こういうのが趣味なんですね。。
134 = :
emacs-w3mのShimbunの設定がよく分からないんですが
Shimbunって今でも使えますか? もう古い?
新聞社やニュースサイトの記事をnavi2chのように読める
おすすめのelispがあれば教えてください。
136 = :
>>134
navi2chのようにとはいかないけど、emacs23標準だとnewsticker、gnus。
shimbunは遅いから最近はgnusのnnrsssに移行したよ。
137 = :
このスレの前の方に出てるけどLINQのライブラリってどこかにないですか?
138 = :
cocoa emacsを mac上で使ってるけど IMEを制御したりすることできないかな。
carbon emacsだとそもそも IMEが働かないようにして
boiled-eggでっつー90年代的方法でしのいでるけど。
140 = :
自分もgnus/nnrss使ってるけど、gnus/nnmlでメール読むのと比べて
もっさり感が結構ある。あと、未読管理が不完全な気も。
141 = :
>>140
自分はnnrss-generate-download-scriptで作ったスクリプトをcronで回してる。
未読管理は確かに不完全。
不満があまりないのは、メールをgmail -> nnimap で読んでるので、遅いのに
慣れてるのもあるかも。
142 = :
ミニバッファーのメッセージを出さないようにする設定のやり方を
かなり前の過去スレで読んだ記憶があるんだけど、どうやるか
知ってる人いる?
143 = :
>>142
(defmacro ignore-messages (&rest body)
"Suppress any incoming messages within `body' while keeping the
currently displayed message, if any."
(let ((msg (make-symbol "msg-temp")))
`(let ((,msg (current-message))
(message-log-max nil))
(unwind-protect
(progn ,@body)
(if ,msg
(message ,msg)
(message nil))))))
例:
(ignore-messages
(message "これは見えない。")
(message "これも見えない。"))
144 = :
バイトコンパイルの時に、errorやwarningが表示される
コンパイルログのサイズを固定したいのですが、どのようにすればいいですか?
146 = :
Emacsと仏教は似ている。
147 = :
>>144 ありがとうございます
http://emacsblog.org/2007/05/22/quick-tip-compilation-skip-threshold/
どんなことをしているか確認したところ↑のサイトが見つかりました
しかし、適当な文字列(warningを起こしそうな aaとか)を入力して
byte-compileをすると*Compile-Log*が半分の領域を占めてしまいます
これをできるなら、そのときに出力されたメッセージのサイズくらいにしたいのですが・・・
以前までのスレで似たような質問が出ていましたけども、その方も解決していなかったようです。
148 = :
× (setq compilation-skip-threshold 0)
○ (setq compilation-skip-threshold 2)
だったな。
150 = :
Zenoって役立たずだな。乳首も変だし。
みんなの評価 :
類似してるかもしれないスレッド
- Emacs Part 34 (1001) - [92%] - 2010/6/21 19:45 ○
- Emacs Part 35 (1001) - [92%] - 2010/9/19 17:01
- Emacs Part 37 (1001) - [92%] - 2011/6/20 19:47
- Emacs Part 38 (1001) - [92%] - 2011/11/29 0:01
- Emacs Part 39 (990) - [92%] - 2012/2/9 19:45
- Emacs Part 33 (1001) - [92%] - 2010/3/9 20:01 ○
- Emacs Part 32 (1001) - [92%] - 2009/12/20 2:04 ○
- Emacs Part 46 (984) - [92%] - 2014/12/24 14:15
- Emacs Part 31 (1001) - [92%] - 2009/10/23 10:31 ○
- Emacs Part 40 (1001) - [84%] - 2012/9/7 0:30
- Emacs Part 53 (989) - [84%] - 2022/12/5 12:45
- Emacs Part 41 (1001) - [84%] - 2012/12/24 4:15
- Emacs part 26 (1001) - [84%] - 2008/11/8 20:47 ○
- Emacs Part 54 (97) - [84%] - 2023/1/25 17:15
トップメニューへ / →のくす牧場書庫について