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

Emacs Part 33

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/12/20(日) 20:11:28
前スレ
Emacs Part 32
http://pc12.2ch.net/test/read.cgi/unix/1256324736/
0477名無しさん@お腹いっぱい。2010/01/17(日) 21:56:00
>>476
ac-modesという変数で、どのメジャーモードでauto-complete-modeを
実行するかを管理しているようだ。
なので、ac-modesにhowmを加えればよいかと思う。
0478名無しさん@お腹いっぱい。2010/01/17(日) 23:51:10
>>472
ホリケンが解決してくれてたぞw
0479名無しさん@お腹いっぱい。2010/01/18(月) 00:00:29
おちた?
0480Zeno ◆5nZQbNmQPs 2010/01/18(月) 01:29:43

最近Emacsの凄さに気がついた 語ろうぜ
http://yutori7.2ch.net/test/read.cgi/news4vip/1263718364/

>>1 吾のは init.el だがな
>>2 常識だ
>>3 許す
>>4 eMax!
>>5 吾はemacsでviバインディング
>>6 そうか
>>8 初心者かね
>>9 好きなの使え
>>10 ビル・ジョイ氏のツールを馬鹿にするな
>>11 viper-mode
>>15 emacsclient使え
>>16 まあな。
>>17 backup-directory-alist, backup-by-copying 参照

0481名無しさん@お腹いっぱい。2010/01/18(月) 11:34:05
>>477
レスありがとうございます。
.emacsに↓を入れてみましたがうまくいきません。
何か違いますかね?

