Life is very short

2014-09-30

vim-cpp-auto-includeを移植してみた

| 21:08


元にした Vimのもの

https://github.com/quark-zju/vim-cpp-auto-include


リポジトリ

https://github.com/syohex/emacs-cpp-auto-include


使い方

M-x cpp-auto-includeするだけです.


設定例

(eval-after-load 'cc-mode
  '(define-key c++-mode-map (kbd "C-c C-c") 'cpp-auto-include))

イメージ

f:id:syohex:20140930210247g:image


おわり

作ってみたってだけのレベルなので要望, 問題等ありましたら

遠慮無く github issuesまでお願いします.

2014-09-28

第四回 init.el読書会に参加しました

| 12:17

第四回は handlername(@)さんでした.


リポジトリ

https://github.com/handlename/dot-emacs


init-loaderの問題は既に修正されています.

https://github.com/handlename/dot-emacs/blob/master/init.el#L46


の対応はもう本体に取り込まれているので不要です.


server-startの重複防止

https://github.com/handlename/dot-emacs/blob/master/inits/00_basic.el#L2


(server-start)は 1Emacsしか起動できないので, 複数起動する場合がある

場合は以下のように走行しているかをチェックした方がよいです.

(require 'server) ;; server-running-pは autoloadでないので, 明示的にロード
(unless (server-running-p)
  (server-start))

if + prognは whenの方がわかりやすい(気がする)

https://github.com/handlename/dot-emacs/blob/master/inits/01_display.el#L4


キーバインドを無効化する場合は, unset-key APIの方がわかりやすい(気がする)

https://github.com/handlename/dot-emacs/blob/master/inits/01_keybidings.el#L16


(global-unset-key (kbd "C-x C-b"))

30_ag.el

package.elでインストールしているので下記だけでよいと思います.

遅延ロードが効くので.

(custom-set-variables
 '(ag-highlight-search t)
 '(ag-reuse-buffers t))

(custom-set-variables
 '(wgrep-auto-save-buffer t))

30_helm.el

helm-projectileのロード不要

https://github.com/handlename/dot-emacs/blob/master/inits/30_helm.el#L2

遅延ロードできるので.


helm-projectile-switch-projectは削除された

projectile.elの projectile-switch-projectになったようです.


global-mapの設定は global-set-keyの方がタイプ数が少ない

https://github.com/handlename/dot-emacs/blob/master/inits/30_helm.el#L5

(global-set-key (kbd "C-c y") 'helm-show-kill-ring)
(global-set-key (kbd "C-s")   'helm-occur)
(global-set-key (kbd "C-x b") 'helm-for-files)
(global-set-key (kbd "C-x f") 'helm-find-files)
(global-set-key (kbd "C-x g") 'helm-projectile)
(global-set-key (kbd "C-x p") 'helm-projectile-switch-project)
(global-set-key (kbd "C-x i") 'helm-imenu)
(global-set-key (kbd "M-x")   'helm-M-x)

50_go.el

go-modeのロード不要

https://github.com/handlename/dot-emacs/blob/master/inits/50_go.el#L1


遅延ロードできるので.


go-autocompleteは package.elでインストール可

https://github.com/handlename/dot-emacs/blob/master/inits/50_go.el#L5


の設定は不要になります. go-auto-completeのロードは go-modeの eval-after-loadの

中に入れると go-modeを使うまでロードを遅延できます.


50_markdown.el

markdown-modeのロードは遅延ロードできます. その場合, keymapの設定は

eval-after-loadに入れる必要があります.


(eval-after-load 'markdown-mode
  '(define-key markdown-mode-map (kbd "C-c p") 'my:markdown-preview-file))

おわりに

次回は 10月 4日(土) 22:00 -の予定です.