agdaに挑戦して即死した話 - エンジニアですよ! で書いたように、emacsが必要になった
そこで、emacsを入門することにした。
vimに慣れすぎて頭がvimベースになっているが、emacsはemacs.
別のエディタなので別の考え方をしないといけなそう。
やってみてとりあえず辛いところを書きなぐって解消していく感じかなぁ
- text objectがないのは辛い
- M- なキーバインドを押すのが辛い
- 単語単位の移動がM- なのが辛い
- 選択どうやるの?矩形選択とか
- Exモード相当の操作は・・・M-xなのかな?
- 直前のコマンドを繰り返す的なのは・・・
- 行コピーとか行削除とかしたいんだけどc-a c-kとかしかないのかなー
- 繰り返し実行の回数の指定とかは・・・
- 設定ファイルの書き方(文法)や置き場所はどこ?
- パッケージ管理はどうすればいいの?
- f, F, t, T相当の移動がないのがきついなー
- なんでC-hは前方削除じゃないんだ・・・?
- 最近使ったファイルとか、Bookmarkとかしたい
- Unite的なもの(anything?)
- filer
設定の変更が気軽にできないのがだいぶ辛いので、まず設定ファイルの編集をemacsでやって慣れてみようと思う
あとはExモード相当のものがないのがしんどそう・・
M-xの機能を覚えよう
まず設定の基本から
http://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html#Init-File
最初に読み込まれるファイルは以下らしい。
なんか~/.emacsに~/.emacs.d/init.elの読み込みを書くみたいなページをよく見る気がするが、全部読み込まれるなら~/.emacsだけでいい気がする
古いバージョンだと挙動が違うのだろうか。
ひとまず~/.emacs.d/init.elを使うことにして、ファイルは全部~/.emacs.d以下にまとめるようにしようと思う。
設定はemacs lispで書く。これは楽しそうではある
入門としてはこれが良さそうだ。 http://d.hatena.ne.jp/rubikitch/20100201/elispsyntax
しかもこれを読むとemacsの基本が身につきそうな気がする。便利
設定でやりたいところとしては
- まずは見た目を変えたい
- colorschemeを変える
- 透過させる
- 補完はなる早で入れたいので最低限のパッケージ管理
- 各ファイルタイププラグイン相当のものとかを入れる
これをやりつつemacs lisp入門を読みつつemacsに慣れていこうと思う。
Emacs Lisp基礎文法最速マスターを読む
ひと通り読んだ。
まぁlisp系言語なのかなというくらいの感想
C-h fで関数のヘルプが見れることと、C-h vで現在の変数の値とかが見れるということを知れたのが良かったことだと思う。
これで書きながら勉強できる。
というかこの方emacsの鬼なのか。
この人のブログとかひたすら読めば勉強になりそうだな。
colorscheme変える
なんかいくつか記事を見たところ、colorschemeを変えるにもやはりパッケージ管理ができていたほうが便利そうだから先にそっちやろう
あとなんかemacsではcolor themeって言うっぽい?
パッケージ管理
http://emacs-jp.github.io/packages/package-management/package-el.html
(ここでemacs-jpの存在に気付く。積極的に見ていこう.)
package.elというのを使うらしいのでinstallしようと思ったら、なんと24以降では標準添付とな。
ということでインストール不要
ここに書いてある通りに使うpackageを書いてく。
package-list-packages
を使ってインストールする方法も結構書いてあるが、何を入れたかわからなくなりそうなので明記する。
例の通り↓これでやる。my/favorite-packages
にインストールしたいパッケージを突っ込みまくって、package-installed-p
でインストール済みかどうかを判定して、インストールしていなければインストールということ。
(require 'package) ;; MELPAのみ追加 (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/")) (package-initialize) ;; パッケージ情報の更新 (package-refresh-contents) ;; インストールするパッケージ (defvar my/favorite-packages '( auto-complete fuzzy popup pos-tip )) ;; my/favorite-packagesからインストールしていないパッケージをインストール (dolist (package my/favorite-packages) (unless (package-installed-p package) (package-install package)))
これでパッケージは自由自在に入れられそうだ。
けど設定をどうするのかはまだわからない
とりあえずauto-completeを設定してみよう。
http://cx4a.org/software/auto-complete/index.ja.html
ここ読めば良さそう。
インストールのところにpackage.elでインストールの手順がないような気がするが、package.elを使うとpathには入れてくれたようなはずだから、その後の設定っぽいところを入れる
これ↓
(require 'auto-complete-config) (ac-config-default)
これで動く!!動いた!!
細かい設定はあと。とりあえずなんとなくわかってきた。
色々入れちゃう。
こんなんなった
(defvar my/favorite-packages '( ;; auto-complete auto-complete fuzzy popup pos-tip ;; buffer utils popwin elscreen yascroll buffer-move ;; helm helm ;; using shell PATH exec-path-from-shell ;; undo utililty undo-tree ;; git magit git-gutter ;; ruby enh-ruby-mode ruby-block ruby-electric ;; color-theme darcula-theme ))
color themeに戻る
http://emacsthemes.caisah.info
ここで見つけたDarculaのthemeが気に入ったのでこれをpackage.elを使って入れる。
ただ、これ文字がすごくでかいので文字サイズを変える
http://www.emacswiki.org/emacs/SetFonts
文字サイズはこれで変えるらしい
(set-face-attribute 'default (selected-frame) :height 100)
(selected-frame)
をnil
にすると全部のframeに適用とのこと。
http://d.hatena.ne.jp/kazu-yamamoto/20140625/1403674172
ここにもあるけど、フォントの設定マジ難しい。
疲れてきた。
まずやろうと思ってたことできてないけど・・・
続きはまたこんど