Emacs part9
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGEmacs
http://cocoa.2ch.net/unix/kako/967/967450973.html
Emacs part2
http://pc.2ch.net/unix/kako/1001/10010/1001087615.html
Emacs part3
http://pc.2ch.net/unix/kako/1007/10076/1007618266.html
Emacs part4
http://pc.2ch.net/unix/kako/1013/10133/1013390142.html
Emacs part5
http://pc.2ch.net/unix/kako/1021/10217/1021734785.html
Emacs part6
http://pc.2ch.net/unix/kako/1032/10326/1032611750.html
Emacs part7
http://pc.2ch.net/test/read.cgi/unix/1042141693/
Emacs part8
http://pc.2ch.net/test/read.cgi/unix/1051455239/
Emacs Lisp で書かれたプログラムのバグを知らせる方法
http://www.jpl.org/elips/BUGS-ja.html
0664名無しさん@お腹いっぱい。
NGNGガイルの強パンチ空中投げ
0665名無しさん@お腹いっぱい。
NGNGEmacs 使うなら major-mode くらい知っとかないと。
C-h t やっとくといいよ。
あと、頭の悪さは自慢にならにょ。
>>664
それはフライングバスタードロップ。
0666名無しさん@お腹いっぱい。
NGNG1つ質問させてください。
:map を使用すると以下のような式が.viperに登録されるのですが、
(viper-record-kbd-macro "gg" 'vi-state [\1 G] 't)
いざ gg を入力すると一瞬妙な間があってから 1G が実行される
感じなのですが、これはそういうものなのでしょうか?
できれば、gg を入力した直後にさくっと実行されるようにしたい
のですが、なにか方法があるのでしょうか、教えてください。
0667名無しさん@お腹いっぱい。
NGNGフライングメイヤー
0668名無しさん@お腹いっぱい。
NGNGどのゲームのガイルよ。
0669名無しさん@お腹いっぱい。
NGNGそろそろいいかげんにしてくれ。
0670名無しさん@お腹いっぱい。
NGNGしょうさ【少佐】
a major(陸軍)
0671名無しさん@お腹いっぱい。
NGNG0672664
NGNG0673名無しさん@お腹いっぱい。
NGNG0675名無しさん@お腹いっぱい。
NGNG(defun my-find-alternate-file ()
"カーソル位置を保持したままファイルを読み直す"
(interactive)
(let ((point (point)))
(find-alternate-file (buffer-file-name))
(goto-char point)))
(global-set-key "\C-x\C-v" 'my-find-alternate-file)
便利だろ?
0676名無しさん@お腹いっぱい。
NGNG0677(not 675)
NGNG(defadvice find-alternate-file
(around find-alternate-file-revival-point (filename) activate)
"カーソル位置を保持したままファイルを読み直す"
(let ((point (point)))
ad-do-it (goto-char point)))
関連情報: http://namazu.org/~satoru/diary/?200203c&to=200203272#200203272
>>676
どういう意味?
0678名無しさん@お腹いっぱい。
NGNGwhich is an interactive compiled Lisp function in `files'.
(find-alternate-file FILENAME)
Find file FILENAME, select its buffer, kill previous buffer.
If the current buffer now contains an empty file that you just visited
(presumably by mistake), use this command to visit the file you really want.
(around find-alternate-file-ad (filename) activate)
"読み直しならカーソル位置を保持する"
(let ((point (if (equal (expand-file-name filename) buffer-file-name)
(point))))
ad-do-it
(if point (goto-char point))))
0682名無しさん@お腹いっぱい。
NGNG> 開くことなんて無いだろ。
あるよ。おれは。
0683名無しさん@お腹いっぱい。
NGNGどの位の頻度で?
0685名無しさん@お腹いっぱい。
NGNGhttp://namazu.org/~satoru/diary/?date=20020327#p02
を使ってる。
0686名無しさん@お腹いっぱい。
NGNG> 週に数回くらいかな?
> 同じファイル開き直すことよりは多いよ。
私も割りと良く使うかな、find-file で、開いたら違うファイルだったとかいっ
た場合、バッファの数を増やしたくないので、そのときには、
find-alternate-file を使って find-file で読み込んだファイルそのものを
置き換えています。
0687名無しさん@お腹いっぱい。
NGNG自動読み込み(global-auto-revert-mode)を使え、天国だ。
ttp://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=revert
俺は使っていないが自動がいやなら、disk かな?
ttp://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=disk
0688名無しさん@お腹いっぱい。
NGNGなんかズレてるような。
0689名無しさん@お腹いっぱい。
NGNGglobal-auto-revert-modeは便利そうだから使ってみた。
けど、カーソル位置が保持されないのが欠点があった。
天国ではなかった。
0690↑
NGNG○保持されない欠点
0691629
NGNGプロンプトで`clear'と打ちたいのですが..
comint使えばできるでしょうか?
0692名無しさん@お腹いっぱい。
NGNG0693629
NGNG(defun comint-watch-for-clear-command (string)
(when (string-match "clear" string)
(interactive)
(let ((inhibit-read-only t))
(erase-buffer))))
(add-hook 'comint-input-filter-functions 'comint-watch-for-clear-command)
0694693
NGNGにしないとまずいですね
0695名無しさん@お腹いっぱい。
NGNG!!interactiveてそんな後ろに書いてもOKでつか!
はじめてみますた。
0696名無しさん@お腹いっぱい。
NGNG確かに。
0697名無しさん@お腹いっぱい。
NGNG保存されるよ.
バージョンによって違うのかな.
どうしても駄目なら
(defadvice auto-revert-buffers
(around save-cursor-position activate)
(let ((cp (point)))
ad-do-it
(goto-char cp)))
とでもしておくとかかな.
0698名無しさん@お腹いっぱい。
NGNG逆にinteractiveの位置なんかに
制限あったのか、目から鱗
0699名無しさん@お腹いっぱい。
NGNG制限無いのか有るのか、どっちや。
あと、複数の interactiveを用意しといて、
条件で呼び分けたりするのも大丈夫なんかな。
0700名無しさん@お腹いっぱい。
NGNG(interactive-form 'comint-watch-for-clear-command)
=> nil
だよ。
> Once the function is called, all its body forms including the
> `interactive' form are executed, but at this time `interactive'
> simply returns `nil' without even evaluating its argument.
ということで、interactive をどこに置いてもエラーにはならないけど、
単に nil を返す関数とみなされてるだけ。
実際にその関数がコマンドであると宣言するには、interactive が
最初の form でないとだめみたい。
> 条件で呼び分けたりするのも大丈夫なんかな。
そういうことしたい場合は、
(interactive (if (なんとか) (list あれ これ) (list それ どれ)))
みたいな感じにするしかない。
0701名無しさん@お腹いっぱい。
NGNG>>693ので動いてるみたいに見えるが結局どうすりゃいいんだ?
(interactive) は不要
0703689
NGNG勘違いしてた。カーソル位置は保存されます。
よって global-auto-revert-mode は天国であると認定します。
;; 俺の設定
(global-auto-revert-mode 1)
(setq auto-revert-interval 1)
(setq auto-revert-verbose nil)
0704名無しさん@お腹いっぱい。
NGNG確かにそうだ。add-hookするためだけだし。
それに、この程度ならlambdaの方がいいかもナンテオモウ。
0705名無しさん@お腹いっぱい。
NGNG環境 Vine 2.6
Emacs 20.7 デフォルトのRPM
Emacs 21.2 適当に make した椰子
---
その時の気分で使い分けてます
PCの速度的には気にならない速度でてるんだけど、実際使い比べちゃうとね・・・
0706名無しさん@お腹いっぱい。
NGNG環境 Vine 2.6
Emacs 20.7 デフォルトのRPM
Emacs 21.2 適当に make した椰子
---
その時の気分で使い分けてます
PCの速度的には気にならない速度でてるんだけど、実際使い比べちゃうとね・・・
0707名無しさん@お腹いっぱい。
NGNG||・ω・|| <スマソふかわやっちゃったよ...
. ノ/ / > <スマソふかわやっちゃったよ...
ノ ̄ゝ
0708643
NGNGらしいことは分かりました。
一応下記のようなコードを拾ってきたのですがうまく動きません。(Emacs21.1)
(「M-x hide-body」をすると全部隠れる。)
(add-hook 'c-mode-common-hook
'(lambda ()
(setq outline-regexp "^\\(\\(\\w\\|[$_ \t]\\)+::\\)?\\(\\w\\|[$_~+-]\\)+\\s *\\(\\(\\w\\|[$_]\\)+\\s *((\\|(\\)[^)]*)+$")
(outline-minor-mode)))
うまく動かせられる方はいませんでしょうか?
0709名無しさん@お腹いっぱい。
NGNGvipを使う事によるデメリットって結構あるのですか?
0710名無しさん@お腹いっぱい。
NGNGただ、emacs の各種 major-mode, minor-mode と共存させるために
美しくない設定が必要なこともあって、それが少し面倒。
とはいえ、自分でさくっと直せるのが lisp で書かれているいい所。
vip と viper どう違うのかな。viper の方が新しいらしいから、
調べもせずに viper にしたけど。
0711ヽ(´ー`)ノ
NGNG0712名無しさん@お腹いっぱい。
NGNG----
;; Viper is a new name for a package formerly known as VIP-19,
;; which was a successor of VIP version 3.5 by Masahiko Sato
;; <ms@sail.stanford.edu> and VIP version 4.2 by Aamod Sane
;; <sane@cs.uiuc.edu>. Some ideas from vip 4.4.2 by Aamod Sane
;; were also shamelessly plagiarized.
----
となっていますね。はずかしげもなく盗用したと書いてあります。;-)
0713名無しさん@お腹いっぱい。
NGNGでもvipとc++-modeとかを一緒に使えないみたいね・・・
0714名無しさん@お腹いっぱい。
NGNG0715名無しさん@お腹いっぱい。
NGNGxemacsは重いだけで違いが分らないんです。
0716名無しさん@お腹いっぱい。
NGNG漏れが気にしてるのはこれぐらい↓
XEmacsの特長
・lispから見えるメモリ空間が広い(FSFは256MB以下)
・そのかわりconsセル1個あたりのメモリ消費量がFSFより多い
・バイナリ拡張モジュールをdlできる
・パッケージシステム
FSF Emacsの特長
・ボタンのラベルに対してisearchできる
他に何かある人は追加よろ。
0717名無しさん@お腹いっぱい。
NGNGEmacsの話じゃないかもしれないので恐縮ですが、
windows98+Cygwin1.5.5+Meadow1.10(emacs20.4.1)環境で
M-x grep をした時のことをお伺いしたいのです。
当方、日本語を検索するために lv を lgrep として M-x grep から
呼ぶように設定しておりますが、
M-x grep リターンで、ミニバッファにて
Run grep (like this): lgrep -n As フォント .emacs リターン
すると
cd c:/cygwin/home/mydir
lgrep -n -As フォント .emacs NUL
NUL: No such file or directory
88 [main] lgrep 1703171 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
9525 [main] lgrep 1703171 open_stackdumpfile: Dumping stack trace to LGREP.EXE.stackdump
grep exited abnormally with code 101120 at Fri Sep 26 00:10:13
となり、
なにやら、NULという名前のファイルからも検索しようとしてエラーに
なっているみたいなんです。
これはミニバッファでリターンしたときにその改行コードが lgrep コマンド
に 'NUL' という文字列として渡されてしまっているのでしょうか?
だとしたらどうしたらそれを抑止できるのでしょう?
meadowの使用文字コードはShift-JISです。(モードラインにSと出ている)
同じ症状のかたはいませんか?
ちなみに
M-x grep
lgrep -n -As フォント .emacs;リターン
のようにセミコロンをいれ、ここでコマンドは終わりです。とすると
正常に検索できますが、最後に1行
/usr/bin/bash: line 1: /usr/lib/NUL: No such file or directory
と出ます。ので、やはりシェルに'NUL'という文字がわたっているんだろうなぁ。
と考えています。
0718名無しさん@お腹いっぱい。
NGNGどうぞ。
Meadowについて語ってくれなスレ 3
http://pc2.2ch.net/test/read.cgi/software/1056601345/
0720名無しさん@お腹いっぱい。
NGNGNUL の前に > 入れてみ。直るから。
0721720
NGNG0723名無しさん@お腹いっぱい。
NGNG(set-face-background 'mmm-default-submode-face nil)
こんな感じらしいんですが、どうも ~/.emacs に書いても
反映されないみたいです。毎回phpファイルを開いたあとに
評価しなおしてます。こういう場合はどうすればいいですか。
フックとかいうやつを使うんですかね。
0724名無しさん@お腹いっぱい。
NGNG0725名無しさん@お腹いっぱい。
NGNGXEmacs の mule は死んだとか山岡師が言ってなかった?
0726名無しさん@お腹いっぱい。
NGNGben-MULE がイカレポンチだからな
0727名無しさん@お腹いっぱい。
NGNGCVS HEAD とかボロボロだったので Emacs21 に乗り換えたよ。
今は知らない。
> windows98+Cygwin1.5.5+Meadow1.10(emacs20.4.1)環境で
1.5.5って最新版かな。アップデート控えとこ
0729名無しさん@お腹いっぱい。
NGNG↓これ?
- XEmacs 21.5 の Mule 機能を完膚無きまでに改変した Ben Mule 氏は、
+ XEmacs 21.5 の Mule 機能を完膚無きまでに改変した Ben Wing 氏は、
0730名無しさん@お腹いっぱい。
NGNGgoogleで見つけた。
ふーん、そんなことになってたんだ。やっぱり開発者リソースが
分散すんのは問題あるねえ。
まあ俺はFSF Emacsで十分なんで。
0732名無しさん@お腹いっぱい。
NGNGされてしまうんですが、M-x telnet みたいに隠すようには
出来ないでしょうか?→Emacs21.2
昔は出来たような気もしたんですが・・・
0733名無しさん@お腹いっぱい。
NGNGこれでいける?
(add-hook 'comint-output-filter-functions
'comint-watch-for-password-prompt)
0734名無しさん@お腹いっぱい。
NGNG0735名無しさん@お腹いっぱい。
NGNG0736名無しさん@お腹いっぱい。
NGNGありがとうございます。
今環境がないので月曜日にでも試してみます。
0737名無しさん@お腹いっぱい。
NGNG・やっぱりファイルの名前が悪かったと思ってシェルでfoo.cをbar.cにリネームする
このあと、Emacsのバッファの方はfoo.cのままなので
気付かずにfoo.cを編集し続けてしまうことがよくあるんですけど、
何かいい方法はありますか。
0738名無しさん@お腹いっぱい。
NGNG0739名無しさん@お腹いっぱい。
NGNG似たような事俺も時々してしまうけれど、
elispレベルでは対処できないんでないかな……。
0740名無しさん@お腹いっぱい。
NGNGいまひとつだが
foo.cバッファをbar.cにwrite-fileしてシェルではfoo.cを消すだけ
な習慣にすれば〜
0741737
NGNGファイルをリネームして、さらにバッファをリネームするelispを書いて、
それをキーに割り振ればいいのかな…
バッファをリネームするときに名前が被ったときが面倒だ
(require 'uniquify)してるので
diredでやるなら、現在のバッファのファイルが存在するディレクトリでdiredを起動するのを
キーバインドしないと面倒。
ちょっと考えてみます
0742名無しさん@お腹いっぱい。
NGNG> diredでやるなら、現在のバッファのファイルが存在するディレクトリでdiredを起動するのを
> キーバインドしないと面倒。
は?
開いているfoo.cバッファで「C-x d」すれば、現在のバッファの
ファイルが存在するディレクトリでdiredを起動するでしょう。
そこで「R」をおして、foo.cをbar.cにリネームするだけ。
リネームしたらバッファ名も変更するかどうかも聞いてくる。
何も、elispを書く必要もないし、shellを使う必要もない。
(つうかshellを使う癖をなおそう。あとshellは、shell-modeですよね?)
複数ファイルを一括リネームしたけれ下記のを使えばいいだけ。
ttp://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=wdired
0743名無しさん@お腹いっぱい。
NGNG737じゃないけど、勉強になりました。
いままでずっと、>>740のやり方をやってましたんで。
> (つうかshellを使う癖をなおそう。あとshellは、shell-modeですよね?)
普段eshellなんですがダメっすか?
0744名無しさん@お腹いっぱい。
NGNG0745名無しさん@お腹いっぱい。
NGNG> 普段eshellなんですがダメっすか?
おっ、それでも可。
「M-!」も使いこなすと便利だよ。
また、print文デバッグして速度の限界を感じたら、
自分のマシンに 「M-x telnet」して使う事もある。
0746名無しさん@お腹いっぱい。
NGNGそんなにいろいろきかれるなら
write-file後diredでdの方がよさげ
0747名無しさん@お腹いっぱい。
NGNGM-x compileでの出力についてなんですが、例えば
#include <stdio.h>
int main(void)
{
char *hoge = NULL;
puts("テスト");
*hoge = 1;
return 0;
}
というコードをコンパイルして
M-x compile
からこのプログラムを実行すると、
"テスト"という文字は正しく表示されますが、その後にある
*hoge=1でセグメンテーション違反が起こったときに以下のように表示されます。
Compilation ▼⊇▼ー▼≪▼♭▼ニ■⊂▼キ▼∫▼♭ー√∧∩▽ヌ▽∋ at Sun Sep 28 17:20:56
文字化けが起こった部分をそのままはりつけているので
掲示板上でどのように見えるかわかりませんが、
Compilationの後に
[セグメンテーション違反です。]
という文がくるはずですが、その部分が文字化けしてるんです。
この部分の文字化けを直すにはどうすればいいんでしょうか?
0748747
NGNG文字化けしていますが、元の状態とは違う化けかたでした。
0749名無しさん@お腹いっぱい。
NGNG> >>742
> そんなにいろいろきかれるなら
> write-file後diredでdの方がよさげ
emacs-21.3.50 だと、何も聞かれずに、バッファの名前も変えてくれますよ。
0750名無しさん@お腹いっぱい。
NGNGこんな感じで「telnet」となっているところをエラーを出したコマンドを設定する。
(modify-coding-system-alist 'process "telnet"
'(euc-japan-unix . euc-japan-unix))
もしくは、下記の設定をいじるとか。
(set-default-process-coding-system *autoconv* *autoconv*)
また、LANGの値をいじってみるとか。
0751名無しさん@お腹いっぱい。
NGNG747 じゃないけど私も知りたいので。
それって sentinel が受け取る文字列にも効きます?
ちょっと試したけどうまくいかなかったんで
(defadvice compilation-sentinel (before decode-msg activate)
(setq msg (decode-coding-string msg 'euc-jp)))
で逃げてます。
0752名無しさん@お腹いっぱい。
NGNG0753名無しさん@お腹いっぱい。
NGNG0754名無しさん@お腹いっぱい。
NGNGちょいメモに未だnemacsを愛用してるのだが、
execute-extended-command で historyぐらいも使えんのはさすがに不便だ。
advice.el のおかげでそれなりのを作れそうではあるが面倒。
0755名無しさん@お腹いっぱい。
NGNGそうっす.
# html-mode 使ってるひとっているの?
0756名無しさん@お腹いっぱい。
NGNG0757名無しさん@お腹いっぱい。
NGNG0758737
NGNG(defun rename-visited-file-name (new-file-name)
(interactive "FRename current file to: ")
(let ((old-file-name (buffer-file-name)))
(set-visited-file-name new-file-name t)
(delete-file old-file-name)))
でいいような気がしてきたので、これでしばらく使ってみます
0760643
NGNG自力で見つけましたので報告します。
付属の hideshow.el を使えば出来ました。
(M-x hs-minor-mode)
標準だと、コメント文、中カッコ内が隠されたので、
下記のようにして「hs-hide-all」の時は、中カッコ
(関数の中身)だけを隠すようにしました。
(setq hs-special-modes-alist
'((c-mode "{" "}" nil )
(c++-mode "{" "}" nil )
(bibtex-mode ("^@\\S(*\\(\\s(\\)" 1))
(java-mode "{" "}" nil )
))
これで、VC++.NETのアウトライン縮小と同じことが出来ました。
では。
0761名無しさん@お腹いっぱい。
NGNGおお、スゴイ!
使える情報アリガトサン
0762643
NGNGいろいろ探している間に、もう一つ付属のマイナーなモードを
みつけたのでメモ代わりに書かせていただきます。
cwarn.el … C/C++で怪しい部分をハイライトしてくれる。
Cソースで下記のような「=」と1行目の「;」に色をつけてくれるモードです。
if (x = 0);
foo();
(global-cwarn-mode 1)を.emacsに書いておけば有効になります。
#C編集時は、「hide-ifdef-mode」、>>760 と上記を有効にしています。
じゃ。
0763名無しさん@お腹いっぱい。
NGNGyahtml で、色付けだけ html-helper のを貰って使ってますです。
>>762
> cwarn.el … C/C++で怪しい部分をハイライトしてくれる。
山岡さんの、develock も同じような事をやってくれますよ。
つか、ある Project の coding-standard と違ってる書き方をしてたら
色を付けてくれる minor-mode があったら便利かも。
■ このスレッドは過去ログ倉庫に格納されています