ProofGeneralが使いたいがために使い始めたが、やはりvimに慣れているのでなかなかemacsの操作は難しいところがある。
うまくいかないところを書いて解消できたら更新していく。
text objectがないのは辛い → thingoptでそれっぽい操作を
http://dev.ariel-networks.com/articles/emacs/part5/
によると、概念的にはEmacsにも(というかelispに) thing
という概念があるらしい。
http://ergoemacs.org/emacs/elisp_thing-at-point.html
とかに情報がある。
thing-at-point
というelispの関数によって扱うようなので?referenceを見てみる
Return the THING at point. THING should be a symbol specifying a type of syntactic entity. Possibilities include `symbol', `list', `sexp', `defun', `filename', `url', `email', `word', `sentence', `whitespace', `line', `number', and `page'.
symbolとかlistとか諸々を'含みうる'概念であるらしいので、text objectっぽい感じはする。
しかし同じく最初にあげたページによると、operator相当のものは存在しないとのこと。
なかなかこれがないとツライ気がするけど、それは考え方がvimがからかもしれない。
とりあえずはthingopt
を入れてそれっぽい挙動を再現することで対応してみるが、結局そこまで柔軟ではなく使い勝手も良くないから使わなくなりそう
M- なキーバインドを押すのが辛い →つらい
単語単位の移動がM- なのが辛い
慣れてきた。どうしてもダメならバインド変えろと!
選択どうやるの?矩形選択とか → マークを使う。矩形は見た目ではわからない
Markがそれにあたるのかな
markとregionという概念を理解しよう
矩形選択は概念的には無いらしい
矩形操作はできる(C-x r t
とかC-x r d
とかで・・)
マークとリージョン
http://www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs_10.html
そのものずばりなマニュアルページ
マークを任意の場所に置くことができて、マークとポイント(emacsではカーソル位置のことをポイントと言うんだよね)の間のことをリージョンという。
理解
vimのVisual modeと同じようなものと思えばいいか。
text obj的なものはこれとは違うな
でもtext objが超便利なのはkanaさんの力もありそうだから、まぁemacsでも頑張りようはありそうかな?
thing
という概念があるならなおさら
ただやっぱNormal Modeないし、たくさんキー打たなきゃいけなくはなりそう
てか
http://www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs_10.html#SEC55
テキストオブジェクトという言葉があった。
しかしこれ、例えば単語だとポイントは今の位置のままで単語の末尾にマークを置く、というだけなので語の途中にポイントがあったら一語をリージョンにするという挙動にはならない。
し、テキストオブジェクト少ない。
改善の余地がある
Unite.vim的なもの → helm
anything.el
?
helm
?
helm
だ
https://github.com/emacs-helm/helm/wiki
ここを見つつ、melpaのhelmと名のつくパッケージを見つつ学んでいく
パッケージ管理はどうする? → Cask + Palletでいこう
解決済み→http://totem3.hatenablog.jp/entry/2014/11/13/090715
C-hはなぜデフォルトで前方削除じゃないのか? → それはUnix的挙動
設定ファイルの書き方(文法)や置き場所はどこ?
elispについては以下あたりを参考にやっていく
- http://d.hatena.ne.jp/rubikitch/20100201/elispsyntax
- http://www.emacswiki.org/EmacsLisp
- http://www.gnu.org/software/emacs/manual/html_node/elisp/
未解決・未調査メモ集
- Exモード相当の操作は・・・M-xなのかな?
- 直前のコマンドを繰り返す的なのは・・・
- 直前のコマンドを繰り返す
repeat
というのがあり、C-x z
にバインドされていた(2014-11-20 追記)
- 直前のコマンドを繰り返す
- 行コピーとか行削除とかしたいんだけどc-a c-kとかしかないのかなー
- なさそうね(2014-11-20 追記)
- 繰り返し実行の回数の指定とかは・・・
C-u
か(2014-11-20 追記)
- f, F, t, T相当の移動がないのがきついなー
- きつい(2014-11-20 追記)
- なんでC-hは前方削除じゃないんだ・・・?
delete-backword-char
をバインドしてみたけど、help
が使えないと不便だったので戻した・・(2014-11-20 追記)
- 最近使ったファイルとか、Bookmarkとかしたい
- helmで解決できそう
- recentf-extがある (2014-11-20 追記)