Emacs part 22
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001Zeno ◆5nZQbNmQPs
2007/06/03(日) 08:46:53このスレッドは皆が Emacs に関しての情報を共有し合う場である.
まあ気楽にやっていこうではないか
EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
GNU Emacs - GNU Project - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
emacs - SCM: CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
NTEmacs スレッド http://pc11.2ch.net/test/read.cgi/software/1097170623/
前スレ http://pc11.2ch.net/test/read.cgi/unix/1168261179/
最新の stable リリースは「22.1」であり、本体は
* http://ftp.gnu.org/pub/gnu/emacs/emacs-22.1.tar.gz
* http://ftp.gnu.org/pub/gnu/emacs/windows/emacs-22.1-bin-i386.zip (Windows)
からダウンロード可能である.
ちなみに吾の名は Zeno -- Emacs を使用した情報操作の魔術師である.
0822名無しさん@お腹いっぱい。
2007/10/16(火) 01:28:36partial-completion-modeなんて、しらないけれど、
C-q でどうだろう。
0823名無しさん@お腹いっぱい。
2007/10/16(火) 22:03:190824名無しさん@お腹いっぱい。
2007/10/16(火) 22:27:590825名無しさん@お腹いっぱい。
2007/10/16(火) 22:30:48あ、いや、M-x switch-to-buffer C-q SPC * TAB しても No match と言われ
るんですわ。 うーん。
0826名無しさん@お腹いっぱい。
2007/10/16(火) 23:24:52どうでもいいけど…と言いつつRSS読むのに使ってるし、まあGnusは
滅びないだろう。
>>825
バッファ切り替えの問題だけならiswitchbでいいんじゃないか?
0827名無しさん@お腹いっぱい。
2007/10/16(火) 23:30:43それが iswitchb でも No match になっちゃうんです><
p-c-mode 使ってる人少ないのかなあ。
0828名無しさん@お腹いっぱい。
2007/10/16(火) 23:47:58switch-to-buffer に advice かけりゃいいんじゃないの?
0829名無しさん@お腹いっぱい。
2007/10/17(水) 00:03:16ちょっと試してみるから、設定教えて。
0830名無しさん@お腹いっぱい。
2007/10/17(水) 00:10:30それはやってみて駄目だった気がする。よく覚えてないや。やり方が悪かったのか
もしれないけど。
>>829
~/.emacs.el に (partial-completion-mode 1) と書いてあるだけっす。
0831名無しさん@お腹いっぱい。
2007/10/17(水) 00:24:55たしかに補完もできないし、No match にもなったけど、
そのまま Enter すれば選べたよ。
-q で起動して、M-: (partial-completion-mode 1) して、
C-xb C-q SPC * t e s t * RET
適当に何か文字を入力して
C-h i (*info* を表示)
C-xb C-q SPC * t e s t * TAB (ここで No Match)
でも RET すれば *test* を開いたよ。
補完できないのがイヤ、ということならしょうがないかも知れないけど、
No match と表示されるのがイヤなのはどうしようもないんじゃないかなぁ。
0832名無しさん@お腹いっぱい。
2007/10/17(水) 00:26:57> -q で起動して、M-: (partial-completion-mode 1) して、
> C-xb C-q SPC * t e s t * RET
ここで作成したのも
> C-xb C-q SPC * t e s t * TAB (ここで No Match)
> でも RET すれば *test* を開いたよ。
ここで visit したのも、
どっちも " *test*" ね。
0833名無しさん@お腹いっぱい。
2007/10/17(水) 08:23:16嘔吐ロックでも使ってろ。
0834名無しさん@お腹いっぱい。
2007/10/17(水) 10:06:27激しく同意。でもあれ外すと依存関係があってエラーになっちゃうんだよね。
0835名無しさん@お腹いっぱい。
2007/10/17(水) 19:26:37該当する人は気をつけよう。
ttp://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-5377
0836名無しさん@お腹いっぱい。
2007/10/18(木) 00:18:58ありがとう。" *" で始まる隠しバッファなんて名前覚えてないから補完した
かったんだよね。気が向いたらまた粘ってみるす。
0837名無しさん@お腹いっぱい。
2007/10/18(木) 10:27:16(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
を設定したのだが、cc-modeとかを使ったあと保存すると
自動的にshift-jis(?)に文字コードが変わってしまう。
どうしたらいいのでしょうか?
OSはvine linuxです
0838名無しさん@お腹いっぱい。
2007/10/18(木) 11:27:340839名無しさん@お腹いっぱい。
2007/10/18(木) 14:17:21HogeFuga()なのにHogefugaと補完されるのはバグ?
バグじゃないなら結構致命的だと思うんだけど
どう対処してます?
22.1.1のcc-modeです。
0840名無しさん@お腹いっぱい。
2007/10/18(木) 14:47:45どのmodeが shift-jis に変えてるのかを調べる必要があるけど
~/.emacs.my.el か ~/.emacs.el に
(add-hook 'c-mode-common-hook
'(lambda ()
(set-buffer-file-coding-system 'utf-8)
)
)
とか書いておけば c-mode,cc-mode では utf-8 になる。
0841名無しさん@お腹いっぱい。
2007/10/18(木) 16:38:40このモードは html-helper-mode.el を拡張するかたちで実装されているようですが、
nxhtml.el と(mumamo.el を使って)併用できるようにするのは難しいでしょうか?
ttp://www.emacswiki.org/cgi-bin/wiki/NxhtmlMode
ttp://svn.clouder.jp/repos/public/html-tt/trunk/html-tt.el
0842名無しさん@お腹いっぱい。
2007/10/18(木) 18:05:45case-fold-search が t だと case-sensitive になるのは仕様だろ。
nil にするか、dabbrev するときだけ nil に束縛しろ。
0843名無しさん@お腹いっぱい。
2007/10/19(金) 00:40:44HogeFまで入力してから補完したらいいんじゃね?
0844名無しさん@お腹いっぱい。
2007/10/19(金) 02:52:59それでもHogefugaになっちゃう。
他にもMonaをMから補完するとMONAになったり。
俺んとこだけなのかorz
0845名無しさん@お腹いっぱい。
2007/10/19(金) 03:15:40どうしたらいいですか?
0846名無しさん@お腹いっぱい。
2007/10/19(金) 03:52:32(setq dabbrev-case-fold-search nil)
(setq case-replace nil)
(setq-default case-fold-search t)
こんな感じで、replace-string, replace-regex にはdefadviseで (case-fold-search nil) にしてる
0847名無しさん@お腹いっぱい。
2007/10/19(金) 05:27:58うかしてモノスペースフォント用の XLFD を指定すれば使えるようになります。
XLFD については、
ttp://homepage3.nifty.com/peterpan/Font/fonts-tipsfont-xlfd.html
フォントの設定については、
ttp://mplus-fonts.sourceforge.jp/mplus-bitmap-fonts/download/index.html#emacs
が参考になるかと思います。
0848名無しさん@お腹いっぱい。
2007/10/19(金) 22:08:06バッファーをグループ化する方法とかないでしょうか?
c++でヘッダーファイルを何個も開いていくとわからなくなりそう
0849名無しさん@お腹いっぱい。
2007/10/19(金) 23:42:59HogeFu で補完したらどうなる?
0850名無しさん@お腹いっぱい。
2007/10/20(土) 00:11:00string = 'foobar'
flag = True
を
x = 10
string = 'foobar'
flag = True
に揃えてくれるコマンドがEmacsにあったような気がするのですが、誰か知りませんか?
0851名無しさん@お腹いっぱい。
2007/10/20(土) 00:17:01align かな。
0852名無しさん@お腹いっぱい。
2007/10/20(土) 00:37:26ありがとさんです。
0853名無しさん@お腹いっぱい。
2007/10/20(土) 01:02:51ibuffer して `sm' とかはどうだろう。
自分はファイルの絶対パスで sort したいときがあって、標準では用意されて
ないっぽいので自分で作ったけどなんでないんだろう。
0854名無しさん@お腹いっぱい。
2007/10/20(土) 14:53:11普通の同じ文字として扱うようにするにはどうしたらいい??
たとえば、aaa_bbb という文字があって、先頭のaで
C-s wを押したら、aaaまでがワード検索の対象になるけど、
これを一回wを押しただけでaaa_bbbまでを対象にしたい。
emacsハカーな、お前ら教えてください。
0855名無しさん@お腹いっぱい。
2007/10/20(土) 17:28:03バッファのシンタクステーブルを変更すれば実現できる。
ただしM-fとかワード単位の他の処理全てに影響するよ。
0856名無しさん@お腹いっぱい。
2007/10/20(土) 17:39:52(mapc (lambda (c) (modify-syntax-entry c "w" my-syntax-table)) '(?- ?_))
(defadvice isearch-yank-word-or-char (around skip-char-set activate)
(with-syntax-table my-syntax-table ad-do-it))
とかではどうだろう。
aaa_bbb_ccc
aaa-bbb-ccc
0857名無しさん@お腹いっぱい。
2007/10/20(土) 19:04:04ごめん間違えた。
C-s C-w だった。
>>856
できたーー!
マジで、ありがとう。
あとは、これをトグルコマンドにして、使わせてもらいます。
0858名無しさん@お腹いっぱい。
2007/10/20(土) 20:55:310859名無しさん@お腹いっぱい。
2007/10/22(月) 16:31:390860名無しさん@お腹いっぱい。
2007/10/22(月) 16:59:35dired-omit-mode
0861名無しさん@お腹いっぱい。
2007/10/22(月) 17:05:21して、dired-mode で M-o すればデフォルトで .svn は消える。
動作を変えたければ dired-omit-files 辺りを参照汁。
ただ、私の環境だと dired-mode-hook で (dired-omit-mode 1) するとたまにエラー出るが。
0862名無しさん@お腹いっぱい。
2007/10/22(月) 17:07:02(setq dired-listing-switches "-alF -I .svn")
も別解としてあり?
0863859
2007/10/22(月) 17:22:23(setq dired-omit-files (concat dired-omit-files "\\|^\\.svn$"))
として、M-oで消えるようになりました。
おまえらのおかげです。本当にこの節はありがとうございました。
0864名無しさん@お腹いっぱい。
2007/10/22(月) 17:52:200865名無しさん@お腹いっぱい。
2007/10/22(月) 20:25:55見えなくするには消すのがいいだろ
0866名無しさん@お腹いっぱい。
2007/10/22(月) 20:47:48ファイルの中からプロトタイプ宣言を生成することはできませんか?
0867名無しさん@お腹いっぱい。
2007/10/22(月) 21:35:34出来る。でもオススメはしない。
0868名無しさん@お腹いっぱい。
2007/10/22(月) 22:58:44できるだろうけど、途中で追加更新したいときに
既にある宣言とのバッティングを避ける処理とかを入れる必要があるだろうから、
頑張ってもなかなか結果につながらないと思うよ。
occur とか使ってうまいことできないかと考えてみる。
0869名無しさん@お腹いっぱい。
2007/10/22(月) 23:08:320870名無しさん@お腹いっぱい。
2007/10/23(火) 22:20:490871名無しさん@お腹いっぱい。
2007/10/23(火) 23:55:44どうされているのでしょうか?
当方はwindows.elを導入しているのですが、
ウィンドウ(WMのウィンドウ)を3分割して2つのウィンドウで同じファイルを編集して、
3行くらいにしたshellで、makeや動作確認を行っています。
違うファイルを編集したくなると、windows.elで新しく作り移動しそこで編集し、
また、もとのファイルを編集したくなったらwindows.elで戻ると言う行為をしています。
ファイルが5つとかになると、違うファイルを編集するだけで結構な手間になります。
効率の言い方法や、お勧めの方法があれば教えて頂きたいです。
0872名無しさん@お腹いっぱい。
2007/10/24(水) 00:01:34カーソルが載せてある単語を検索とかってできないですか?
0873名無しさん@お腹いっぱい。
2007/10/24(水) 00:12:38> 3行くらいにしたshellで、makeや動作確認を行っています。
make は M-x compile をキーに割り当てて使いなさい。
後は gtags とか使うと便利。
0874名無しさん@お腹いっぱい。
2007/10/24(水) 00:15:57etags, gtags, M-x find-tag
0875名無しさん@お腹いっぱい。
2007/10/24(水) 08:46:25ウインドーは横80縦いっぱいで埋める
0876名無しさん@お腹いっぱい。
2007/10/24(水) 08:49:16その手間を省くのが windows.el じゃないの?
0877名無しさん@お腹いっぱい。
2007/10/24(水) 09:01:29isearch-forward で、マークされたリージョンがある場合、そのリージョ
ン内の文字列をデフォルト値としてそのまま検索してほしいのですが、
そういうことは可能ですか?
ソースを少し読んでみたんですが、簡単にはできそうになかったので、
誰か知っている方がいらっしゃったら教えてください。。
0878名無しさん@お腹いっぱい。
2007/10/24(水) 09:55:42ちょっと違うけど C-s の後 C-w じゃだめ?
0879名無しさん@お腹いっぱい。
2007/10/24(水) 10:32:48マシンスペックがあるならECBマジオヌヌメ
ffapと組み合わせればECBのメソッドビューから#includeしてる行にジャンプして
find-fileですぐ開ける
0880名無しさん@お腹いっぱい。
2007/10/24(水) 14:08:09jka-compr-compression-info-list
をどう編集すればいいのでしょうか?
0881名無しさん@お腹いっぱい。
2007/10/24(水) 19:36:31dabbrevでの展開をすると、その行のカーソルより後ろが消えちゃうんですが
これは仕様なのかそれともなんか設定おかしいのか?
0882名無しさん@お腹いっぱい。
2007/10/24(水) 19:41:430883名無しさん@お腹いっぱい。
2007/10/24(水) 20:43:55M-w で記憶した後、C-s RET C-y RET してる。
0884名無しさん@お腹いっぱい。
2007/10/24(水) 21:02:22むしろarc-modeだろうが、かなり修正しないと使いものにならない
0885名無しさん@お腹いっぱい。
2007/10/24(水) 22:08:340886名無しさん@お腹いっぱい。
2007/10/24(水) 22:26:580887名無しさん@お腹いっぱい。
2007/10/24(水) 22:54:37(setq dired-guess-shell-alist-user '(("\\.lzh$" "lha x")))
0888名無しさん@お腹いっぱい。
2007/10/25(木) 01:37:50そっかバグなのか、ありがとう
0889名無しさん@お腹いっぱい。
2007/10/25(木) 11:21:20ファイルにはtabやspaceを書込まずに、
Emacsで表示した時だけインデントするような
モードをつくることは可能でしょうか?
0890名無しさん@お腹いっぱい。
2007/10/25(木) 11:46:100891名無しさん@お腹いっぱい。
2007/10/25(木) 20:10:43window1には、calendar
window2には、navi2ch
window3には、mew
window4には、eshell
みたいに、一連の操作を行わせることはできませんか?
0892名無しさん@お腹いっぱい。
2007/10/25(木) 20:46:20その状態でいつもつかうんなら、revive.elと併用するといいよ。
0893名無しさん@お腹いっぱい。
2007/10/25(木) 21:25:41モードラインのフォントだけ設定ってできますか?モードラインだけサイズを変えたいんです
フォントの設定関係の語でぐぐっても通常の設定ばかりで
検索語にモードラインを足してみても表示内容の設定ばかりで見つからなくて・・・
0894名無しさん@お腹いっぱい。
2007/10/25(木) 21:28:390895名無しさん@お腹いっぱい。
2007/10/25(木) 22:05:20M-x customize-face RET mode TAB
でいいやん。
0896名無しさん@お腹いっぱい。
2007/10/25(木) 22:19:24マニュアルすら見ないのならなおさら
0897名無しさん@お腹いっぱい。
2007/10/25(木) 23:34:45(win-switch-to-window 1 1)
(calendar)
(win-switch-to-window 1 2)
(navi2ch)
(win-switch-to-window 1 4)
(mew)
(win-switch-to-window 1 5)
(eshell)
0898名無しさん@お腹いっぱい。
2007/10/26(金) 00:01:43中括弧だけif文で使われています。
独自モードを作って色変更をしましたが括弧の対応がわかりませんでした。
forward-list等で中括弧だけ反応させる設定はありますでしょうか?
0899名無しさん@お腹いっぱい。
2007/10/26(金) 00:11:25状況がイマイチ分からないんだけど、相手はシェルスクリプトとかPerlとか?
できればソースの一部を見せてくれると話がしやすい。
0900名無しさん@お腹いっぱい。
2007/10/26(金) 00:20:11> forward-list等で中括弧だけ反応させる設定はありますでしょうか?
scan-lists の C Source code 書き換えればいいんじゃね?
0901名無しさん@お腹いっぱい。
2007/10/26(金) 00:34:09syntax-tableを差し替えて括弧の片側とやらを括弧扱いでなくしてしまえばいい。
(set-syntax-table (make-syntax-table))
(aset (syntax-table) ?\( (list 3))
(aset (syntax-table) ?\) (list 3))
とかかな。
0902名無しさん@お腹いっぱい。
2007/10/26(金) 01:46:12いけました。「()」が反応しなくなりました。
後は、作ったメジャーモードにくっつけて使います。
ありがとうございました。
>>899-900 さんも反応してくださってありがとうございました。
0903名無しさん@お腹いっぱい。
2007/10/27(土) 12:35:49あったら教えて。
0904名無しさん@お腹いっぱい。
2007/10/27(土) 16:58:17ありますでしょうか。
0905名無しさん@お腹いっぱい。
2007/10/27(土) 18:46:13っつーか、まず C-h v しようや。
0906名無しさん@お腹いっぱい。
2007/10/27(土) 22:52:06(interactive "Frename to:")
(rename-file (buffer-file-name) filename)
(rename-buffer (file-name-nondirectory filename))
)
というごっつ簡単なコマンドを使ってます。
(interactive "F...:") のおかげでミニバッファにファイル名をいれるように促されますが、
このデフォルト値がカレントディレクトリになってます。
これを、バッファのファイル名にしたいのですが、どうしたらいいですか。
イメージ的には
(interactive (format "Frename to: %s" (buffer-file-name)))
なんですが、エラーになりました。
0907名無しさん@お腹いっぱい。
2007/10/28(日) 00:22:30期待しているのはこんな感じ?
(defun rename3 (filename)
(interactive
(list
(read-file-name "rename to: " nil nil t (buffer-file-name))))
(rename-file (buffer-file-name) filename)
(rename-buffer (file-name-nondirectory filename)))
0908名無しさん@お腹いっぱい。
2007/10/28(日) 02:25:32(defun rename-current-file (to)
(interactive
(let ((visited (buffer-file-name)))
(if (not visited)
(error "No visited file")
(list (read-file-name "Rename current file to: "
(file-name-directory visited) visited nil
(file-name-nondirectory visited))))))
(rename-file (buffer-file-name) to)
(rename-buffer (file-name-nondirectory to) 'unique)
(setq buffer-file-name (expand-file-name to)))
0909名無しさん@お腹いっぱい。
2007/10/28(日) 02:28:100911名無しさん@お腹いっぱい。
2007/10/28(日) 16:28:16どうもありがとうございます。
やりたいことは
(defun rename3 (filename)
(interactive
(list
(read-file-name "rename to: " (directory-of-file (buffer-file-name)) nil nil (file-name-nondirectory (buffer-file-name)))
))
(rename-file (buffer-file-name) filename)
(rename-buffer (file-name-nondirectory filename)))
でできるようになりました。
(buffer-file-name)が3回でてきてちょっと美しくないかなとも思いますが(interactive)をletで囲むわけにもいかないようなので、とりあえずこれでよしとします。
ただ、
・ファイル名の変更
・バッファ名の変更
はできるのですが
・バッファと結びついているファイル名の変更
が必要なようでして、そのやり方が分かりません。今のままだと、実際のファイル名は変更されているのに、バッファは古いファイル名と結びついたままになっています。
こちらにもアドバイスをお願いします。
0912名無しさん@お腹いっぱい。
2007/10/29(月) 07:03:45(rename-buffer (file-name-nondirectory filename))
を
(set-visited-file-name filename)
にしたらうまく行きました。
0913名無しさん@お腹いっぱい。
2007/10/31(水) 04:49:31C-h で始まるキーバインドをすべて変えたいんですが
一括で変更することはできますか?
それとも一つ一つ変えていくしかないのでしょうか?
0914名無しさん@お腹いっぱい。
2007/10/31(水) 07:29:55(keyboard-translate ?\C-h ?\C-?)
0915名無しさん@お腹いっぱい。
2007/10/31(水) 07:56:14?\^hとか?\034とか
その数字や記法はどこからでてきたんだ、じゃあ?とかどうやって指定すんだっていつも思ってます
0916名無しさん@お腹いっぱい。
2007/10/31(水) 08:51:06URL: http://www.geocities.co.jp/SiliconValley-Bay/9285/ELISP-JA/elisp_26.html
0917名無しさん@お腹いっぱい。
2007/10/31(水) 20:37:01ispell-complete-word の中で complete した後のポイントの位置を計算しようと
(+ (- (length word) (- end start)) cursor-location)
とかやってるんだけど (delete-region start end) した後にやっているから、
(- end start) を評価すると 0 になるのがミソか。
completion ならもっと便利な M-/ とかあるから、もう使っている人がいない?
使っていても大抵の場合 eob な位置でやるから気が付かない?
0918名無しさん@お腹いっぱい。
2007/10/31(水) 21:06:53help の prefix を KEY に割当てるだけでいいよ。
(define-key global-map KEY 'help-command)
prefix を C-c C-h にしたいなら (C-c C-h h で HELLO が出るようになる)
(define-key mode-specific-map "\C-h" 'help-command)
とかでもいい。
で、
(defile-key global-map "\C-h" 'any-command) して完了。
こんなコトしなくても help はデフォルトで F1 にバインドされているから、
C=h はさっさと潰してこれに慣れるのもアリだと思うよ。
0919名無しさん@お腹いっぱい。
2007/11/02(金) 01:52:31Emacsって何かするたびに#hoge#とかのバックアップファイルに書き込んでいるのでしょうか?
0920名無しさん@お腹いっぱい。
2007/11/02(金) 03:40:31レスありがとうございます
ですが、C-?に割り当てるとなぜか実行時に "C-? is undefined" のエラーが起こり
C-i に割り当てると実行時に何も変化がおきません(自分がわかる範囲内で)
>>918
色々と詳しくありがとうございます。
一番覚えやすくキーが被らないのでF1を使って行くことにします
0921908
2007/11/02(金) 04:37:40C-w でポイント位置の文字列を取り込みたいのですが、
invisible な属性が付いたテキストの部分も取り込んでしまいます。
これを回避する方法ってありますか?
0922名無しさん@お腹いっぱい。
2007/11/02(金) 04:55:45レス数が900を超えています。1000を超えると表示できなくなるよ。