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

Emacs part15

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2005/03/26(土) 14:48:22
今日も Emacs の起動から一日が始まります。
各種 Emacs 関連はこちらで。

前スレ: Emacs part13
http://pc8.2ch.net/test/read.cgi/unix/1096186227/
0619Zeno ◆5nZQbNmQPs 2005/06/12(日) 16:28:41

Reply-to:>>617
      テキスト整形系のコマンド/関数は複雑になり安い為、そして
       好みが人によってかなり異なる為に、自分で書くのが適当と
                 言えるだろう。

Reply-to:>>618
   君は 618 に対して異様に辛口だな。何か人生で嫌なことでもあったのか?

_________________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T. -- Kurt Gödel
0620ニート2005/06/12(日) 16:32:40
>>619
あったわい。就職活動してるんだが、20社受けて一社もうからん。
0621Zeno ◆5nZQbNmQPs 2005/06/12(日) 16:36:41
Reply-to:>>620
      会社が君を雇ってくれないのであれば、自分で新しい事業を開く
     という方法もあるぞ。 (最も、君にそれを執行し、成功させることの
            できる金と資質があればであるが。)

_________________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T. -- Kurt Gödel
0622名無しさん@お腹いっぱい。2005/06/12(日) 16:40:10
安心汁。
就職活動してる香具師は無職であってもニートじゃないぜ
まぁ働いたら負け組だけどな。
0623名無しさん@お腹いっぱい。2005/06/12(日) 16:48:46
既存の関数の動作変えるなら上書きするよりadvice使った方がいいと思う。
0624名無しさん@お腹いっぱい。2005/06/12(日) 18:15:39
>>616
mode-line-inactive を customize-face しろ。
0625名無しさん@お腹いっぱい。2005/06/12(日) 20:12:12
あるメジャーモードのfont-lockを、他のメジャーモードに適用するにはどうしたらいいのでしょうか?

たとえば、メジャーモードはtext-modeのままで、font-lockだけはoutline-modeと同様にしたいときは
(add-hook 'text-mode-hook
(lambda ()
( xxxxxx
)))
xxxxxの部分に何をかくと、うまくいくでしょうか?
font-lock-add-keywords とかいろいろ試したけど、挫折しました。
0626名無しさん@お腹いっぱい。2005/06/12(日) 21:46:02
>>620
就職活動してるならニート失格。
0627名無しさん@お腹いっぱい。2005/06/13(月) 00:19:26
>>611
M-x refill-mode
0628名無しさん@お腹いっぱい。2005/06/13(月) 01:16:59
>>625
outline.elを開いてC-s font-lockして眺めてみりゃすぐわかる。
0629名無しさん@お腹いっぱい。2005/06/13(月) 03:50:40
>>>625
mmm-modeとか言う方向性は?
0630名無しさん@お腹いっぱい。2005/06/13(月) 11:00:42
>>540
もう見ていないかもしれないけど
やっぱ<-BackspaceはDELじゃなくて^Hだろ!!@Linux板
ttp://pc8.2ch.net/test/read.cgi/linux/1037454219/
0631名無しさん@お腹いっぱい。2005/06/13(月) 12:01:36
>>630
お前の理解力のなさの方が泣けるよ
06326252005/06/13(月) 13:15:24
>>625
>>628
(add-hook 'xxxx-mode-hook
(lambda ()
(font-lock-add-keywords nil outline-font-lock-keywords)
))

でいけました。
ただ、text-modeだとこれでも色がつきませんでしたが、他のモードだとこれでうまくいきました。

0633名無しさん@お腹いっぱい。2005/06/13(月) 17:10:09
>>605
質問:
元のemacsのversionは、いくつでしょうか?

