Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

導入パッケージについて #1

Open
rizaudo opened this issue Jan 13, 2014 · 25 comments
Open

導入パッケージについて #1

rizaudo opened this issue Jan 13, 2014 · 25 comments
Assignees

Comments

@rizaudo
Copy link
Contributor

rizaudo commented Jan 13, 2014

初めてEmacsを触る人向けなので、導入パッケージを最小限に抑えたいと思っています。
これだけは入れとくべきというパッケージがあったらIssueに投げてください。

@ghost ghost assigned rizaudo Jan 13, 2014
@ryosan-470
Copy link
Member

個人的な見解ですが以下の機能(パッケージではないです)があると便利ではないでしょうか

  • linum-mode (行番号表示)
  • flex-autopair (対応するカッコの補完)
  • (define-key global-map (kbd "C-z") 'undo) C-z でundo
  • (show-paren-mode 1) 対応するカッコを光らせる
  • (setq delete-auto-save-files t) Emacs終了時にオートセーブファイルを消す

今思いつくのはこれくらいでしょうか


あとこれは入れるべきかどうか正直微妙ですがAuto Java Completeも入れておいてあげればプロ入のときに役立ちそうですが....

@polamjag
Copy link

カッコ補完は嬉しいシーンも多いですがリテラシとかで初めて触れる人は戸惑うかもという気がします.(レポート書くときとか)
C-z で undo はいいと思いますが,redo がないのにびっくりする人がいる気もするので,undo-tree あたりを入れてもいい気もします.
シンプルな .emacs.d と,プロ入やら向けのパッケージをそれなりに突っ込んだバージョンみたいな感じで,複数の設定ファイルを選べるようにするといいのではと思いました.

@rizaudo
Copy link
Contributor Author

rizaudo commented Jan 14, 2014

カッコ補完はもっとリッチな機能を使いたい場合、Paredit,smartparensを使うと良いと思われます。
ですが、私はぽらむ君の言う通り、初期では必要ないと思っています。
パッケージ化して、必要な時になったらrequireするようにしましょう。
また、C-zは環境にもよりますがsuspend-frameに初期でなっている時も有るので、機能を損なうのは良くないでしょう。
その点ではundo-treeが良い気がしますが、リテラシーでredo等行うので初期では無しにしたいのですが、どうでしょうか?

@ryosan-470
Copy link
Member

たしかにC-zは環境によってsuspendになってしまう問題点があるということを鑑みると宜しくなさそうですね.

undo-treeは入れるべきだと思いますが入れるならば使い方などを軽くかいたドキュメントも準備したほうが良さそうです.(一応初心者向けということなので)
となるとさらによく使うキーバインドはREADMEかWikiにまとめておくと初心者には助かるかもしれません.

またシンプル版といろいろ満載版を作るとどうかという意見はとてもよいと思いますがブランチを切ってわける方向でいいでしょうか?

@polamjag
Copy link

ブランチで分ける感じでいいと思います.ドキュメントは,GitHub の Project Pages 使ってもいいかもなあという感じがしますが,もっぱら学内向けの文章をこういうとこでホスティングするのもどうかなあという気もしてます.しかし,ビッグウェーブに乗る体でいくとまあ新入生とかも GitHub とかに慣れ && 存在を認知したほうがいいような感じもするので,僕がやるなら GitHub Pages でまとめるかなあと思ってます.

@rizaudo
Copy link
Contributor Author

rizaudo commented Jan 15, 2014

ブランチを使わずとも、設定をパッケージ化して必要なら導入出来るようにした方が良いと思います。
最初のときバナーを出す等で個別に必要な機能を盛り込むというというのはどうでしょうか。

ドキュメントはpagesで良いかなと思います。

@rizaudo
Copy link
Contributor Author

rizaudo commented Jan 15, 2014

例えばですが、Overtoneという音楽生成のためのClojure環境に特化したemacs-liveというEmacsの設定パッケージはもしも既に.emacsがある場合、個別のパッケージとして導入出来るようになっていたはずです。

致命的な衝突が起きない限りブランチを切らなくても良いのではないでしょうか?

@ryosan-470
Copy link
Member

rizaudo氏の考えは必要なら(require 'hoge)できるようにしようという意味でおkでしょうか.あと具体的に何を導入するか固めませんか?

@rizaudo
Copy link
Contributor Author

rizaudo commented Jan 24, 2014

薬の関係でくたばってて遅れてしまいましたが、自分の考えとしてはそうです。

パッケージとしては定番のauto-completeやモダンなflycheck(自分はLispマンなので恩恵をあまり受けてませんが)などをいれると良さそうですね。

@rizaudo
Copy link
Contributor Author

rizaudo commented Jan 27, 2014

auto-completeとyasnippet、それにflycheckを入れるパッケージに提案したいと思います。

理由としては、IDE-likeな挙動を可能としてくれるなどですね。
また、flymakeではなくflycheckを提案するのは、flymakeですと設定が難解なためおすすめしづらく、複雑な事をしないならばflycheckで十分であるからです。

@ryosan-470
Copy link
Member

なるほどなるほど 確かにflymakeは導入が面倒くさいですしモダンなflycheckのほうがいいですよね

ただflycheckは初期設定ではJavaに対応していない(参考:The Flycheck manual)のでそこをどうするかってことが問題ですかね(プロ入のことを考えるとJavaのチェック機能も欲しいところだと思います)

@rizaudo
Copy link
Contributor Author

rizaudo commented Jan 27, 2014

うーん、そこはどうも考えなくちゃいけなそうですね。
とは言ってもJava書くことがないので良いソリューションは思い浮かばないです。

@rizaudo
Copy link
Contributor Author

rizaudo commented Jan 27, 2014

あ、後これはこのIssueに関係ない事ではあるのですが、まだ.el編集しているのが自分くらいなので良い設定等をどんどん入れてください。

@ryosan-470
Copy link
Member

私の場合設定ファイルを分割してしまっているので頑張って使えそうな設定があれば投下していきます.プルリクをしておくので一応確認しておkそうならマージしてください(今日中には出来ないかなあ)

@rizaudo
Copy link
Contributor Author

rizaudo commented Feb 16, 2014

リザウドです。 新システム導入の関係で某Dr.Yasに尋ねたところMacPortsに入ってるのが24.3だから多分新システムでも最新版が入るという話になりました。
まあそれだけなのですが。 新システムに関しては大丈夫そうですし、今学類の.emacsに追加すべき問題が発生しているので、押し込めば学類の.emacsになるかもしれません。
Marvericsはfontがおかしくなるので、 私の設定ファイルからfontに関して追加しておきます。

@ryosan-470
Copy link
Member

学類の.emacsになったら嬉しいですね

さて,突然ですがinit-loader.el導入しませんか?

だんだん色々と設定をいじっているとinit.elが増大してきてわけわからなくなってしまうので分割管理したほうがわかりやすいと思うのですが.どうでしょうか?

以下に参考を置いておきます

init-loader.el と package.el を導入して快適 Emacs ライフ

@rizaudo
Copy link
Contributor Author

rizaudo commented Feb 18, 2014

うーん個人的な意見を述べると、開発がまだ分割を考えるほど大きくなっていないのでまだ必要ないでしょう。
500行や1000行などと言った具合になって来たら再度考えるのでどうでしょうか?

@ryosan-470
Copy link
Member

まぁ確かに現段階では全く必要ないと思うんですが後々分けることになると面倒臭いので導入するならさっさと導入したほうが楽かなと思いました.

個人的に分割してあったほうがわかりやすい(エラー原因の特定とかにも便利)と思ったので提案してみたところです.

@rizaudo
Copy link
Contributor Author

rizaudo commented Feb 18, 2014

なるほど, そういう意図でしたか.
ですがそれよりも設定をどのファイルに入れるべきか考えるのが面倒にならないでしょうか?

正直な所今の流れとしても変更が頻繁に行われるというわけではないので大きくならないと思います.

@ryosan-470
Copy link
Member

init-loader.elでは個別の設定を各ファイルに分割できますので例えば私の場合ではキーバインドと一般的な設定,flymakeの設定,flycheck...のような感じで切り分けています.ですのであまり設定をどこに入れるかということに関しては悩むようなことではないのかなと思います.

ただ確かにこのリポジトリの雰囲気を見ていると2人しかまともに活動?しているように見えないので導入する必要はないといえば無いですね

@rizaudo
Copy link
Contributor Author

rizaudo commented Feb 18, 2014

そもそも3人しかいないため, 残念ながら肥大化は無いでしょう.
ですが, ふと思いついた新入生が読むという可能性を考えると可読性が良くなるかもしませんね.

@ryosan-470
Copy link
Member

まあ将来的な導入も念頭にいれて...というような感じですかね

@rizaudo
Copy link
Contributor Author

rizaudo commented Feb 18, 2014

そうですね.
この場合package.elで入れると良いと思うので, init.elで設定しましょう.

@rizaudo
Copy link
Contributor Author

rizaudo commented Mar 25, 2014

新入生でもGitを使う人は居るでしょうので、以下の二つのパッケージを提案します。

  • magit
  • git-gutter
    簡単に言うと、magitはEmacsからGItの操作を簡単に行なうパッケージで、git-gutterはunstagingな部分(余り正確な表現ではない)を表示してくれるパッケージです。

@ryosan-470
Copy link
Member

いいんじゃないんですか
magit便利ですし.

ただgit-gutterってlinum-modeと併用できなかった気がするのでそこをなんとかうまくやればいいと思います

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants