トップページ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/
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一発だし、インストールの手間なんか全くないよな
何でも一発だな
0021名無しさん@お腹いっぱい。2015/04/18(土) 23:47:44.75
いきなりどうした

まあ git というか github のお陰で楽になったよね。
dropbox とかでもいいけど。
git 本体なくても直接 raw なところを wget でとってこれるのもいい
0022名無しさん@お腹いっぱい。2015/04/19(日) 03:45:30.01
>>15
どうもどうも
window-size-fixedでサイズ固定出来たけど、そうするとC-x +が無反応になるな…
多分サイズ固定したwindowが1つでもあるとダメなんだろうな、バグかな

>>16
なるほど25だとさらに便利になってんだね
0023名無しさん@お腹いっぱい。2015/04/19(日) 06:53:55.71
>>22
バグかどうかは分からないけれど、たしかに期待には反するね

http://i.imgur.com/5pZTBFC.png この状態で C-x + したら
http://i.imgur.com/pKaAco0.png こうなってほしい
http://i.imgur.com/awPr0Ix.png けど実際にはこうなる
0024名無しさん@お腹いっぱい。2015/04/19(日) 09:28:33.55
fixされているウィンドウ方向は移動できないのがある時点で諦めちゃうのか。
0025名無しさん@お腹いっぱい。2015/04/19(日) 10:55:41.19
emacsスレが今も活況でなんか嬉しいw
0026名無しさん@お腹いっぱい。2015/04/19(日) 12:07:56.40
基本画面は二分割まで、ポップアップはshackleにお任せしているだけの、自分には新鮮な話題だ。
ウィンドウ周り、結構高機能になっていたんですね。

あとはタブバーが公式にビルトイン実装されるのはいつになるのでしょうか?
今よく使われているelscreenは、fringe領域を使ってソフト実装されていますが、
本来fringeは見出し項目などの情報を通知するための領域ですし
それがために他elispの上書きやウィンドウ分割などによって、表示が壊れてしまいますよね。
モダンな高機能テキストエディタとして、
ちゃんとしたタブバーは是非欲しいと思うのですが。
0027名無しさん@お腹いっぱい。2015/04/19(日) 13:14:28.72
>>26
fringe っていうか header かな。
なんとなく公式ではタブ自体に興味もってる人少ないイメージ。
バッファめちゃめちゃ沢山開く人も多いから単純にバッファをタブに表示するって使い方じゃ破綻しそうだしねえ。

個人的にはタブに header-line 使うことにはあんまり抵抗ないんだけど、
elscreen みたいな 1 フレーム 1 情報になるべき情報をバッファごとに表示するってのは気に入らなかった。

上記で出てた side-window つかって 1 フレーム 1 バーを実現してる navbar-mode ってのがあるんだけど、
window-size-fixed を t にしてるってのがあるから縦方向のサイズバランシングが使えなくてなかなか実用しづらい。
http://i.imgur.com/7ccTthO.png
0028名無しさん@お腹いっぱい。2015/04/19(日) 13:40:38.84
最近はemacsをエディタ専用で使っててwanderlustとかのアプリケーションはまったく使ってないから
タブの使い道がそれこそほんとにelscreen用しか思いつかない
0029262015/04/19(日) 13:43:32.32
>>27
おお、side-windowの方でタブバー実現できるんですね!
ウィンドウ分割しても、infoモード使っても、
きちんと1フレームに1つで表示されれいる。
理想通りの動作です。…と思いきや、
縦方向の調整不可能なんですか。うーん、うーん。

