TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
祝・GCC 3.0リリース
■■■X11不要論■■■R4■■■
「Emacsは消滅すべき」、ゴスリング氏
【コマンド】2chコマンド作ってよ【/usr/bin/2ch】
■■■X11不要論■■■R4■■■
BSDバブルを仕掛けるスレ 第2案
ユニマガの凋落を嘆く [UNIX Magazine]
翻訳者の集い
Autoconf,Automakeについて
【地球シミュレータ】NECのスパコン【SXシリーズ】

Emacs Part 48


1 :2015/04/16 〜 最終レス :2015/12/08
語り合いましょう。

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.sc/test/read.cgi/unix/1419059839/

2 :
>>1
乙!

3 :
helm つかってない人っていまどきいるんだろうか
わざわざ ido を選ぶメリットってあるのかな?

4 :
逆に聞きたいがhelm使うメリットってなんなの?

5 :
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検索可能。

6 :
標準機能の補完で頑張ってる人もどれぐらいいるんだろうか
completion-styles とか completion-cycle-threshold とかのカスタマイズが emacs23 ぐらいのころにどばっと増えたけど
いじってる人あんまりみたことない

7 :
githubで検索したけどcompletion-styles設定してる人いないわけじゃないみたいだが。
https://github.com/search?l=Emacs+Lisp&p=1&q=completion-styles&type=Code&utf8=%E2%9C%93
ほとんどどっかからコピペしたのか同じ内容のだけど。

8 :
anythingの時もそうだったけど、helm-for-filesが便利すぎて手放せん
逆に言うとhelm-for-files以外はそれほど必要じゃない

9 :
display-buffer-in-side-window 便利だね。
C-x 1 とかしても消えないウィンドウ作れるから info とか eww 参照中に
気兼ねなくバッファ開いたりウィンドウ構成ガチャガチャいじったり出来る。

(display-buffer-in-side-window (get-buffer "*info*") '((side . right)))

10 :
>>6
標準のをちょっと弄って使ってる
TAB一回で補完ウィンドウ出してそっちにフォーカスして、ハイライトされてる文字打つと絞り込むとか程度だけど
idoは何かうるさくて馴染めなかった

11 :
>>9
俺のEmacsには無いなと思ったらinteractiveじゃないのか…
どうやって使うんだ?

12 :
>>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 に指定してみた

13 :
ウィンドウ管理まわりほんと強化されたよね。
C-g でさくさく閉じれるのがなければ popwin 使うのやめてたわ。

14 :
>>12
おお!ありがとう!
こんな事出来たんだな
しいて難を言えばC-x +をした時に>>12の例だとinfoが画面の半分を占有しちゃうな…
ずっと80のままでいてくれればいいんだけど

15 :
window-size-fixed ってバッファローカル変数があるから info のフックあたりで t にしてやればいい
*info* バッファ表示してるときだけサイズ固定が有効になる

16 :
>>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) 幅と高さ両方を維持

