トップページunix
993コメント345KB

Emacs Part 48 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2015/04/16(木) 17:20:51.10
語り合いましょう。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/

前スレ
Emacs Part 47
http://peace.2ch.net/test/read.cgi/unix/1419059839/
0002名無しさん@お腹いっぱい。2015/04/17(金) 01:30:04.45
>>1
乙!
0003名無しさん@お腹いっぱい。2015/04/17(金) 15:20:30.43
helm つかってない人っていまどきいるんだろうか
わざわざ ido を選ぶメリットってあるのかな?
0004名無しさん@お腹いっぱい。2015/04/17(金) 18:37:05.32
逆に聞きたいがhelm使うメリットってなんなの?
0005名無しさん@お腹いっぱい。2015/04/17(金) 21:14:48.24
helmとido、共存で利用している人が多いんじゃないかな?
補完インターフェースって、この2つ以外にもいくつか乱立しているみたいだけど、
helmとidoの2つに関してはそれぞれ別々な高機能性があって、きちんと役割分担できていると思う。

idoの利点
- find-file / find-dired は明らかにidoの方が使いやすい。
- あいまいマッチを有効にして、コツを得ればキー入力数がかなり少なくなるのを期待できる。
- キープレス後アクションを入力する類のコマンド(例えばmewのmew-summary-ls -> sync/update/all)は
わざわざウィンドウがポップアップするhelmよりも、ido-ubiquitousの補完の方がスマート。

helmの利点
- 複数の候補ソースを一括で利用できる。例えばhelm-miniなど。
- チラ見機能 C-z が便利。
- 選択した候補に対して複数のアクションを定義できる。helm-locate -> find-file as root とかお気に入り。
- 候補が「ファイルの行」などと言った比較的長いものと相性が良い。helm-ag, helm-swoopなど。
- migemo検索可能。
0006名無しさん@お腹いっぱい。2015/04/17(金) 21:30:49.83
標準機能の補完で頑張ってる人もどれぐらいいるんだろうか
completion-styles とか completion-cycle-threshold とかのカスタマイズが emacs23 ぐらいのころにどばっと増えたけど
いじってる人あんまりみたことない
0007名無しさん@お腹いっぱい。2015/04/17(金) 21:43:05.76
githubで検索したけどcompletion-styles設定してる人いないわけじゃないみたいだが。
https://github.com/search?l=Emacs+Lisp&;p=1&q=completion-styles&type=Code&utf8=%E2%9C%93
ほとんどどっかからコピペしたのか同じ内容のだけど。
0008名無しさん@お腹いっぱい。2015/04/17(金) 21:57:06.85
anythingの時もそうだったけど、helm-for-filesが便利すぎて手放せん
逆に言うとhelm-for-files以外はそれほど必要じゃない
0009名無しさん@お腹いっぱい。2015/04/17(金) 22:25:16.64
display-buffer-in-side-window 便利だね。
C-x 1 とかしても消えないウィンドウ作れるから info とか eww 参照中に
気兼ねなくバッファ開いたりウィンドウ構成ガチャガチャいじったり出来る。

(display-buffer-in-side-window (get-buffer "*info*") '((side . right)))
0010名無しさん@お腹いっぱい。2015/04/18(土) 00:31:26.46
>>6
標準のをちょっと弄って使ってる
TAB一回で補完ウィンドウ出してそっちにフォーカスして、ハイライトされてる文字打つと絞り込むとか程度だけど
idoは何かうるさくて馴染めなかった
0011名無しさん@お腹いっぱい。2015/04/18(土) 01:01:39.88
>>9
俺のEmacsには無いなと思ったらinteractiveじゃないのか…
どうやって使うんだ?
0012名無しさん@お腹いっぱい。2015/04/18(土) 06:44:43.85
>>11
`display-buffer-alist' かな

(add-to-list 'display-buffer-alist
'("\\`\\*info\\*\\'" .
(display-buffer-in-side-window
(side . right)
(window-width . 80))))

こうしておくと M-x info したとき `display-buffer-in-side-window' で開く
この例ではついでにウィンドウ幅を 80 に指定してみた
0013名無しさん@お腹いっぱい。2015/04/18(土) 08:05:51.06
ウィンドウ管理まわりほんと強化されたよね。
C-g でさくさく閉じれるのがなければ popwin 使うのやめてたわ。
0014名無しさん@お腹いっぱい。2015/04/18(土) 13:18:32.24
>>12
おお!ありがとう!
こんな事出来たんだな
しいて難を言えばC-x +をした時に>>12の例だとinfoが画面の半分を占有しちゃうな…
ずっと80のままでいてくれればいいんだけど
0015名無しさん@お腹いっぱい。2015/04/18(土) 13:56:11.91
window-size-fixed ってバッファローカル変数があるから info のフックあたりで t にしてやればいい
*info* バッファ表示してるときだけサイズ固定が有効になる
0016名無しさん@お腹いっぱい。2015/04/18(土) 14:46:53.83
>>14
Emacs 25なら

(add-to-list 'display-buffer-alist
             '("\\`\\*info\\*\\'" .
               (display-buffer-in-side-window
                (side . right)
                (window-width . 80)
                (preserve-size . (t . nil)))))

これで幅を維持してくれる

preserve-size の値の意味は
(t . nil) 幅を維持
(nil . t) 高さを維持
(t . t) 幅と高さ両方を維持
0017名無しさん@お腹いっぱい。2015/04/18(土) 14:51:53.13
なおバッファローカル変数の `window-size-fixed' と
display-buffer系の preserve-size とでは少し挙動が異なっている

`window-size-fixed' が t の時、そのバッファを表示しているウィンドウは一切サイズ変更できない

一方 preserve-size によるサイズ固定はこれよりちょっと緩く、
そのウィンドウが選択されているときに C-x { 等でサイズを変更する事ができて
それによって preserve-size 設定は解除される
(勿論、C-x + や、他のウィンドウで C-x } とかでは変化しない)
0018名無しさん@お腹いっぱい。2015/04/18(土) 15:17:43.36
ここらへん popwin は追従できてない感じだなぁ。
色々設定しないと side-window なウィンドウで completion-list-buffer も開けない。
0019名無しさん@お腹いっぱい。2015/04/18(土) 15:26:49.46
side-window 以外にも下に表示するとか再利用するとかポップアップするとか色々設定できるんね。
C-g でお手軽クローズに変わる何かがあれば標準の display-buffer-alist だけでも行けそうだなー。
0020名無しさん@お腹いっぱい。2015/04/18(土) 21:31:51.35
俺はLispは全部手動で入れてるわ
別に面倒なビルドプロセスがあるわけでもなし
wget一発で終了

そもそも環境再現したいときはgit clone一発だし、インストールの手間なんか全くないよな
何でも一発だな
■ このスレッドは過去ログ倉庫に格納されています