硬派な公式陣たちにしてみれば、
タブバーなんてチャラい機能でしかないのでしょうか。
公式って結構保守的なところありますよね。
モダンで高機能なemacs lisp郡がそのことをよく覆い隠してくれていますが。
例えばxftやパッケージマネージャ機能が付いたのが、
比較的最近のことだと知ったときは驚かされました。
0030名無しさん@お腹いっぱい。2015/04/19(日) 14:09:45.57
emacsのml、indent-tabs-modeのデフォルト値をnilにするかどうかで揉めてて面白い
0031名無しさん@お腹いっぱい。2015/04/19(日) 16:16:36.93
>>27
これフォント何?
0032名無しさん@お腹いっぱい。2015/04/19(日) 16:48:26.61
evil使ってる人いる?
helm始めEmacsらしさを損なわないで文字入力を最適化できるなら手出してみようかと思うんだが
0033名無しさん@お腹いっぱい。2015/04/19(日) 18:11:07.09
>>29
マウス使う前提じゃないと、タブバーっていう発想浮かばないんじゃないかな
で、emacs使いでマウス必要と思っている人がほぼいないと思う
0034名無しさん@お腹いっぱい。2015/04/19(日) 19:34:16.29
>>32
emacs と vim との (とくにビジュアルモードにおける) カーソルの扱いの違いに馴染めなくて、結局劣化 evil のようなものを自作したよ。
0035名無しさん@お腹いっぱい。2015/04/19(日) 20:31:10.99
>>31
英文は Consolas で和文は MeiryoKe_Console です。

>>33
クリック対象として以外に、常時出しとく一覧表示用としてもまあ悪くないとは思うんだよね。タブバー。
elscreen と、あとはプロジェクト内ファイルとかの限られたセットのバッファ一覧なんかは表示できてもいいなーとは思う。
0036262015/04/19(日) 21:33:19.98
>>33
うーん、キーボードだけでの操作を前提としている、
GNU screenとかtmuxでも、ちゃんとしたタブ機能が大いに役立っているでしょう?
ならばタブエディタだなんて自然で全然新しくもない発想だと思うんです。
0037名無しさん@お腹いっぱい。2015/04/19(日) 21:54:42.43
そういやそういう議論って emacs-devel で出てたっけと思って検索したら 2008 年頃にあったみたい。
http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg00420.html

ストールマン御大がダメ出ししたりしてるな。まあバッファ表示用としてのタブは確かに全然役に立たなそうではある。
emacs内アプリケーション用のウィジェットとしてなら大いに使いではありそうだねえ。
0038名無しさん@お腹いっぱい。2015/04/19(日) 22:11:23.89
>>34
そういうのならメーリスに流せば反映される可能性高そうだが
0039名無しさん@お腹いっぱい。2015/04/19(日) 22:42:33.41
>>36
普段からtmux使いだけど、タブの表示なんてなくても何の問題もないと思ってるよ
あんなの切り替えるときに見られればいいだけで、常時表示させる必要ないでしょ
0040名無しさん@お腹いっぱい。2015/04/20(月) 13:19:37.70
タブって>>27の画像を見ても分かるけどEmacsのウィンドウの概念と噛み合ってないように思えるんだが…
バッファー≒ウィンドウだから、タブに出すのはしいて言えばフレームになるんじゃないかね
0041名無しさん@お腹いっぱい。2015/04/20(月) 13:48:30.95
フレームの1タブ=1バッファって考えりゃ噛み合ってないだろうけど、
何もフレーム毎にしか表示できないではなくウィンドウ単位にも表示出来るようになってれば済む話ではある。
現状の tabbar.el なんかはそうだし。ただ header と干渉するからせめて header の段数増やせたらいいのにねとかは思う。

>>27 のは elscreen みたいなウィンドウ単位ではなくフレーム単位で管理されるべき情報を表示する場所が欲しい、
ってのが元々の開発動機みたいだからタブを作りたい、ってのが目的ではないよ。
0042名無しさん@お腹いっぱい。2015/04/20(月) 13:56:47.69
実現するとしたら xwidget ブランチの方で実現しそうだな、ネイティブな感じのタブは。
0043名無しさん@お腹いっぱい。2015/04/20(月) 13:59:14.48
>>40
これはバッファを表示してるんでなく、navbarのプラグインでelscreenのタブを表示してる画面なのだ。
0044名無しさん@お腹いっぱい。2015/04/20(月) 18:05:20.05
migemo に単一の文字渡した時に regular expression too big になること多いの辛い
0045名無しさん@お腹いっぱい。2015/04/20(月) 20:04:28.70
タブには90年代にクールだった「立体的なボタン」と同じ臭いがする
0046名無しさん@お腹いっぱい。2015/04/20(月) 22:21:33.81
emacs のウィジェットパッケージは未だにクールな3Dボタンのままだね・・・
0047名無しさん@お腹いっぱい。2015/04/20(月) 22:38:55.54
だからと言ってWindows10のぺったんこのボタンはどうかと思う
0048名無しさん@お腹いっぱい。2015/04/21(火) 08:56:12.55
>>44
正規表現の分割とかでなんとかなるんじゃねえの?
0049名無しさん@お腹いっぱい。2015/04/21(火) 10:00:41.15
auto-fill-mode をかけているファイルをoccur等使って日本語で正規表現検索するとき、

