emacsを使う上でよく使うコマンド、設定をまとめた。
よく使うコマンド(+は同時押し、,は一回指を離して押す)
動作 | コマンド |
保存 | cntl+x, cntl+s |
閉じる | cntl+x, cntl+c |
行末に移動 | cntl+e |
行頭に移動 | cntl+a |
最終行に移動 | cntl+x, ] |
先頭行に移動 | cntl+x, [ |
コピー | meta+w (metaキーはlinuxだとalt、macだとデフォルトでesc(macで変更できる)) |
貼り付け | cntl+y |
切り取り | cntl+w |
カーソル行の切り取り | cntl+k |
単語検索 | cntl+s (cntl+sで次、cntl+rで前の一致部分に移動) |
マークをつける(選択開始) | cntl+space (マークを付けると、そこから選択を開始できる) |
文字の置換 | meta+% |
矩形でマークをつける | cntl+x, space (矩形選択、縦の列を揃えて選択できる) |
矩形で文字列入力 | cntl+x, e |
コマンドキャンセル | cntl+g |
emacsの設定は、ホームディレクトリの.emacs.dの中にinit.elを新しく作って、 そこに記載する。
;;; 環境を日本語、UTF-8にする
(set-locale-environment nil)
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(prefer-coding-system 'utf-8)
;;; スタートアップメッセージを表示させない
(setq inhibit-startup-message t)
;;; バックアップファイルを作成させない
(setq make-backup-files nil)
;;; 終了時にオートセーブファイルを削除する
(setq delete-auto-save-files t)
;;; タブにスペースを使用する
(setq-default tab-width 4 indent-tabs-mode nil)
;;; 改行コードを表示する
(setq eol-mnemonic-dos "(CRLF)")
(setq eol-mnemonic-mac "(CR)")
(setq eol-mnemonic-unix "(LF)")
;;; 複数ウィンドウを禁止する
(setq ns-pop-up-frames nil)
;;; ウィンドウを透明にする
;;; アクティブウィンドウ/非アクティブウィンドウ(alphaの値で透明度を指定)
(add-to-list 'default-frame-alist '(alpha . (0.85 0.85)))
;;括弧の補完
(electric-pair-mode 1)
;;; メニューバーを消す
(menu-bar-mode -1)
;;; ツールバーを消す
(tool-bar-mode -1)
;;タブを使えるようにする
;;(tab-bar-mode t)
;;; 列数を表示する
(column-number-mode t)
;;; 行数を表示する
(global-linum-mode t)
;;; カーソルの点滅をやめる
(blink-cursor-mode 0)
;;; カーソル行をハイライトする
;;(global-hl-line-mode t)
;;; 対応する括弧を光らせる
(show-paren-mode 1)
;; スクリーンの最大化
(set-frame-parameter nil 'fullscreen 'maximized)
;; フルスクリーン
(set-frame-parameter nil 'fullscreen 'fullboth)
;;; ウィンドウ内に収まらないときだけ、カッコ内も光らせる
;(setq show-paren-style 'mixed)
;(set-face-background 'show-paren-match-face "grey")
;(set-face-foreground 'show-paren-match-face "black")
;;; スペース、タブなどを可視化する
;;(global-whitespace-mode 1)
;;; スクロールは1行ごとに
(setq scroll-conservatively 1)
;; シフト+矢印で範囲選択
;;(setq pc-select-selection-keys-only t)
;;(pc-selection-mode 1)
;; C-kで行全体を削除する
(setq kill-whole-line t)
;;C-z suspend削除
(global-set-key "\C-z" nil)
(define-key global-map (kbd "C-z c") 'tab-new)
(define-key global-map (kbd "C-z n") 'tab-next)
(define-key global-map (kbd "C-z p") 'tab-previous)
;;折りたたみ
(define-key global-map (kbd "C-^") 'hs-toggle-hiding)
;;; "yes or no" の選択を "y or n" にする
(fset 'yes-or-no-p 'y-or-n-p)
;;; beep音を消す
(defun my-bell-function ()
(unless (memq this-command
'(isearch-abort abort-recursive-edit exit-minibuffer
keyboard-quit mwheel-scroll down up next-line previous-line
backward-char forward-char))
(ding)))
(setq ring-bell-function 'my-bell-function)
;;クリップボードを有効化
(setq x-select-enable-clipboard t)
;;バックスペースを使用可に
(normal-erase-is-backspace-mode 0)
;;(global-set-key "\C-h" 'delete-backward-char)