Emacs設定



使っていて便利だと思う設定で、自分が忘れないように備忘録としてここにまとめておく。
※Emacsの設定をいじる時は、ホームディレクトリの中の".emacs.d"ディレクトリの中に"init.el"の名前でファイルを作成し、その中に書き込んでいく。

たまにバッファが読み取り専用モードになっていて、writeできなくなっていることがある。解決法としては、モードラインにある"%%"をクリックして、"%%"表示をなくせばいい。
  1. 初期画面でwelcome画面の表示を消す方法
  2. (setq initial-scratch-message t)
    (setq initial-scrarch-message nil)

  3. line番号を表示させる
  4. (line-number-mode t)
    (column-number-mode t)

  5. 画面の下のバーで、今どこの行、列にいるかを表示させる。ex)Top(35,73)など
  6. (line-number-mode t)
    (column-number-mode t)

  7. yesとnoをyとnで打てるようにする
  8. (defalias 'yes-or-no-p 'u-or-n-p)

  9. 下のバーに時間を表示(これはあってもなくても良い)
  10. (display-time)

  11. デフォルトウィンドウの大きさ設定(widthとheightの数字で変更可能)
  12. (if window-system
          (setq default-frame-alist
               (append (list
                     '(width . 150) '(height . 45
                     )
                  default-frame-alist)
        )
    )

  13. C-hでdeleteできるように設定
  14. (global-set-key"\C-h" 'delete-backward-char)

  15. 行番号を常に左端に表示させる(%の後の数字を変えることで左端からの幅が変更可能)
  16. (global-linum-mode)
    (setq linum-format "%4d ")

  17. 現在いる行を目立たせる
  18. (global-hl-line-mode)

  19. 対応する括弧のハイライト(マクロを書いている時など、対応括弧が分からなくなりがちなので便利)
  20. (show-paren-mode t)

  21. 上に書いた対応する括弧のハイライト設定のオプション(重複して設定はできないので注意)
  22. 画面内に対応する括弧がある場合は括弧だけを、ない場合は括弧で囲まれた部分をハイライト
    (setq show-paren-style 'mixed)

    対応する括弧だけをハイライト
    (setq show-paren-style 'parenthesis)

    括弧で囲まれた部分をハイライト
    (setq show-paren-style 'expression)

  23. バックグラウンドの色を変える
  24. (set-face-background 'default "#303030")

    色は#303030の部分を変えることで他の色に変更可能。

  25. バックグラウンドの透過率の設定
  26. (add-to-list 'default-frame-alist '(alpha . (0.9 0.9)))

    アルファ値(0.0 = 完全透明、1.0 = 不透明)で指定できる。

  27. Ctrl-jで、日本語入力を可能にする(takadaqのみ)
  28. (global-set-key (kbd "C-j") 'toggle-input-method)

  29. 日本語を使えるようにする(上の設定とセットでするべき?)
  30. (set-language-environment "Japanese")

  31. スクロールの加速をやめる
  32. (setq-mouse-wheel-progressive-speed nil)

  33. 予め用意しておいたテンプレートファイルの中身を自動的に挿入
    (includeファイルなど毎回同じような内容を記述する際に手間が省けるので便利!)
  34. ※この例では、~/workディレクトリにtemplate.cppというファイルを用意し、その中にテンプレートを記述している。
    (require 'autoinsert)
    (setq auto-insert-directory "~/work/")
    (setq auto-insert-alist
             (nconc '( ("\\.cpp$" . "template.cpp")
                            ("\\.f$" . "template.f")
                            ) auto-insert-alist))
    (add-hook 'find-file-not-found-hooks 'auto-insert)

  35. 選択範囲の色を指定
  36. (set-face-background 'region "SkyBlue")