"日
?本
?語
?の
?検
?索"

こんなことしてるんですけど、クールなやり方を教えてもらえませんか?
0050名無しさん@お腹いっぱい。2015/04/21(火) 10:18:42.82
isearch は M-s SPC で改行無視出来るモードに切り替わるけど occur はそういのなさ気だね。
helm 絡みのならそういうのさっくり出来そうな気もするけど使ってないから具体的にどうすりゃいいのかわからん。
0051名無しさん@お腹いっぱい。2015/04/21(火) 11:06:15.65
>>50
isearch の M-s SPC というのがあるのですね。
その関数をoccur等に援用できないか検討します。
ありがとうございます。
0052名無しさん@お腹いっぱい。2015/04/21(火) 21:15:49.96
☆ 日本の核武装は絶対に必須ですわ。☆
http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html

☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
0053名無しさん@お腹いっぱい。2015/04/22(水) 00:36:49.16
内部で message 呼び出してる関数は引数なりカスタマイズ変数なりで黙らせられるようにしてほしいぜ・・・
0054名無しさん@お腹いっぱい。2015/04/22(水) 21:32:09.80
自分でやれ
0055名無しさん@お腹いっぱい。2015/04/22(水) 22:54:52.79
これやったら標準の補完がちょっとリッチになった
(add-hook 'minibuffer-setup-hook
(lambda ()
(when (cl-loop with c = (current-local-map)
for m = c then (keymap-parent m)
while m
when (eq m minibuffer-local-completion-map)
return t
finally return nil)
(add-hook 'post-command-hook
(lambda ()
(cl-letf (((symbol-function 'message)
'ignore))
(minibuffer-completion-help)))
nil t))))
0056名無しさん@お腹いっぱい。2015/04/23(木) 01:10:14.70
そうそう、標準でそんな感じでいいのにって思うんです。
何度もTAB打つの面倒になって、何かしら入れるか作る事になるし。
0057名無しさん@お腹いっぱい。2015/04/23(木) 19:54:52.19
>>55
これなにがうれしいの?
0058名無しさん@お腹いっぱい。2015/04/24(金) 22:10:17.39
*.ac.jpなサイトで、Emacsの紹介がいくつか見つかるけど、どれも大概何か残念というか…。
比較的新しい記事なのに、バージョンが22以前だったり、
canna使わせたり、等幅かどうかすら怪しい汚いフォント使わせたり…
まぁこういうのって学生の方が自発的に色々良いやり方を調べて行くもんなんですが。
0059名無しさん@お腹いっぱい。2015/04/24(金) 22:18:06.85
それを言ったら、Emacsの紹介で残念じゃないのを見たことがない。

大学のは変な環境で動かすのを前提としてることが多い。
0060名無しさん@お腹いっぱい。2015/04/24(金) 22:21:46.01
>>58
大学公式に使い方説明してるところが残念ってこと?
0061名無しさん@お腹いっぱい。2015/04/24(金) 22:24:26.18
授業用のwebページで解説してるようなやつじゃないかな
0062名無しさん@お腹いっぱい。2015/04/24(金) 22:29:59.81
>>61
はい。そういうページのことです。
ページに書いてあることだけの情報で篭もる学生がいるとするなら、
メモ帳以下の変なテキストエディタという印象しか持てませんよね。
0063名無しさん@お腹いっぱい。2015/04/24(金) 22:38:59.96
vim よりは普通のエディタに近いからとりあえず emacs を選んだ感があるよね。
0064名無しさん@お腹いっぱい。2015/04/24(金) 23:55:02.05
基本あくまで講義の準備にすぎない添え物だし
emacsにかぎったこっちゃない
viならとりあえずesc押せレベルだし
ネットワークの設定とかもっとやばいし
古いsendmailの設定さらしっばなしで有害だったり
0065名無しさん@お腹いっぱい。2015/04/25(土) 00:19:14.77
別にエディタの勉強がメインなわけじゃないんだしいいんじゃねえの。
というか大学時代に Emacs 触ったことを後悔してるわ。
このろくでもないキーバインドに慣れてしまったせいでいたるところで不便な思いさせられる。
0066名無しさん@お腹いっぱい。2015/04/25(土) 06:51:25.95
$ emacs file.txt &
でfile.txtを編集できる
C-x C-cで編集を終える

という情報だけ与えられた学習者が編集したいファイル毎にEmacsを起動してるケースを知っているが?
0067名無しさん@お腹いっぱい。2015/04/25(土) 07:25:32.37
知ってるからなんだっていうの?
0068名無しさん@お腹いっぱい。2015/04/25(土) 07:28:26.05
初心者には
C-h または
M-x help を教えるべきだと思う。

できるやつはこれだけで一気に伸びる。
0069名無しさん@お腹いっぱい。2015/04/25(土) 07:53:15.75
そんなのも含めて最初に一発チュートリアルやらせりゃいいんじゃないの。
言語まわりの環境変数がちゃんと設定されてりゃ emacs 側の設定がなくてもちゃんと日本語のチュートリアルができるし。
ヘルプのことだってもっと丁寧に説明してくれてる。
0070名無しさん@お腹いっぱい。2015/04/25(土) 07:58:40.76
vim に比べるとスタート時のとっかかりになるポータルサイトみたいなのないよね
http://emacs-jp.github.io/http://vim-jp.org/ の情報量の差が激しい
0071名無しさん@お腹いっぱい。2015/04/25(土) 10:04:26.24
ggrksと言われすぎて目の前の情報スルーしてぐぐって情報少ないよね(キリッとか
いつも必ず一歩遅れる・ダメな方を選ぶ
それがバカ
0072名無しさん@お腹いっぱい。2015/04/25(土) 10:17:23.93
チュートリアルの内容、やったことある人ならわかるけど薄いよ。
0073名無しさん@お腹いっぱい。2015/04/25(土) 21:10:09.58
こんにちは。あたしはカウガール。
すき家に牛肉を届けるために、旅をしています。
    __
  ヽ|__|ノ    モォ
  ||‘‐‘||レ   _)_, ―‐ 、
  /(Y (ヽ_ /・ ヽ     ̄ヽ
  ∠_ゝ  ` ^ヽ ノ.::::::__( ノヽ
   _/ヽ      /ヽ ̄ ̄/ヽ
0074名無しさん@お腹いっぱい。2015/04/26(日) 15:21:47.44
http://i.imgur.com/DQwZ29C.png
これ見てて思ったけど現状でもUI部品をSVGで描画することは可能なんだよな
0075名無しさん@お腹いっぱい。2015/04/26(日) 15:45:48.86
emacsに画像表示機能とかいらねーよ
0076名無しさん@お腹いっぱい。2015/04/29(水) 17:09:50.00
indent-regionっていうのがあるけど、
これは、offsetの変更のみで
ifの中括弧の改行の有無とかは変更できないよね
if(){
}
if()
{
}
こういうのをいっぺんに整形したいんだけど
0077名無しさん@お腹いっぱい。2015/04/29(水) 17:57:02.96
出来ないんじゃなかったっけ
色んな外部整形ツールがあるからそれを shell-command-on-region で呼び出して置き換えるのがいいんじゃないかな
0078名無しさん@お腹いっぱい。2015/04/29(水) 20:47:50.55
>>77
確かに、それでもできるけどルールを統一するのが無駄手間ですよね
せっかく、c-hanging-braces-alistで{}の改行を定義しているのに・・・
できることならEmacs内でやりたい
0079名無しさん@お腹いっぱい。2015/04/29(水) 21:59:48.05
>>78
現状存在しないから自力で実装するしか無いんでない。
フォーマットするプログラムの引数を現状のスタイルから生成するぐらいが現実的な気もするけど。
0080名無しさん@お腹いっぱい。2015/05/01(金) 01:02:26.28
Debian GNU/Linux スレッドから誘導されてきました
Debianの新版jessie uppgradeにともないemacsを23から24にしました
サーバ側でemacs --daemonでemacsを起動しておいて
remoteからsshで接続後emacsclient -cして作業し
emacsclientを終了後sshをexitすると
jessieにしてから抜け出せなくなりました
(exitしてもremote側のプロンプトが返ってこない)
ctrl-cして抜け出すとサーバ側のemacsが死んでしまい
emacsをdaemonで起動している有り難味がなくなってしまいます

恐らくはremote側からemacsclientを起動するときにオプションなり
環境変数を指定すれば解決するような気がしているのですが
どちら様か解決法をご存知無いですか?
0081名無しさん@お腹いっぱい。2015/05/01(金) 03:49:43.95
マニュアル見ればいーじゃん(ホジホジ
0082名無しさん@お腹いっぱい。2015/05/01(金) 07:48:26.99
man emacs
0083名無しさん@お腹いっぱい。2015/05/01(金) 08:22:17.72
>>80
なんか daemon とターミナルの組み合わせは色々問題あるみたいなのをどっかで見た記憶あるなぁ・・・
emacsclient を終了するとき C-x # でも発生するの?
0084名無しさん@お腹いっぱい。2015/05/01(金) 08:37:43.51
全然分からないけど、emacsclient で --display オプションを使うとか
関係ないかな
0085名無しさん@お腹いっぱい。2015/05/01(金) 08:40:43.42
>>80
Arch Linux をサーバに、cygwin をクライアントにして試したけど特に問題なかったよ。
開いた後 C-x C-c で client 閉じて exit するとちゃんと ssh の接続も切れた。
(Emacs は 24.4.1、SSH は共に OpenSSH_6.8p1)

ただ俺もどっかで ssh の接続が切れなくなる問題見た記憶あるんだよね。
emacs 関係じゃなかったかもしれない。
0086名無しさん@お腹いっぱい。2015/05/01(金) 08:45:33.12
いや、この前スレで出てたと思う
周りで再現できなくて答えは出なかったと思うけど
0087名無しさん@お腹いっぱい。2015/05/01(金) 08:49:53.77
Debian 固有なのかねえ。もしくは端末エミュレータ側に問題があったりとか。
0088名無しさん@お腹いっぱい。2015/05/01(金) 09:16:14.68
server 使ってる時って keyboard-translate が端末毎にしか有効にならないから
term/bobcat によるキー入れ替えを client の接続ごとにやらなきゃいけないのが不毛でならない。
emacsclient -t で接続したときは tty-setup-hook が動くのはわかったんだけど
emacsclient -c の X の窓開くときに動くフックって何があるんだろ。window-setup-hook は起動時のみなんだよなー。
0089名無しさん@お腹いっぱい。2015/05/01(金) 13:31:01.86
emacsのウィンドウはウィンドウじゃないから
だから通ぶったニワカっていやなんだよ
0090名無しさん@お腹いっぱい。2015/05/01(金) 15:39:13.46
>>89
window-setup-hook の場合の window は emacs で言うところの window とは違うよ?意味合い的に frame を指してる。
ドキュメント引いてから書き込んだほうが恥かかなくていいと思う。
0091名無しさん@お腹いっぱい。2015/05/01(金) 16:12:05.33
お前の意味合いなんて知らんが
そこまで言っといてまだbefore-make-frame-hookが見つからんのか?w
0092名無しさん@お腹いっぱい。2015/05/01(金) 16:57:32.36
before-make-frame-hook はフレームが作られるたびに呼び出されちゃうからまた意味合いが違う。
keyboard-translate は terminal 単位に設定されるから同じ terminal を共有してる frame 生成毎に実行するのは無駄だよ。
0093名無しさん@お腹いっぱい。2015/05/01(金) 17:06:34.28
>>88
tty-setup-hook で emacsclient -c の時も大丈夫じゃね?
うちは昔からずっとそうしてる
0094932015/05/01(金) 17:08:50.99
ごめんいまためしたらダメだった…
普段-nwでしか使ってないからだって言い訳しておく…
0095名無しさん@お腹いっぱい。2015/05/01(金) 17:13:22.20
ageるやつはニワカだってのがまた証明されてしまったようだな
0096名無しさん@お腹いっぱい。2015/05/01(金) 17:30:21.02
>>88
ググるとemacsclient -t -e '(terminal-init-bobcat)'とかして対処してるようなのもいるな
-tしてるんだからtty-setupでいいようなきもするが
0097名無しさん@お腹いっぱい。2015/05/01(金) 17:53:05.86
>>88
key-translation-map を使うといいらしい。こっちは端末単位ではない模様。
0098名無しさん@お腹いっぱい。2015/05/01(金) 18:34:04.10
>>91
window-setup-hookのwindowは何故か知らんがどうもフレームの意味で使ってるな
(The name of this hook is due to historical reasons,
and does not reflect its purpose very well.)
とHelpに書いてある

それとbefore-make-frame-hookでもいいんじゃないの?
フレーム作る度に実行してまずい事もないだろうし
0099名無しさん@お腹いっぱい。2015/05/01(金) 18:50:08.81
daemonと-cだとフォントの初期化でも変にはまったな
daemon起動直後はfind-fontとか機能しないから動的にフォント設定しようとしてもダメ
結局決め打ちで諦めたけどスマートな解決方法あるのかな
0100名無しさん@お腹いっぱい。2015/05/01(金) 19:01:04.28
--daemonは外部から正常に終了させる術もないしフォント周りもおかしい(無視されてるか?)
中途半端なままで放置されてるっぽいから、誰かが対応しないと直りそうにない
0101名無しさん@お腹いっぱい。2015/05/01(金) 19:10:15.69
フレーム絡みの初期化は make-frame のタイミングでなされるようになってる。
ただ、無駄に走らないよう (get window-system 'window-system-initialized) が nil の時だけ
window-system-initalization-alist に登録されてる関数を実行する仕様になってるみたい。
フォント絡みの初期化もそこでされている模様。
だから --daemon で起動した場合は emacsclient -c とかでフレーム作られるまで fontset-standard も存在しない状態になってるね。

before-make-frame-hook の中で
(unless (get window-system 'window-system-initialized) ....) でかこってフォント設定かけばいいような気がする。
ただ default-frame-alist の読み込みは before-make-frame-hook の前に実行されちゃうから
そこに関しては hook の外で設定しないとだめっぽいね。
0102名無しさん@お腹いっぱい。2015/05/01(金) 19:28:47.11
>>101
make-frame みてみたけど before-make-frame-hook の前に
window-system-initialized に t が put されてるからその判定は使えないと思う
ださいけど自前の window-system-initalized みたいなプロパティを window-system に設定してやればいいんじゃないかなぁ
0103名無しさん@お腹いっぱい。2015/05/01(金) 19:37:30.73
なんかいけそういけそう言ってるけどbefore-make-frame-hookは普通にemacs起動したときの最初のフレーム作成の時には呼ばれないんだぜ
わけわかんないよね
フォント設定をbefore-make-frame-hookの中だけでやろうとするとフレーム新しく作るまでデフォのままになるよ
0104名無しさん@お腹いっぱい。2015/05/02(土) 06:55:35.59
make-frameにアドバイスしてなんかフック呼ぶようにすればいんじゃね(ホジホジ
0105名無しさん@お腹いっぱい。2015/05/02(土) 12:50:20.46
yankの後にカーソルを動かさない設定をご教示いただけますか?
0106名無しさん@お腹いっぱい。2015/05/02(土) 13:31:40.51
yankの後にカーソルを動かさない設定をご教示いただけますか?
0107名無しさん@お腹いっぱい。2015/05/02(土) 13:52:35.76
yankの後にカーソルを動かさない設定をご教示いただけますか?
0108名無しさん@お腹いっぱい。2015/05/02(土) 14:30:31.61
>>105
一時的にそうしたいなら C-u C-y
C-y が常にそうなるように設定するカスタマイズ変数は無いけど、アドバイスを使えばこんな感じで

(advice-add 'yank :after
(lambda (&rest ignore)
"`yank' の通常の呼び出し(C-y)では挿入後のポイント移動をしないようにする。
前置引数付き(C-u C-y)でポイント移動あり。"
(when (interactive-p)
(exchange-point-and-mark))))
■ このスレッドは過去ログ倉庫に格納されています