# 使ってみようと思ったんだけど、たくさんrejectされてしまいました。
# 私のは、emacs 21.4.1です。
0634名無しさん@お腹いっぱい。2005/06/13(月) 18:43:14
cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co -r XFT_JHD_BRANCH emacs
これ使っているやしいる?
0635名無しさん@お腹いっぱい。2005/06/13(月) 19:53:45
Change Log mode の * を + or - に変えたいんだけど該当 elisp を教えて下さい。
0636名無しさん@お腹いっぱい。2005/06/13(月) 19:56:37
add-log.el
0637名無しさん@お腹いっぱい。2005/06/13(月) 20:27:25
>>636
thx
% vi +576 add-log.el かな?
0638名無しさん@お腹いっぱい。2005/06/13(月) 21:18:58
emacs --eval '(progn (find-file "add-log.el") (goto-line 576))'
0639名無しさん@お腹いっぱい。2005/06/13(月) 21:56:17
普通に % emacs +576 add-log.el でいいのでは。
0640名無しさん@お腹いっぱい。2005/06/14(火) 00:24:34
それじゃ>>637に戻っちゃうじゃないか。
もっと無駄に長くするのがemacsist。
0641名無しさん@お腹いっぱい。2005/06/14(火) 00:33:36
>>634

ためしにビルドしたことはあるけど、日本語をちゃんと表示できるように
設定できなかったから、そのまま放置。

0642名無しさん@お腹いっぱい。2005/06/14(火) 00:40:28
>>641
http://news.gmane.org/group/thread=1118471021.2810.4.camel%40sangu.sangu.net/force_load=t
チョンがバグレポートだしてる
0643名無しさん@お腹いっぱい。2005/06/14(火) 12:50:13
solaris9にターミナルでアクセスして、色つき画面にしたいんですけど、
どうやったら良いでしょう。
ターミナルの色の制御をしているプログラムの名前を教えて下さい。
0644名無しさん@お腹いっぱい。2005/06/14(火) 12:53:57
>>643
たぶんくだ質で聞けばわかると思うよ、うん
0645名無しさん@お腹いっぱい。2005/06/14(火) 15:59:03
emacsの正規表現でperlのようなマッチ変数を使いたいのですが、どう書けば良いですか?

やりたいことは、例えば、
hoge[a-zA-Z]+foo
の [a-zA-Z]+ の部分だけの文字列に replace するとかそういうことです。

よろしくお願いします。
0646Zeno ◆5nZQbNmQPs 2005/06/14(火) 16:16:56

Reply-to:>>645
query-replace-regexp <RET> \(hoge\)[a-zA-Z]+\(foo\) <RET> \1REPLACEMENT-STRING\2 <RET>

          "REPLACEMENT-STRING" は自分で決めること。
_________________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T. -- Kurt Gödel
0647名無しさん@お腹いっぱい。2005/06/14(火) 16:17:12
>>645
`\( ... \)'
is a grouping construct that serves three purposes:

1. To enclose a set of `\|' alternatives for other operations.
Thus, the regular expression `\(foo\|bar\)x' matches either
`foox' or `barx'.

2. To enclose a complicated expression for the postfix operators
`*', `+' and `?' to operate on. Thus, `ba\(na\)*' matches
`ba', `bana', `banana', `bananana', etc., with any number
(zero or more) of `na' strings.

3. To record a matched substring for future reference with
`\DIGIT' (see below).

