8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

こんにちは!
今回は、Emacsの基本的なチートシートと、私が日々使用している.init.elの設定をご紹介します。
この記事を読めば、Emacsの基本操作から効率的な設定まで、すぐに実践できるはずです。

Emacsチートシート

基本モード

  • ノーマルモード: デフォルトモード。移動、編集、コマンド実行などの操作を行う。
  • インサートモード: テキスト入力モード。Ctrl-x Ctrl-eで有効に。
  • ビジュアルモード: テキスト選択モード。Ctrl-spaceで開始。
  • コマンドモード: M-xでコマンド実行。

モード切り替え

  • Ctrl-g: 任意の操作をキャンセルしてノーマルモードに戻る。
  • Ctrl-x Ctrl-f: ファイルを開く。
  • Ctrl-x Ctrl-s: ファイルを保存。
  • Ctrl-x Ctrl-c: Emacsを終了。

基本的な編集操作

  • Ctrl-d: カーソル位置の文字を削除。
  • Ctrl-k: カーソル位置から行末まで削除。
  • Ctrl-y: ペースト。
  • Ctrl-/: 直前の操作を取り消し(Undo)。

カーソル移動

  • Ctrl-f: 右へ移動。
  • Ctrl-b: 左へ移動。
  • Ctrl-n: 下へ移動。
  • Ctrl-p: 上へ移動。
  • M-f: 次の単語の先頭へ移動。
  • M-b: 前の単語の先頭へ移動。
  • Ctrl-a: 行頭へ移動。
  • Ctrl-e: 行末へ移動。

ファイル操作

  • Ctrl-x Ctrl-f: ファイルを開く。
  • Ctrl-x Ctrl-s: 保存。
  • Ctrl-x Ctrl-w: 名前を付けて保存。
  • Ctrl-x k: バッファを閉じる。

検索と置換

  • Ctrl-s: 前方検索。
  • Ctrl-r: 後方検索。
  • M-%: 置換。

ウィンドウ操作

  • Ctrl-x 2: 垂直分割。
  • Ctrl-x 3: 水平分割。
  • Ctrl-x 0: 現在のウィンドウを閉じる。
  • Ctrl-x o: 次のウィンドウに移動。

その他の便利な機能

  • Ctrl-x u: やり直し(redo)。
  • Ctrl-x Ctrl-u: 直前の操作を繰り返す。
  • M->: ファイルの末尾へ移動。
  • M-<: ファイルの先頭へ移動。

高度な編集操作

  • M-w: 選択範囲をコピー。
  • Ctrl-w: 選択範囲をカット。
  • M-u: カーソル位置の単語を大文字に変換。
  • M-l: カーソル位置の単語を小文字に変換。

init.elのおすすめ設定と解説

以下に、私が日々使用している.init.elの設定を紹介します。
これらの設定はEmacsの使い勝手を大幅に向上させる!(きっと!)

;; パッケージ管理の設定
(require 'package)
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
                         ("gnu" . "https://elpa.gnu.org/packages/")))
(package-initialize)

;; use-packageのインストール
(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package))

(require 'use-package)

;; 基本設定
(setq inhibit-startup-message t)       ;; スタートアップメッセージを非表示
(setq make-backup-files nil)           ;; バックアップファイルを作成しない
(setq auto-save-default nil)           ;; 自動保存を無効化
(global-display-line-numbers-mode t)   ;; 行番号を表示

;; パッケージ設定
(use-package ivy
  :ensure t
  :bind (("C-s" . swiper)
         ("C-c C-r" . ivy-resume)
         ("M-x" . counsel-M-x)
         ("C-x C-f" . counsel-find-file))
  :config
  (ivy-mode 1))

(use-package magit
  :ensure t
  :bind (("C-x g" . magit-status)))

(use-package which-key
  :ensure t
  :config
  (which-key-mode))

;; テーマ
(use-package doom-themes
  :ensure t
  :config
  (load-theme 'doom-one t))

;; カスタム関数
(defun open-init-file()
  (interactive)
  (find-file user-init-file))
(global-set-key (kbd "C-c I") 'open-init-file)

;; キーマッピング
(global-set-key (kbd "C-x C-b") 'ibuffer)
(global-set-key (kbd "M-o") 'other-window)
(global-set-key (kbd "C-c r") 'replace-string)

;; インデント設定
(setq-default indent-tabs-mode nil)  ;; タブをスペースに変換
(setq-default tab-width 4)           ;; タブ幅を4に設定
(setq indent-line-function 'insert-tab)

;; スペルチェック
(use-package flyspell
  :ensure t
  :config
  (add-hook 'text-mode-hook 'flyspell-mode)
  (add-hook 'prog-mode-hook 'flyspell-prog-mode))

;; 自動補完
(use-package company
  :ensure t
  :config
  (global-company-mode))

;; シンタックスハイライト
(global-font-lock-mode t)

;; 行末の空白を可視化
(setq show-trailing-whitespace t)

;; マウス操作の有効化
(xterm-mouse-mode 1)

;; 80文字目にラインを表示
(use-package fill-column-indicator
  :ensure t
  :config
  (setq fci-rule-column 80)
  (setq fci-rule-width 1)
  (setq fci-rule-color "darkgray")
  (add-hook 'prog-mode-hook 'fci-mode))

設定の解説

  1. 基本設定: スタートアップメッセージの非表示、バックアップファイルの無効化、行番号の表示などを設定しています。
  2. パッケージ設定: use-packageを使用してIvy、Magit、Which-key、Doom-themesなどのパッケージを管理しています。
  3. カスタム関数: open-init-file関数を作成し、init.elを簡単に開けるようにしています。
  4. キーマッピング: よく使うコマンドをカスタムキーバインディングに割り当てています。
  5. インデント設定: タブをスペースに変換し、幅を4に設定しています。
  6. スペルチェック: flyspellを使用してスペルチェックを有効にしています。
  7. 自動補完: companyを使用して自動補完を有効にしています。
  8. シンタックスハイライト: global-font-lock-modeを有効にしてシンタックスハイライトを行っています。
  9. 行末の空白を可視化: 不要な空白を見つけやすくするために設定しています。
  10. マウス操作の有効化: xterm-mouse-modeを有効にしてマウス操作を可能にしています。
  11. 80文字目のライン表示: fill-column-indicatorを使用して80文字目にラインを表示しています。

まとめ

今回はEmacsについてまとめました。
これらの設定を活用することで、Emacsをより効率的に使用することができます。
ぜひ、自分の好みに合わせてカスタマイズしてみてください。
Emacsの世界は奥が深く、探求し続けることができます。Happy Hacking!

8
4
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
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?