LoginSignup
0
2

More than 3 years have passed since last update.

エンジニアとしてemacsと心中するための設定

Last updated at Posted at 2020-04-06

個人的なinit.elの設定です

必要箇所をお使いください

~/emacs.d/init.el

;; デザインの設定
(load-theme 'tango-dark' t)
 '(region ((t (:background "#FFFF00"))))

;; MacOSXのpath_helperでPATHを取得し,
;; あらためてPATHとして設定
 (let ((shell-file-name "/bin/bash"))
     (setenv "PATH"
             (shell-command-to-string
              "eval $(/usr/libexec/path_helper -s) && printf $PATH")))

;; Emacs変数exec-pathに、環境変数PATHの内容を設定
;; m-x shell で起動するshellと-ターミナル起動の内容が
;; 一致するように環境変数を一致させる
 (setq exec-path nil)

 (dolist
     (dir (split-string (getenv "PATH") "[:\n]"))
   (when (file-directory-p dir)
     (add-to-list 'exec-path dir t)))

;;
;; 起動時にbashを読む
;; (defun skt:shell ()
;;   (or (executable-find "bash")
;;       (executable-find "zsh")
;;       ;; (executable-find "f_zsh") ;; Emacs + Cygwin を利用する人は Zsh の代りにこれにしてください
;;       ;; (executable-find "f_bash") ;; Emacs + Cygwin を利用する人は Bash の代りにこれにしてください
;;       (executable-find "cmdproxy")
;;       (error "can't find 'shell' command in PATH!!")))



;; エラーが出た時だけログ表示
;; (custom-set-variables
;;  '(init-loader-show-log-after-init 'error-only))

;; カレントディレクトリをホームディレクトリに設定
;; ""内は任意のディレクトリを指定可能
(cd "/Users/ほげほげ")


;画像を常に表示する
(auto-image-file-mode 1) 

;ビジビリティ
(setq visible-bell t)

;白紙でスタートアップ表示
(setq initial-scratch-message "Hello, Emacs world!")

;; splash screenを無効にする
(setq inhibit-splash-screen t)

;; ;elisp
(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))
;; (init-loader-load)

;パッケージの設定
;; (add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/"))
;; (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
;; (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t) ; Org-mo

;; 日本語文字化け
(set-language-environment 'Japanese)
(prefer-coding-system 'utf-8)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;       キーバインド         ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; shift + 矢印キーで領域選択
(if (fboundp 'pc-selection-mode)
    (pc-selection-mode))

;; 行頭 kill-line (C-k) で行全体をカット
(setq kill-whole-line t)

;; 選択領域を削除キーで一括削除
(delete-selection-mode t)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;       program key        ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; かっこをハイライト
(show-paren-mode t)

;; 空白を一度に削除
(if (fboundp 'global-hungry-delete-mode)
    (global-hungry-delete-mode 1))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;       package            ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;プログラムのエラーチェック
;; (eval-after-load 'flycheck
;;   '(custom-set-variables
;;    '(flycheck-display-errors-function #'flycheck-pos-tip-error-messages)))
;; (add-hook 'after-init-hook #'global-flycheck-mode)



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;        tips              ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ビープ音禁止
(setq ring-bell-function 'ignore)

;; png, jpg などのファイルを画像として表示
(setq auto-image-file-mode t)

;; 読み取り専用バッファーでもカット系でコピー可能
(setq kill-read-only-ok t)

;; 左の行を表示させる
(global-linum-mode t)
(setq linum-format "%d ")
(set-face-attribute 'linum nil
            :foreground "#a9a9a9"
            :height 0.9)
(custom-set-faces
 '(fringe ((t (:background "blue20")))))


;;文字カウンタの設定
(defun count-lines-and-chars ()
  (if mark-active
      (format "[%dL%dw%dc]"
              (count-lines (region-beginning) (region-end))
              (how-many "[^     
]+" (region-beginning) (region-end))
;              (how-many "\\w+" (region-beginning) (region-end))
              (- (region-end) (region-beginning)))
    ""))
;; (add-to-list 'default-mode-line-format
;;              '(:eval (count-lines-and-chars)))

;重要語のハイライト
(global-font-lock-mode t)

;; バックアップファイルを作成させない
(setq make-backup-files nil)
;; 終了時にオートセーブファイルを削除する
(setq delete-auto-save-files t)

;; 文字サイズ,文字コード
(set-face-attribute 'default nil :family "Monaco" :height 160)
(set-fontset-font nil 'japanese-jisx0208
          (font-spec :family "Hiragino_Maru_Gothic_ProN" :size 25))
(set-fontset-font nil '(#x3000 . #x30ff)
          (font-spec :family "Hiragino_Mincho_ProN" :size 18))

;;; 現在行を目立たせる
(global-hl-line-mode t)

;; 初期表示位置、サイズ
(setq initial-frame-alist
      '((left   . 140)          ; 位置 (X)
    (top    .  35)          ; 位置 (Y)
    (width  . 140)          ; サイズ(幅)
    (height .  45)          ; サイズ(高さ)
    ))

;; スクロールした際のカーソルの移動行数
(setq scroll-conservatively 1)
;; スクロール開始のマージンの行数
(setq scroll-margin 2)


;; 1 画面スクロール時に重複させる行数
(setq next-screen-context-lines 20)

;; 1 画面スクロール時にカーソルの画面上の位置をなるべく変えない
(setq scroll-preserve-screen-position t)

;;; 補完時に大文字小文字を区別しない
compiled-function(setq completion-ignore-case t)


0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2