This last application is not a consequence of the idea of a
parenthetical grouping; it is a separate feature that was assigned
as a second meaning to the same `\( ... \)' construct because, in
practice, there was usually no conflict between the two meanings.
But occasionally there is a conflict, and that led to the
introduction of shy groups.
0648名無しさん@お腹いっぱい。2005/06/14(火) 16:18:25
`\DIGIT'
matches the same text that matched the DIGITth occurrence of a
grouping (`\( ... \)') construct.

In other words, after the end of a group, the matcher remembers the
beginning and end of the text matched by that group. Later on in
the regular expression you can use `\' followed by DIGIT to match
that same text, whatever it may have been.

The strings matching the first nine grouping constructs appearing
in the entire regular expression passed to a search or matching
function are assigned numbers 1 through 9 in the order that the
open parentheses appear in the regular expression. So you can use
`\1' through `\9' to refer to the text matched by the
corresponding grouping constructs.

For example, `\(.*\)\1' matches any newline-free string that is
composed of two identical halves. The `\(.*\)' matches the first
half, which may be anything, but the `\1' that follows must match
the same exact text.

If a `\( ... \)' construct matches more than once (which can
happen, for instance, if it is followed by `*'), only the last
match is recorded.
0649名無しさん@お腹いっぱい。2005/06/14(火) 16:18:36
If a particular grouping construct in the regular expression was
never matched--for instance, if it appears inside of an
alternative that wasn't used, or inside of a repetition that
repeated zero times--then the corresponding `\DIGIT' construct
never matches anything. To use an artificial example,,
`\(foo\(b*\)\|lose\)\2' cannot match `lose': the second
alternative inside the larger group matches it, but then `\2' is
undefined and can't match anything. But it can match `foobb',
because the first alternative matches `foob' and `\2' matches `b'.
0650名無しさん@お腹いっぱい。2005/06/14(火) 16:55:22
>>646-649

出来ました。
groupingを指定するカッコは \ でエスケープしとかないといけないんですね。
やっとこさ覚えたperlの正規表現と違ったので混乱してしまいました。

どうもありがとうございました。
0651名無しさん@お腹いっぱい。2005/06/15(水) 00:38:45
font-lockで綺麗に彩色されたソースコードをそのまま、プレゼンとかに
使いたいんですけど、
font-lockされたテキストを色情報つきでHTMLとかで外部に出力する
機能ってemacsにはありませんか?
0652名無しさん@お腹いっぱい。2005/06/15(水) 00:44:54
>>651
ell ぐらいみてくれよ
0653名無しさん@お腹いっぱい。2005/06/15(水) 01:10:52
html じゃないけど ps-print-buffer-with-faces で
色付き ps ファイルになるよ。
0654名無しさん@お腹いっぱい。2005/06/15(水) 01:30:13
>>651
face2html.elかhtmlize.elかな
0655名無しさん@お腹いっぱい。2005/06/15(水) 04:31:33
イメージの上にカーソルが乗ると、カーソルの色でイメージが全て覆われてしまい、
イメージが全く見えなくなってしまいます。
この動作はどうにか変えれませんか?
0656名無しさん@お腹いっぱい。2005/06/15(水) 12:39:15
まだ気狂いを気狂いと見抜けず差別することのできない鈍感な奴がいるのか
06576512005/06/15(水) 23:13:52
>654
ありがとうございました。face2htmlより、htmlizeの方が、より正確に再現し、
またhtmlソースも読みやすくて良いですね。
ただ、PowerPointにhtmlizeが出力したHTMLを直接読み込ませると、
<pre>タグが認識されず、ぐちゃぐちゃになってしまいます。
いったん、wordで読み込ませ、そこからrich textとしてPowerPointに貼り付ける
という、わりと面倒な仕儀になってしまいました。

あと、htmlize、faceが他のfaceのinherited-faceだと、色を正確に認識できない…これは
しょぼい…
0658名無しさん@お腹いっぱい。2005/06/16(木) 00:26:16
>>657
htmlize.el なら

pre じゃなくて code で出したらどうなるでしょ
htmlize-buffer-1() をちょっと変えてさ
0659名無しさん@お腹いっぱい。2005/06/16(木) 09:47:42
今見ている画面上の文字列 (バッファ内の文字列ではなく) を
得るにはどうしたら良いのでしょうか?
0660名無しさん@お腹いっぱい。2005/06/16(木) 09:57:31
>>659
画面をキャプしてOCRソフトに流す
0661名無しさん@お腹いっぱい。2005/06/16(木) 10:06:11
今見えてる文字列をタイピング
0662名無しさん@お腹いっぱい。2005/06/16(木) 10:47:37
念写
0663名無しさん@お腹いっぱい。2005/06/16(木) 11:03:43
貞の文字が現れる
0664名無しさん@お腹いっぱい。2005/06/16(木) 12:11:15
方法がないなら、ないって言えばいいのに。。。
0665名無しさん@お腹いっぱい。2005/06/16(木) 12:13:26
方法以前に何をしたいのかよくわからん。
0666名無しさん@お腹いっぱい。2005/06/16(木) 12:22:31
今見ている画面上の文字列 (バッファ内の文字列ではなく) を得たいんだよ。
abbrev. とかでそれを一番優先にしたい。
0667名無しさん@お腹いっぱい。2005/06/16(木) 12:32:03
目をつぶって思い出す。
0668名無しさん@お腹いっぱい。2005/06/16(木) 12:33:38
>>666
まず、言葉を定義しろ

『今見ている』とはなんだ?
『画面』とはなんだ?
『得る』とはなんだ?
0669¬6592005/06/16(木) 12:56:16
>>668 おまえ、相当頭悪そうだな
0670名無しさん@お腹いっぱい。2005/06/16(木) 13:17:36
>>669
0671名無しさん@お腹いっぱい。2005/06/16(木) 13:21:12
>>669
0672名無しさん@お腹いっぱい。2005/06/16(木) 13:29:55
>>666
まず、視神経とコンピュータをつなげないと。
0673名無しさん@お腹いっぱい。2005/06/16(木) 13:37:05
terminal emulator 上で emacs -nw で起動して
あとはマウスで選択すれば mode-line 上の文字列でも何でも
見えている文字列を取得できる。
0674名無しさん@お腹いっぱい。2005/06/16(木) 13:40:00
>>666
方法はあるが、おまえには無理だ。
0675名無しさん@お腹いっぱい。2005/06/16(木) 14:45:47
(defun scr-min()
 (save-excursion
  (move-to-window-line 0)
  (point)))

(defun scr-max()
 (save-excursion
  (move-to-window-line (1- (window-text-height)))
  (end-of-line)
  (point)))

この間の文字列をバッファから拾ってこい。
0676名無しさん@お腹いっぱい。2005/06/16(木) 15:14:09
>>669
0677名無しさん@お腹いっぱい。2005/06/16(木) 15:49:09
>>669
0678名無しさん@お腹いっぱい。2005/06/16(木) 17:36:32
>>669
0679名無しさん@お腹いっぱい。2005/06/16(木) 19:45:05
>>669
0680名無しさん@お腹いっぱい。2005/06/16(木) 19:53:57
>>669 の馬鹿っぽさもいいが,>>675 の馬鹿っぽさは
誰も指摘しないのか?
0681名無しさん@お腹いっぱい。2005/06/16(木) 19:55:25
>>680
おまえが指摘しろよ、チンカスが。
0682名無しさん@お腹いっぱい。2005/06/16(木) 20:12:48
>>681
その足りないオツムでちっとは考えてみたら?
そんなんだからいつまでたっても無職なんだよw


0683名無しさん@お腹いっぱい。2005/06/16(木) 20:35:58
>>682
0684名無しさん@お腹いっぱい。2005/06/16(木) 20:36:37
>>682が何を言いたいのか意味不明な件について。。。。。
0685名無しさん@お腹いっぱい。2005/06/16(木) 20:47:45
>>682
0686名無しさん@お腹いっぱい。2005/06/16(木) 23:31:52
>675よ。画面にはEmacsだけがあると思うなよ。1フレーム1ウィンドウとも思うなよ。
0687名無しさん@お腹いっぱい。2005/06/17(金) 07:25:14
あとは、切り詰められてたりとか、非表示だったりとか、 overlay なんかで違う文字が見えてたりとか…
厳密にやろうとすると、 Emacs 内部だけでも大変そう。
0688名無しさん@お腹いっぱい。2005/06/17(金) 08:19:48
だから、まず言葉の定義が必要なわけだが。
0689名無しさん@お腹いっぱい。2005/06/17(金) 09:06:25
つーかそもそも >>675 みたいなことするんだったら普通
window-start と window-end 使うだろ。なんでわざわざ >>675 みたいな
ことやってんのか分からんってことじゃないの?
0690名無しさん@お腹いっぱい。2005/06/17(金) 12:32:52
ふつう画面にはEmacsだけだろう。 >>686は誤爆か?
0691名無しさん@お腹いっぱい。2005/06/17(金) 12:37:07
>>690
m9(^∀^)
0692名無しさん@お腹いっぱい。2005/06/17(金) 22:29:02
>>633
おっとごめんなさい。
以前リリース版にも当たることを確認した気がするんですが全然駄目ですね orz
21.[34] の奴に差し替えてみました。
普段は CVS HEAD を使ってるので動作確認はしてませんが大丈夫だと思います…多分。
06936752005/06/17(金) 22:34:51
>>689
(恥) 済んません、elisp manual 見たのに該当関数見落してますたorz
0694名無しさん@お腹いっぱい。2005/06/17(金) 22:53:31
window の表示状態を調べるの結構面倒なんだよね。
折り返しとかいろいろあるとめんどくさくなる。
現在行すら頭から数えていくしか方法ないし。
0695名無しさん@お腹いっぱい。2005/06/18(土) 01:24:48
>>694
text-property まで考えると泣きたくなる
0696名無しさん@お腹いっぱい。2005/06/22(水) 08:01:24
C-xC-f でファイルを開く時に補完の候補から外すパターンを
指定するにはどうすればいいの?
0697名無しさん@お腹いっぱい。2005/06/22(水) 10:41:10
completion-ignored-extensions's value is (".svn/" "CVS/" ".o" "~"
".bin" ".lbin" ".so" ".a" ".ln" ".blg" ".bbl" ".elc" ".lof" ".glo"
".idx" ".lot" ".dvi" ".fmt" ".tfm" ".pdf" ".class" ".fas" ".lib"
".mem" ".x86f" ".sparcf" ".fasl" ".ufsl" ".fsl" ".dxl" ".pfsl" ".dfsl"
".lo" ".la" ".gmo" ".mo" ".toc" ".aux" ".cp" ".fn" ".ky" ".pg" ".tp"
".vr" ".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs" ".pyc" ".pyo")
0698名無しさん@お腹いっぱい。2005/06/22(水) 19:04:39
Emacs-currentを使っています。.emacs に
(global-font-lock-mode t)
と書いて、hoge.texなどのファイルを編集する時には
色がつくようにしてます。
ところが、
Ctrl+l
とすると、コメントの部分の赤いのを除いて色が消えてしまいます。
何か他にも .emacs に書いておかなければならないのでしょうか。
どうかご教授お願いします。
0699名無しさん@お腹いっぱい。2005/06/22(水) 19:34:57
>>698
C-l には、どんなコマンドが割り当てられているんでしょうかね?
調べ方:M-x describe-key C-l
07006982005/06/22(水) 20:10:13
M-x describe-bindngs というので調べてみますと、C-l YaTeX-19-recenterとでてきました。yatexで定義されているようです。
0701名無しさん@お腹いっぱい。2005/06/22(水) 20:18:44
RMSが「出してもいい?」メールを出しはじめたみたい。
そろそろEmacs22リリースされそう?
0702名無しさん@お腹いっぱい。2005/06/22(水) 20:54:05
(setq font-lock-set-defaults nil) か
0703名無しさん@お腹いっぱい。2005/06/22(水) 20:54:28
>>698
Subject: [yatex:03958] Re: Mac OS X(Carbon Emacs) で YaTeX を使う
これじゃねーの?
0704名無しさん@お腹いっぱい。2005/06/23(木) 03:50:04
.htmのファイルを開くと(HTML Fill)で開くのですが
これを違うモードで開くにはどうするのでしょうか?
他のモードがわからないので、もしよろしければ
lisp-interaction-mode
で、教えていただけるとうれしいです
0705名無しさん@お腹いっぱい。2005/06/23(木) 03:53:13
File: efaq, Node: Associating modes with files, Next: Working with unprintable characters, Prev: Turning on auto-fill by default, Up: Common requests