(when (boundp 'ac-modes)
(setq ac-modes
(append ac-modes
(list 'howm-mode ))))
0482名無しさん@お腹いっぱい。2010/01/18(月) 12:15:53
requireする前に設定してるんじゃないの?
0483名無しさん@お腹いっぱい。2010/01/18(月) 13:18:43
Emacs 23を起動するとき
$ emacs -g 80x24 &
で起動してるんだけど、この設定を ~/.emacs書いておきたい。
どういう風に書けばいいの?
0484名無しさん@お腹いっぱい。2010/01/18(月) 13:35:43
シェルのエイリアスにすれば?
0485名無しさん@お腹いっぱい。2010/01/18(月) 13:36:51
(set-frame-size (selected-frame) 80 24)
0486名無しさん@お腹いっぱい。2010/01/18(月) 14:01:15
起動後のジオメトリ変更って一瞬元のサイズでウィンドウ変更されるから気持ち悪いんだよね。
でもそれを解消するにはダンプするしかないとか。
0487名無しさん@お腹いっぱい。2010/01/18(月) 14:29:04
.Xresources に

Emacs.geometry: 80x24+0+0

とか書いとくとか
0488名無しさん@お腹いっぱい。2010/01/18(月) 18:55:25
Emacsと日本、果たしてどっちが長く持つかな。
0489名無しさん@お腹いっぱい。2010/01/18(月) 19:16:56
中学生みたいなこと言うなよ。
0490名無しさん@お腹いっぱい。2010/01/18(月) 19:21:06
中学生ですが何か
0491名無しさん@お腹いっぱい。2010/01/18(月) 19:21:58
毛は生えているのであろうか
0492名無しさん@お腹いっぱい。2010/01/18(月) 19:25:43
胸は膨らんできたか?
0493名無しさん@お腹いっぱい。2010/01/18(月) 21:03:08
my-bust-up: End of your growth [6 times]
0494名無しさん@お腹いっぱい。2010/01/18(月) 22:31:06
>>477
>>481
howm-modeはマイナーモード
0495名無しさん@お腹いっぱい。2010/01/19(火) 03:41:14
popup.elでabbrevで登録した関数を評価して表示するにはどうすればいいでしょうか?
.abbrev_defsに
("time" "(current-time-string)" nil 0)
と書いているのですが
これの展開後をpopup.elのリストに表示してほしいのですが
0496名無しさん@お腹いっぱい。2010/01/19(火) 10:54:06
>>494
(setq ac-modes
(append ac-modes
(list 'text-mode)))

とすることでhowmを使っている時にもauto-completeを有効にすることができました
ありがとうございます
0497名無しさん@お腹いっぱい。2010/01/19(火) 22:07:33
Emacs23でx-face使えなぃょぅ(=゜ω゜)ノ
0498名無しさん@お腹いっぱい。2010/01/19(火) 22:25:31
x-face使ってる人ってまだ居るのか・・・

あれはなんていうか早く登場しすぎた仕様よな。
今なら絶対ウケると思う。
0499名無しさん@お腹いっぱい。2010/01/19(火) 23:18:51
>>498
> x-face使ってる人ってまだ居るのか・・・
>
> あれはなんていうか早く登場しすぎた仕様よな。
> 今なら絶対ウケると思う。

ごめん、出来た。
x-face-e21だけど。wanderlustで新聞読むのに、ロゴが出てた方が便利w
0500名無しさん@お腹いっぱい。2010/01/20(水) 10:45:29
>>498
使ってるよ。sylpheedだけど、たまにx-faceつきのメールが届くとニヤリ
0501名無しさん@お腹いっぱい。2010/01/21(木) 17:09:03
Linux 上で mingw32 を使って、emacs(-23.1) をコンパイル出来た方居ませんか?
0502名無しさん@お腹いっぱい。2010/01/21(木) 17:13:02
>>501
書き忘れましたが、windows 用のバイナリを、linux 上で作りたいのです。
0503名無しさん@お腹いっぱい。2010/01/21(木) 22:19:47
やったことないけど、wine 使うだけじゃダメなの?
0504名無しさん@お腹いっぱい。2010/01/21(木) 22:58:48
10年ぶりにEmacs使ったのですが、次のバッファへ移動するのって
C-c C-n じゃなかったですか?最近のは違いますか?
0505名無しさん@お腹いっぱい。2010/01/21(木) 23:06:25
>>504
ずっと昔からC-x o と覚えているが。 (頭は覚えてないけど指がそう覚えてる)
0506名無しさん@お腹いっぱい。2010/01/21(木) 23:56:43
それは「次のウィンドウ」じゃないのか?

次のバッファに行くキーバインドなんて無いと思うけど。
なんだろう、C-x b (switch-to-buffer) のことかなあ。
0507名無しさん@お腹いっぱい。2010/01/22(金) 06:55:23
C-x <right>とかか?
0508名無しさん@お腹いっぱい。2010/01/22(金) 11:18:25
M-x bury-buffer か?
0509名無しさん@お腹いっぱい。2010/01/22(金) 11:47:02
>>504
昔は C-c C-n だったの?
0510名無しさん@お腹いっぱい。2010/01/22(金) 13:03:46
C-c がグローバルなわけない
0511名無しさん@お腹いっぱい。2010/01/22(金) 13:18:34
一応こういうルールがある。

Infoより。

* 読者のメジャーモードでは、`C-c LETTER'をキーとして定義しないこと。
これらのキー列はユーザー向けに予約済みである。それら*だけ*がユーザー
向けに予約されたキー列であり、それらを禁止しないこと。

かわりに、`C-c'のあとにコントロール文字か数字文字か特定の句読点文
字が続くキー列を定義する。これらのキー列は、メジャーモード用に予約
してある。

Emacsのすべてのモードをこの慣習に従うように変換するのはたいへんな
作業量であった。この慣習を捨てさるとその作業をむだにしてしまい、ユー
ザーにも不便である。
0512名無しさん@お腹いっぱい。2010/01/22(金) 13:33:05
>>511
10年前もそうだっけ。
0513名無しさん@お腹いっぱい。2010/01/22(金) 13:46:51
>>506
あ、そうか。 現在のウインドウの中でバッファーを切り替えると言う事か.
常にバッファーリストから選択するからそういう発想は無かったわ.

ちなみにC-h w next-bufferとするとこう出て来るね.
next-buffer is on C-x <C-right>, C-x <right>, <menu-bar> <buffer> <next-buffer>

0514名無しさん@お腹いっぱい。2010/01/22(金) 15:11:48
enacs
0515名無しさん@お腹いっぱい。2010/01/23(土) 13:40:31
数十個のバッファを開いて作業することが多いので、便利なバッファ間の移動方法を探しています。
普段、バッファの移動は tabbar.el (ウェブブラウザのタブ機能のようなもの)を使っています。
マウスでバッファを選択できるのが good なのですが、いくつか不満があります。

 1. バッファをたくさん開いていると、どこに所定のバッファがあるのか分かりずらい
  (どこに所定のバッファがあるかタブを一つ一つ見ないと見つからない)
 2. タブの並び替えが出来ない(改造すれば出来るかもしれない)
 3. バッファをたくさん開くと、全てのタブが見えなくなる
 4. ウィンドウの分割を行うと、各ウィンドウごとにタブが表示されて見栄えが悪い

一番、不満なのが 1 です。
たくさんのバッファを開いていて作業するとき、所定のバッファに簡単に
移動できる方法ってありませんか?
0516名無しさん@お腹いっぱい。2010/01/23(土) 14:52:58
elscreen なんかで、特定のバッファを
使うスクリーンを固定して使うとかしてるかなあ
0517名無しさん@お腹いっぱい。2010/01/23(土) 15:33:41
C-x C-b でリストしてみる
0518名無しさん@お腹いっぱい。2010/01/23(土) 15:44:46
C-x bをanythingにする
0519名無しさん@お腹いっぱい。2010/01/23(土) 16:08:07
http://pc11.2ch.net/test/read.cgi/gamedev/1260695466/
0520名無しさん@お腹いっぱい。2010/01/23(土) 17:02:13
anything(爆)
0521名無しさん@お腹いっぱい。2010/01/23(土) 17:30:48
俺はelscreen-tab派だなぁ。
自分の場合バッファとタブは一対一対応である必要ないし。

iswitchb なんかもいいんじゃない?
その手の補完移動をずんずん進んでいくと anything に行き着くんだと思うけど。
0522名無しさん@お腹いっぱい。2010/01/23(土) 18:32:56
バッファというか作業単位が重要だしね

elscreen いいんだけど、複数のスクリーンで同じバッファを使っていると
ポイント位置が若干混乱することがあるのがなあ
0523名無しさん@お腹いっぱい。2010/01/23(土) 21:55:18
Special Buffer Frames と Gnome とかのパネルを使うっていうなはどうだろ
う。設定や使い勝手は良くなさそうだけどね。

ちなみに自分は、バッファ、ウィンドウ関係は ido と winner, ibuffer,
windmove を使ってる。
0524名無しさん@お腹いっぱい。2010/01/24(日) 03:25:52
昔こんなの作った。人にサボってるとばれにくいように、+とか*から始まるバッファは除外してます。
誰かがもっとスマートなの誰かが作ってたけど、どこに行ったか忘れた。

;; 前に見てたバッファ、その前のバッファ...とさかのぼる
;; (このコマンドでバッファを切り替えても
;; 最近選んだバッファのリストは変更されない)
(defun my-switch-to-next-buffer ()
(interactive)
(let ((blist (buffer-list))
(buffer))
(while blist
(setq buffer (car blist))
(setq blist (cdr blist))
(if (eq (current-buffer) buffer)
(progn (while (and blist (or (string= (substring (buffer-name (car blist)) 0 1) " ")
(string= (substring (buffer-name (car blist)) 0 1) "*")
(string= (substring (buffer-name (car blist)) 0 1) "+")))
(setq blist (cdr blist)))
(switch-to-buffer (car blist) t)
(setq blist nil))))))
(global-set-key [C-tab] 'my-switch-to-next-buffer)
0525名無しさん@お腹いっぱい。2010/01/24(日) 03:26:12
続き

;; my-switch-to-next-buffer の逆
(defun my-switch-to-prev-buffer ()
(interactive)
(let ((blist (buffer-list))
(prev-buffer)
(buffer))
(while blist
(if (or (string= (substring (buffer-name (car blist)) 0 1) " ")
(string= (substring (buffer-name (car blist)) 0 1) "*")
(string= (substring (buffer-name (car blist)) 0 1) "+"))
()
(setq prev-buffer (car blist)))
(setq blist (cdr blist))
(setq buffer (car blist))
(if (eq (current-buffer) buffer)
(progn (switch-to-buffer prev-buffer t)
(setq blist nil))))))
(global-set-key [C-S-tab] 'my-switch-to-prev-buffer)
0526名無しさん@お腹いっぱい。2010/01/24(日) 03:26:53
あ、このキーバインドはWindows風です。
0527名無しさん@お腹いっぱい。2010/01/24(日) 11:07:40
おれの環境ではなぜかiswithch-bufferなどを呼ぶとキーを
全く受け付けなく問題があって(原因は未だに不明、はぁ)、
下記の関数を使ってる
C-tで次のバッファ、M-C-tで前のバッファに移動

これを連打(とういか、押しっぱなし)にして目的のバッファにたどりつい
たらまぁいいか、とあきらめてる。目で確認できるし、バッファを前後
できるので、ちょっと行きすぎても戻れるし

(defun previous-buffer ()
"Select previous window."
(interactive)
(bury-buffer))
(defun backward-buffer ()
"Select backward window."
(interactive)
(switch-to-buffer
(car (reverse (buffer-list)))))
(global-set-key "\C-t" 'previous-buffer)
(global-set-key "\M-\C-t" 'backward-buffer)
(fset 'previous-buffer 'bury-buffer)

というか、ホントはiswitch-bを使いたいです
オレと同じくキー受け付けなくなる問題に遭遇している方々、
お助けください(泣)
0528名無しさん@お腹いっぱい。2010/01/24(日) 11:19:54
すんません、
iswitch-b → iswitchb-buffer
でした、使ってないから名前間違えてました…
これが使いたいです
0529名無しさん@お腹いっぱい。2010/01/25(月) 00:00:27
>>524
見られたくない作業をするバッファを " バッファ名" のように
先頭が半角空白ではじまるようにするといいと思うよ。
そうすればバッファリストにも出てこないし。

つくった名前を忘れたら (buffer-list) を評価すれば一覧が出るので、そこで捜す。
0530名無しさん@お腹いっぱい。2010/01/25(月) 00:20:43
仕事中にそんな余裕があるお前らが羨ましい
0531名無しさん@お腹いっぱい。2010/01/25(月) 01:44:03
去年から社内インフラチームに入ってすげぇ暇になった
規定は7.5hだけど働いてるのは実質3時間ぐらい
0532名無しさん@お腹いっぱい。2010/01/25(月) 05:52:09
そうやってなまっていくのさ
0533名無しさん@お腹いっぱい。2010/01/25(月) 08:14:35
一日4.5hも.emacsを書いて過ごせるのか
0534名無しさん@お腹いっぱい。2010/01/25(月) 09:26:01
>>531
俺も実質そのぐらいしか働いてない。
給料は結構な額になるんだけどね。
以前は仕事が糞忙しくて、いつも楽な部署に移りたがっていたものだが、
実際にそうなってみると、楽すぎるのもどうかと考えるようになった。
暇な時はパソコンでテクニカルなebook読んだりラノベ読んだりしてる。
0535名無しさん@お腹いっぱい。2010/01/25(月) 11:00:30
数年そんな生活だったなー
もう辞めるけど
0536名無しさん@お腹いっぱい。2010/01/25(月) 11:58:50
せっかくemacs使いなんだからというと変かもしれないけど
空いた時間でオープンソースなプロジェクトに参加したり立ち上げたりするとかどう
0537名無しさん@お腹いっぱい。2010/01/25(月) 12:17:30
閑職に回された奴にそんな知能もないだろ
0538名無しさん@お腹いっぱい。2010/01/25(月) 12:18:09
涙拭けよ
0539名無しさん@お腹いっぱい。2010/01/25(月) 13:04:03
コード書いて公開とかはしてるけどね
0540名無しさん@お腹いっぱい。2010/01/25(月) 18:25:54
Emacs関係が二つある
http://www.ipa.go.jp/jinzai/mitou/2009/2009_2/youth/k_koubokekka.html
0541名無しさん@お腹いっぱい。2010/01/25(月) 23:38:36
recentfってsessionで実現できないの?
0542名無しさん@お腹いっぱい。2010/01/26(火) 22:41:54
すみません、C-k などでカットしたものをミニバッファにペーストしたいのですがC-yでできません。
ペーストする方法はありますか?
0543名無しさん@お腹いっぱい。2010/01/26(火) 22:52:32
>>542
別に普通に出来るけどな。 普通のバッファーの中ではC-yでペースト出来てる?
0544名無しさん@お腹いっぱい。2010/01/26(火) 22:53:12
へ?普通に出来る気がするけど。
ミニバッファにフォーカス移ってないだけじゃないの?

もしくは kill-whole-line が t で改行されちゃってるとか。
0545名無しさん@お腹いっぱい。2010/01/26(火) 23:19:45
>>542
C-s の話だったら、M-e でミニバッファにフォーカスが移る。
0546名無しさん@お腹いっぱい。2010/01/27(水) 09:55:20
>>545
おー、これ知らなかったw
0547名無しさん@お腹いっぱい。2010/01/27(水) 10:57:28
C-s なら M-y でペーストという手も。
0548名無しさん@お腹いっぱい。2010/01/27(水) 15:44:49
衰退しきったEmacsの話ばかりでうぜぇ
Vimの話しようぜ
0549名無しさん@お腹いっぱい。2010/01/27(水) 19:19:17
ここで viper-mode Lv3の俺が颯爽と
05505482010/01/27(水) 21:36:55
すいません。スレ勘違いしてました。
0551名無しさん@お腹いっぱい。2010/01/28(木) 00:19:37
>>545
普通に RET でいいきがする。
0552名無しさん@お腹いっぱい。2010/01/28(木) 00:34:34
RET使ってる男の人って…
0553名無しさん@お腹いっぱい。2010/01/28(木) 01:01:41
>>551
いつの間に。。RET サンクス。
0554名無しさん@お腹いっぱい。2010/01/29(金) 15:33:30
vim の C-n とか C-p みたいに、dabbrev で上から補完するか下から補完するかコントロールしたいんだけど、
どうしたらいいの?
0555名無しさん@お腹いっぱい。2010/01/29(金) 16:17:38
ググればいいと思う
0556名無しさん@お腹いっぱい。2010/01/29(金) 16:43:08
わかった。負の引数を渡せばいいのか。
05575422010/01/29(金) 21:12:22
みなさん、ありがとうございます。C-sの話でした、すみません。
知らないことばかりで勉強になりました。
C-s後RETはI-searchではなくてSearchになってしまいました。実害はありませんが。
0558名無しさん@お腹いっぱい。2010/01/30(土) 04:21:59
その後C-s押せば覚えてるしな。
0559名無しさん@お腹いっぱい。2010/01/30(土) 13:40:19
c言語でプログラム書く際、gnu global(gtags)を使ってる人は多いと思うのですが、
ある構造体のメンバ変数の型(や、宣言部のコメント)が知りたいとき、構造体の定義に直接ジャンプしたいと考えます。
しかし、その変数の呼び出しを検索すると、膨大な数がヒットして、定義の部分が探せないです。
関数の定義にはジャンプ出来るのですが、変数の定義にはジャンプ出来ないのですか?
これだけの為に、VC++を立ち上げておいて変数の定義を検索する自分が目茶苦茶ダサいです。
emacsでどうやればスマートに目的を達成できますか?
0560名無しさん@お腹いっぱい。2010/01/30(土) 14:41:08
ダサさを受け入れた時、はじめてEmacs使いといえる、というのも一つの真理じゃないかな。
0561名無しさん@お腹いっぱい。2010/01/30(土) 17:37:25
emacsはわりとそういった構文依存の処理って弱いんだよね。
弱いっていうよりは外部のプログラムに頼ることが多いというか。

それで足りる範囲で頑張れば良いと思う。
それだけのために・・・って言ってるけどそれがとても必要なんだったら大人しくVC使った方がいいよ。
0562名無しさん@お腹いっぱい。2010/01/30(土) 17:54:54
変数の定義っていうと、スコープ毎に変数宣言を記録しといて
ジャンプする変数のスコープを監視してみたいなのが必要だな。

どっちかというとそういうのはキッチリした外部の解析プログラムがあったほうが
Emacsに限らず応用範囲が広そうでいいな。Elispより作り込みやすいだろうし。
単にソース解析して応答してくれるツールがあるってほうがUnixっぽいんだが
最近なかなかないよな。
0563名無しさん@お腹いっぱい。2010/01/30(土) 18:22:11
C++のはたしかあった。
Xrefactoryとかいうの。C++用は有料だけど。

http://xref-tech.com/xrefactory/main.html

結局そこらへんのマンパワーはeclipseにそそがれたんじゃないかなーと思う。
普通のエディタとどうやって連携しやすいように作るか考えるより
始めからそういう前提で作られてるIDE上で実現する方が楽だったってことなんじゃないかね。

ECB 使ったことないんだけど実際あれどうなの?
0564名無しさん@お腹いっぱい。2010/01/31(日) 03:52:29
ecbはキーバインド憶えるのめんどくさくて,数回使っただけだった
0565Zeno ◆5nZQbNmQPs 2010/01/31(日) 05:56:59
Emacs pretest 23.1.92 がリリースされた。
貴様等も使え

ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-23.1.92.tar.gz
0566名無しさん@お腹いっぱい。2010/01/31(日) 06:56:02
しね
0567名無しさん@お腹いっぱい。2010/01/31(日) 09:55:24
pretestはりリースなのか
0568名無しさん@お腹いっぱい。2010/01/31(日) 13:52:19
>>559
もうすぐ出る23.2を待つんだ。
標準で付いてくるSemanticを使えば、スマートに目的を達成出来る。
globalも要らなくなる。
0569名無しさん@お腹いっぱい。2010/01/31(日) 14:56:15
Semantic()笑
0570名無しさん@お腹いっぱい。2010/01/31(日) 16:56:43
>>559
etags つかってるけどジャンプできるよ
0571名無しさん@お腹いっぱい。2010/01/31(日) 17:24:40
Semanticは一部に偏見があるみたいだけど、まぁ以前どうしようもない
ショボい状態の時があったからしかたないけど、今はかなり使えるようになってるよ。
0572名無しさん@お腹いっぱい。2010/02/01(月) 00:12:55
gitの使えないるびきち先生萌え
0573名無しさん@お腹いっぱい。2010/02/01(月) 00:17:42
あー誤解しないように言っとくけど、gitもわかんねーカスが!!とか言ってるわけじゃなく
使えないって告白出来るあたりに萌えるというかなんというか

知ったかしないところがいいんすよ
0574名無しさん@お腹いっぱい。2010/02/01(月) 00:19:45
あっそ
死ね
0575名無しさん@お腹いっぱい。2010/02/01(月) 13:46:35
定期的にルビキチの話を振ってくる奴は本人?
0576名無しさん@お腹いっぱい。2010/02/01(月) 14:11:00
定期的って、何日周期なの?
■ このスレッドは過去ログ倉庫に格納されています