17 :
なおバッファローカル変数の `window-size-fixed' と
display-buffer系の preserve-size とでは少し挙動が異なっている

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

一方 preserve-size によるサイズ固定はこれよりちょっと緩く、
そのウィンドウが選択されているときに C-x { 等でサイズを変更する事ができて
それによって preserve-size 設定は解除される
(勿論、C-x + や、他のウィンドウで C-x } とかでは変化しない)

18 :
ここらへん popwin は追従できてない感じだなぁ。
色々設定しないと side-window なウィンドウで completion-list-buffer も開けない。

19 :
side-window 以外にも下に表示するとか再利用するとかポップアップするとか色々設定できるんね。
C-g でお手軽クローズに変わる何かがあれば標準の display-buffer-alist だけでも行けそうだなー。

20 :
俺はLispは全部手動で入れてるわ
別に面倒なビルドプロセスがあるわけでもなし
wget一発で終了

そもそも環境再現したいときはgit clone一発だし、インストールの手間なんか全くないよな
何でも一発だな

21 :
いきなりどうした

まあ git というか github のお陰で楽になったよね。
dropbox とかでもいいけど。
git 本体なくても直接 raw なところを wget でとってこれるのもいい

22 :
>>15
どうもどうも
window-size-fixedでサイズ固定出来たけど、そうするとC-x +が無反応になるな…
多分サイズ固定したwindowが1つでもあるとダメなんだろうな、バグかな

>>16
なるほど25だとさらに便利になってんだね

23 :
>>22
バグかどうかは分からないけれど、たしかに期待には反するね

http://i.imgur.com/5pZTBFC.png この状態で C-x + したら
http://i.imgur.com/pKaAco0.png こうなってほしい
http://i.imgur.com/awPr0Ix.png けど実際にはこうなる

24 :
fixされているウィンドウ方向は移動できないのがある時点で諦めちゃうのか。

25 :
emacsスレが今も活況でなんか嬉しいw

26 :
基本画面は二分割まで、ポップアップはshackleにお任せしているだけの、自分には新鮮な話題だ。
ウィンドウ周り、結構高機能になっていたんですね。

あとはタブバーが公式にビルトイン実装されるのはいつになるのでしょうか?
今よく使われているelscreenは、fringe領域を使ってソフト実装されていますが、
本来fringeは見出し項目などの情報を通知するための領域ですし
それがために他elispの上書きやウィンドウ分割などによって、表示が壊れてしまいますよね。
モダンな高機能テキストエディタとして、
ちゃんとしたタブバーは是非欲しいと思うのですが。

27 :
>>26
fringe っていうか header かな。
なんとなく公式ではタブ自体に興味もってる人少ないイメージ。
バッファめちゃめちゃ沢山開く人も多いから単純にバッファをタブに表示するって使い方じゃ破綻しそうだしねえ。

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

上記で出てた side-window つかって 1 フレーム 1 バーを実現してる navbar-mode ってのがあるんだけど、
window-size-fixed を t にしてるってのがあるから縦方向のサイズバランシングが使えなくてなかなか実用しづらい。
http://i.imgur.com/7ccTthO.png

28 :
最近はemacsをエディタ専用で使っててwanderlustとかのアプリケーションはまったく使ってないから
タブの使い道がそれこそほんとにelscreen用しか思いつかない

29 :
>>27
おお、side-windowの方でタブバー実現できるんですね!
ウィンドウ分割しても、infoモード使っても、
きちんと1フレームに1つで表示されれいる。
理想通りの動作です。…と思いきや、
縦方向の調整不可能なんですか。うーん、うーん。

硬派な公式陣たちにしてみれば、
タブバーなんてチャラい機能でしかないのでしょうか。
公式って結構保守的なところありますよね。
モダンで高機能なemacs lisp郡がそのことをよく覆い隠してくれていますが。
例えばxftやパッケージマネージャ機能が付いたのが、
比較的最近のことだと知ったときは驚かされました。

30 :
emacsのml、indent-tabs-modeのデフォルト値をnilにするかどうかで揉めてて面白い

31 :
>>27
これフォント何?

32 :
evil使ってる人いる?
helm始めEmacsらしさを損なわないで文字入力を最適化できるなら手出してみようかと思うんだが

33 :
>>29
マウス使う前提じゃないと、タブバーっていう発想浮かばないんじゃないかな
で、emacs使いでマウス必要と思っている人がほぼいないと思う

34 :
>>32
emacs と vim との (とくにビジュアルモードにおける) カーソルの扱いの違いに馴染めなくて、結局劣化 evil のようなものを自作したよ。

35 :
>>31
英文は Consolas で和文は MeiryoKe_Console です。

>>33
クリック対象として以外に、常時出しとく一覧表示用としてもまあ悪くないとは思うんだよね。タブバー。
elscreen と、あとはプロジェクト内ファイルとかの限られたセットのバッファ一覧なんかは表示できてもいいなーとは思う。

36 :
>>33
うーん、キーボードだけでの操作を前提としている、
GNU screenとかtmuxでも、ちゃんとしたタブ機能が大いに役立っているでしょう?
ならばタブエディタだなんて自然で全然新しくもない発想だと思うんです。

37 :
そういやそういう議論って emacs-devel で出てたっけと思って検索したら 2008 年頃にあったみたい。
http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg00420.html

ストールマン御大がダメ出ししたりしてるな。まあバッファ表示用としてのタブは確かに全然役に立たなそうではある。
emacs内アプリケーション用のウィジェットとしてなら大いに使いではありそうだねえ。

38 :
>>34
そういうのならメーリスに流せば反映される可能性高そうだが

39 :
>>36
普段からtmux使いだけど、タブの表示なんてなくても何の問題もないと思ってるよ
あんなの切り替えるときに見られればいいだけで、常時表示させる必要ないでしょ

40 :
タブって>>27の画像を見ても分かるけどEmacsのウィンドウの概念と噛み合ってないように思えるんだが…
バッファー≒ウィンドウだから、タブに出すのはしいて言えばフレームになるんじゃないかね

41 :
フレームの1タブ=1バッファって考えりゃ噛み合ってないだろうけど、
何もフレーム毎にしか表示できないではなくウィンドウ単位にも表示出来るようになってれば済む話ではある。
現状の tabbar.el なんかはそうだし。ただ header と干渉するからせめて header の段数増やせたらいいのにねとかは思う。

>>27 のは elscreen みたいなウィンドウ単位ではなくフレーム単位で管理されるべき情報を表示する場所が欲しい、
ってのが元々の開発動機みたいだからタブを作りたい、ってのが目的ではないよ。

42 :
実現するとしたら xwidget ブランチの方で実現しそうだな、ネイティブな感じのタブは。

43 :
>>40
これはバッファを表示してるんでなく、navbarのプラグインでelscreenのタブを表示してる画面なのだ。

44 :
migemo に単一の文字渡した時に regular expression too big になること多いの辛い

45 :
タブには90年代にクールだった「立体的なボタン」と同じ臭いがする

46 :
emacs のウィジェットパッケージは未だにクールな3Dボタンのままだね・・・

47 :
だからと言ってWindows10のぺったんこのボタンはどうかと思う

48 :
>>44
正規表現の分割とかでなんとかなるんじゃねえの?

49 :
auto-fill-mode をかけているファイルをoccur等使って日本語で正規表現検索するとき、

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

こんなことしてるんですけど、クールなやり方を教えてもらえませんか?

50 :
isearch は M-s SPC で改行無視出来るモードに切り替わるけど occur はそういのなさ気だね。
helm 絡みのならそういうのさっくり出来そうな気もするけど使ってないから具体的にどうすりゃいいのかわからん。

51 :
>>50
isearch の M-s SPC というのがあるのですね。
その関数をoccur等に援用できないか検討します。
ありがとうございます。

52 :
☆ 日本の核武装は絶対に必須ですわ。☆
http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html

☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆

53 :
内部で message 呼び出してる関数は引数なりカスタマイズ変数なりで黙らせられるようにしてほしいぜ・・・

54 :
自分でやれ

55 :
これやったら標準の補完がちょっとリッチになった
(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))))

56 :
>内部で message 呼び出してる関数は引数なりカスタマイズ変数なりで黙らせられるようにしてほしいぜ・・・

http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01061.html

2015-04-22 Oleh Krehel <ohwoeowho@gmail.com>

Add a new `inhibit-message' variable
* src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
(message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
`inhibit_message' is non-zero.
* etc/NEWS: Add an entry.
* doc/lispref/display.texi: Add an entry for `inhibit-message',
mention it in `message'.

57 :
そうそう、標準でそんな感じでいいのにって思うんです。
何度もTAB打つの面倒になって、何かしら入れるか作る事になるし。

58 :
>>55
これなにがうれしいの?

59 :
*.ac.jpなサイトで、Emacsの紹介がいくつか見つかるけど、どれも大概何か残念というか…。
比較的新しい記事なのに、バージョンが22以前だったり、
canna使わせたり、等幅かどうかすら怪しい汚いフォント使わせたり…
まぁこういうのって学生の方が自発的に色々良いやり方を調べて行くもんなんですが。

60 :
それを言ったら、Emacsの紹介で残念じゃないのを見たことがない。

大学のは変な環境で動かすのを前提としてることが多い。

61 :
>>59
大学公式に使い方説明してるところが残念ってこと?

62 :
授業用のwebページで解説してるようなやつじゃないかな

63 :
>>62
はい。そういうページのことです。
ページに書いてあることだけの情報で篭もる学生がいるとするなら、
メモ帳以下の変なテキストエディタという印象しか持てませんよね。

64 :
vim よりは普通のエディタに近いからとりあえず emacs を選んだ感があるよね。

65 :
基本あくまで講義の準備にすぎない添え物だし
emacsにかぎったこっちゃない
viならとりあえずesc押せレベルだし
ネットワークの設定とかもっとやばいし
古いsendmailの設定さらしっばなしで有害だったり

66 :
別にエディタの勉強がメインなわけじゃないんだしいいんじゃねえの。
というか大学時代に Emacs 触ったことを後悔してるわ。
このろくでもないキーバインドに慣れてしまったせいでいたるところで不便な思いさせられる。

67 :
$ emacs file.txt &
でfile.txtを編集できる
C-x C-cで編集を終える

という情報だけ与えられた学習者が編集したいファイル毎にEmacsを起動してるケースを知っているが?

68 :
知ってるからなんだっていうの?

69 :
初心者には
C-h または
M-x help を教えるべきだと思う。

できるやつはこれだけで一気に伸びる。

70 :
そんなのも含めて最初に一発チュートリアルやらせりゃいいんじゃないの。
言語まわりの環境変数がちゃんと設定されてりゃ emacs 側の設定がなくてもちゃんと日本語のチュートリアルができるし。
ヘルプのことだってもっと丁寧に説明してくれてる。

71 :
vim に比べるとスタート時のとっかかりになるポータルサイトみたいなのないよね
http://emacs-jp.github.io/http://vim-jp.org/ の情報量の差が激しい

72 :
ggrksと言われすぎて目の前の情報スルーしてぐぐって情報少ないよね(キリッとか
いつも必ず一歩遅れる・ダメな方を選ぶ
それがバカ

73 :
チュートリアルの内容、やったことある人ならわかるけど薄いよ。

74 :
こんにちは。あたしはカウガール。
すき家に牛肉を届けるために、旅をしています。
    __
  ヽ|__|ノ    モォ
  ||‘‐‘||レ   _)_, ―‐ 、
  /(Y (ヽ_ /・ ヽ     ̄ヽ
  ∠_ゝ  ` ^ヽ ノ.::::::__( ノヽ
   _/ヽ      /ヽ ̄ ̄/ヽ

75 :
http://i.imgur.com/DQwZ29C.png
これ見てて思ったけど現状でもUI部品をSVGで描画することは可能なんだよな

76 :
emacsに画像表示機能とかいらねーよ

77 :
indent-regionっていうのがあるけど、
これは、offsetの変更のみで
ifの中括弧の改行の有無とかは変更できないよね
if(){
}
if()
{
}
こういうのをいっぺんに整形したいんだけど

78 :
出来ないんじゃなかったっけ
色んな外部整形ツールがあるからそれを shell-command-on-region で呼び出して置き換えるのがいいんじゃないかな

79 :
>>78
確かに、それでもできるけどルールを統一するのが無駄手間ですよね
せっかく、c-hanging-braces-alistで{}の改行を定義しているのに・・・
できることならEmacs内でやりたい

80 :
>>79
現状存在しないから自力で実装するしか無いんでない。
フォーマットするプログラムの引数を現状のスタイルから生成するぐらいが現実的な気もするけど。

81 :
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を起動するときにオプションなり
環境変数を指定すれば解決するような気がしているのですが
どちら様か解決法をご存知無いですか?

82 :
マニュアル見ればいーじゃん(ホジホジ

83 :
man emacs

84 :
>>81
なんか daemon とターミナルの組み合わせは色々問題あるみたいなのをどっかで見た記憶あるなぁ・・・
emacsclient を終了するとき C-x # でも発生するの?

85 :
全然分からないけど、emacsclient で --display オプションを使うとか
関係ないかな

86 :
>>81
Arch Linux をサーバに、cygwin をクライアントにして試したけど特に問題なかったよ。
開いた後 C-x C-c で client 閉じて exit するとちゃんと ssh の接続も切れた。
(Emacs は 24.4.1、SSH は共に OpenSSH_6.8p1)

ただ俺もどっかで ssh の接続が切れなくなる問題見た記憶あるんだよね。
emacs 関係じゃなかったかもしれない。

87 :
いや、この前スレで出てたと思う
周りで再現できなくて答えは出なかったと思うけど

88 :
Debian 固有なのかねえ。もしくは端末エミュレータ側に問題があったりとか。

89 :
server 使ってる時って keyboard-translate が端末毎にしか有効にならないから
term/bobcat によるキー入れ替えを client の接続ごとにやらなきゃいけないのが不毛でならない。
emacsclient -t で接続したときは tty-setup-hook が動くのはわかったんだけど
emacsclient -c の X の窓開くときに動くフックって何があるんだろ。window-setup-hook は起動時のみなんだよなー。

90 :
emacsのウィンドウはウィンドウじゃないから
だから通ぶったニワカっていやなんだよ

91 :
>>90
window-setup-hook の場合の window は emacs で言うところの window とは違うよ?意味合い的に frame を指してる。
ドキュメント引いてから書き込んだほうが恥かかなくていいと思う。

92 :
お前の意味合いなんて知らんが
そこまで言っといてまだbefore-make-frame-hookが見つからんのか?w

93 :
before-make-frame-hook はフレームが作られるたびに呼び出されちゃうからまた意味合いが違う。
keyboard-translate は terminal 単位に設定されるから同じ terminal を共有してる frame 生成毎に実行するのは無駄だよ。

94 :
>>89
tty-setup-hook で emacsclient -c の時も大丈夫じゃね?
うちは昔からずっとそうしてる

95 :
ごめんいまためしたらダメだった…
普段-nwでしか使ってないからだって言い訳しておく…

96 :
ageるやつはニワカだってのがまた証明されてしまったようだな

97 :
>>89
ググるとemacsclient -t -e '(terminal-init-bobcat)'とかして対処してるようなのもいるな
-tしてるんだからtty-setupでいいようなきもするが

98 :
>>89
key-translation-map を使うといいらしい。こっちは端末単位ではない模様。

99 :
>>92
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でもいいんじゃないの?
フレーム作る度に実行してまずい事もないだろうし

100 :
daemonと-cだとフォントの初期化でも変にはまったな
daemon起動直後はfind-fontとか機能しないから動的にフォント設定しようとしてもダメ
結局決め打ちで諦めたけどスマートな解決方法あるのかな


100〜のスレッドの続きを読む
O2に付属のIrixって
rootのパスワードはなんじゃろな?
sync sync sync halt
Solaris を入れてみます
UNIX板の人が行くよその板は?
うるう秒
今時、Solaris使ってる馬鹿って・・・プププ
神よ Sambaで・・・
muttを使おう
【漢直】T-Code/TUT-Codeスレ Lesson4【連習】
--------------------
【まったり】カヤックフィッシング37【大物狙い】
【水増し】世界のノリヒト(おぐら)について語るスレ【登録者購入】
公務員スレ
大中恩の合唱曲
【韓国】 韓日議員「日本の歴史に対する痛切な反省と謝罪を前提とした新韓日共同宣言を議論すべき」[06/27]
予定がうまらない自分価値がないの?
【PSO2】既にエキスパ機能してない件について
【朝鮮日報】時速170キロのKTXから30代女性が非常用のハンマーで窓を割って車外に転落…一命取り留める 意思の疎通は可能[5/10]
ノーカット放送された麻生の言動がまるで反社だと話題に
[再]NHKスペシャル「40人の死は問いかける〜大槌町“役場被災”の真実〜」
【チャンネル銀河】オスマン帝国外伝6【ネタバレ禁】
ビジネス・ファーストクラスを使う旅行part5
【ゆるかわ】三ヶ島かな応援スレ2【初優勝祈願】
森保ジャパン Part35
今日、何枚書いたか語るスレ 3枚目
自動車線と航路を語るスレ
森永卓郎「政府が一番恐れているのはオリンピックの中止。それは利権を持つ人が絶対に許さない」
【MAZDA】マツダCX-8★42列目【3列SUV】
【twitterで話題】『15秒で解るモリカケ問題!』 ネット「獣医師会から献金を貰った野党と自民一部は辞職して」「サボってる野党に…」
失業者はオープンソースのコードを書くか
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