Vim勉強会へ行ってきた
Emacs使いだけど敵状視察として行ってきました.なかなか面白かった.
何人かの発表のち,vimscriptコードリーディングという流れ.
以下結構適当なメモ+Emacs設定へのフィードバック
Emacsからvimへ id:kozo-niさん
- vimは設定が楽,楽しい
- smartchr.vim
- =の後に空白とかの補完
- 良いなあこれ,欲しい
- FuzzyFinder
- anythingぽいもの?
- snipMate
- 動的補完
- yasnippet(設定が面倒?)
- ctags, taglist.vim
- ctags -Rを実行して:Tlistと打てば大体わかる
- 検索したい単語の上で*を押すと検索
- これは便利
- Emacsでもやりたい(デフォルトではない)
- vimにとってautocomplpop,neocompとfuzzyはおおきい
- Chromeのvimp=>vimlike smoozie
- GoogleChromeでvimperator!!
Vimを使ってアジャイルな企業に転職 id:guyonさん
- 「(vimは)手足のように動いてくれるらしいよ」
- hudson: テストツール
- 設定ファイルポータビリティ
- rakeのレシピを書いてgithub管理,どこでもgit clone->rakeでインストールできる
gvim id:AzureStoneさん
- windowsのgvim
- アウトライン表示したい
- foldings?
- taglist.cvimでできる
- ctagsで作ったタグリストを表示してくれる
vim設定,コードリーディング
あたりを読んだりした
- taglist.vimを入れた
- taglist.vim - Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc) : vim online
- :Tlistとすると関数リストを開いてくれる(ctagsを使えば複数ファイルでのタグ
付けも可能)
覚えたことなど
Emacsへフィードバック
vimの*(カーソル位置単語検索)が良さげなのでHow can I emulate Vim's * search in GNU Emacs? - Stack Overflowを参考にvimの*のような物を書いた.
(参考というか少しいじっただけ)
(defun isearch-word-at-point () (interactive) (call-interactively 'isearch-forward)) (defun my-isearch-yank-word-hook () (when (equal this-command 'isearch-word-at-point) (let ((string (thing-at-point 'symbol))) (setq isearch-string string isearch-message (concat isearch-message (mapconcat 'isearch-text-char-description string "")) isearch-yank-flag t) (isearch-search-and-update)))) (add-hook 'isearch-mode-hook 'my-isearch-yank-word-hook) (define-key global-map (kbd "C-*") 'isearch-word-at-point)
isearchに引数で検索単語をいじれるならもっと良くなりそうなんだけど,とりあえずこれでC-*とすればそのカーソル下の単語*1をisearchする.
vimの*と違って,検索単語を修正できる.
今日一日でvimレベルが結構上がった気がする.*2
id:kozo-niさん,ありがとうございました.
追記
smartchr:smartchr.vim Emacs Lisp Ver. - Emacs/Lisp/Drill - Emacsグループ