読者です 読者をやめる 読者になる 読者になる

Re: VimGolf in Emacs

emacs vimgolf

VimGolf in Emacs | Irreal

one two
three

(one) (two)
(three)

にする課題。


前提条件が不明なんですが、Emacs -Qで起動して、fundamental-modeという
ことにしましょう。カーソルは oneの oの位置とします。面倒くさいんで
保存、終了のコマンドは省きます。

解答1

1. M-@ [mark-word]
2. M-( [insert-parentheses]
3. C-n [next-line]
4. M-@ [mark-word]
5. M-( [insert-parentheses]
6. M-b [backward-word]
7. M-@ [mark-word]
8. M-( [insert-parentheses]


解答 2

1. F3 [kmacro-start-macro-or-insert-counter]
2. M-@ [mark-word]
3. M-( [insert-parentheses]
4. F4 [kmacro-end-or-call-macro]
5. C-n [next-line]
6. F4 [kmacro-end-or-call-macro]
7. M-b [backward-word]
8. F4 [kmacro-end-or-call-macro]

解答 3

1. F3 [kmacro-start-macro-or-insert-counter]
2. M-@ [mark-word]
3. M-( [insert-parentheses]
4. C-M-f [forward-sexp]
5. C-f [forward-char]
6. F4 [kmacro-end-or-call-macro]
7. M-2 [digit-argument]
8. F4 [kmacro-end-or-call-macro]

おわりに

8が切れませんでした。
pareditとか evilを使えばもう少し短くなるかもしれません。