5.8 How do I make Emacs use a certain major mode for certain files?
===================================================================

If you want to use a certain mode FOO for all files whose names end
with the extension `.BAR', this will do it for you:

(setq auto-mode-alist (cons '("\\.BAR\\'" . FOO-mode) auto-mode-alist))

Otherwise put this somewhere in the first line of any file you want
to edit in the mode FOO (in the second line, if the first line begins
with `#!'):

-*- FOO -*-

Beginning with Emacs 19, the variable `interpreter-mode-alist'
specifies which mode to use when loading a shell script. (Emacs
determines which interpreter you're using by examining the first line of
the script.) This feature only applies when the file name doesn't
indicate which mode to use. Use `C-h v' (or `M-x describe-variable')
on `interpreter-mode-alist' to learn more.

0706名無しさん@お腹いっぱい。2005/06/23(木) 03:59:24
ありがとうございます
(setq auto-mode-alist (cons '("\\.htm\\'" . auto-interaction--mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.html\\'" . auto-interaction--mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.hml\\'" . auto-interaction--mode) auto-mode-alist))
などと、ひとつづつ指定するものなのでしょうか?
0707名無しさん@お腹いっぱい。2005/06/23(木) 04:06:27
すいませんが質問させて頂きます
開くと文字化けするファイルがあるのですが、開いたファイルの文字コードの指定は
どうすればいいのでしょうか?
なぜかVimではうまく開けるのですが、Emacsではうまく開けません
現在開いている文字コードの確認のしかたなども教えていただけるとうれしいです
0708名無しさん@お腹いっぱい。2005/06/23(木) 10:53:55
>>707
> 開くと文字化けするファイルがあるのですが、開いたファイルの文字コードの指定は
> どうすればいいのでしょうか?
C-x RET cuniversal-coding-system-argument
か?それとも
C-x RET fset-buffer-file-coding-system
のことか?

> なぜかVimではうまく開けるのですが、Emacsではうまく開けません
> 現在開いている文字コードの確認のしかたなども教えていただけるとうれしいです
C-h C か?
0709名無しさん@お腹いっぱい。2005/06/23(木) 12:47:06
>>707-708
その前に *-coding-system はキチンと設定してるのか?
0710名無しさん@お腹いっぱい。2005/06/23(木) 22:11:34
(defun zip-assoc (lis1 lis2 &optional ret)
(while (and lis1 lis2)
(setq ret (acons (car lis1) (car lis2) ret)
lis1 (cdr lis1)
lis2 (cdr lis2)))
(reverse ret))
(setq auto-mode-alist
(append
(zip-assoc
'("\\.htm\\'" "\\.html\\'" "\\.hml\\'")
(make-list 3 'auto-interaction--mode))
auto-mode-alist))
07117072005/06/23(木) 22:49:34
>>708
ありがとうございます
C-x RET としたら
C-x RET- とバッファに表示され、そこでcを押したら
Coding system for following command (default, iso-latin-1-dos):
になります
そこで、euc-jpと打ってリターンすると
Command to execute with euc-jp:
と表示されるだけです
0712名無しさん@お腹いっぱい。2005/06/24(金) 03:43:51
>>710
"\\.html*$"で行ける
>>707
emacsは、異なった文字コードが混在してる場合(ある文字コードには含まれ
ない文字が含まれている場合)には、文字化けする。回避するには、開きたい
文字コードを指定してやる。指定の仕方を聞きたけりゃ、頭下げて頼むこと。
07137072005/06/24(金) 03:46:02
>>712
文字コードは1ファイル統一だと思います
指定して開けるなら、Vimで確認して指定して開きたいので
教えていただけるとうれしいです
どうかよろしくお願いします
orz
0714名無しさん@お腹いっぱい。2005/06/24(金) 04:18:22
答えは既に出してもらってるじゃないか。
「……だけです」で思考停止する脳味噌ゼロの自分を恨め。

0715名無しさん@お腹いっぱい。2005/06/24(金) 04:22:13
しね
0716名無しさん@お腹いっぱい。2005/06/24(金) 04:26:09
ヽ( ・∀・)ノ C-x RET c euc-jp C-x C-f …
0717名無しさん@お腹いっぱい。2005/06/24(金) 04:30:19
それでひらき直してもちゃんと開かれないです
0718名無しさん@お腹いっぱい。2005/06/24(金) 04:44:38
ファイルの先頭行に以下を書き込んで保存した後、開きなおす。
-*- coding: euc-jp -*-
       ↑
もっともたくさん入ってると思われる文字コードを指定
■ このスレッドは過去ログ倉庫に格納されています