1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VS Code から Emacs に乗り換えて1週間経った感想

Last updated at Posted at 2025-11-07

乗り換えの動機

ツヨツヨハカーになりたいのと、自分の周りには Vimer が多いので逆張り精神で Emacs を始めました。
決意を固めるため、VS Code は消しました。

Emacs を 1 週間使った感想

  • Emacs を使えるとかっこいい
  • 好きな見た目、機能のエディタを自分で作れる
  • 若干 VS Code の見た目に寄ってしまった
  • キーバインドは多いが、必要になったら覚えれば良いし、よく使うキーバインドは意外とすぐ覚えられる
  • ホームポジションから手をほぼ動かさずに作業ができる
  • Terminal を開かなくても大体何でもできる
  • Ctrl キーを押す左手小指が大変
  • 見た目はこんな感じになった

スクリーンショット 2025-11-07 23.56.11.png

環境

macOS 26.0.1

インストールした Emacs

色々調べてみると、macOS では以下の二つが主流そう。

  • GNU Emacs
  • Emacs Mac Port

どちらも入れてみたが、Emacs Mac Port はウィンドウをクリックしてもフォーカスが当たらなかったりしてうまく動かなかったので、GNU Emacs を選択した。インターネットでは、Emacs Mac Port の方がいい感じという記述を多くみた気がするが、GNU Emacs は特に問題なく快適に利用できている。

Emacs は brew でインストールした。
--caskをつけないと、CLI 版がインストールされてしまうので注意。

$ brew install emacs --cask

Hello Emacs

早速 Emacs を起動した。
Emacs の起動は、Terminal を取られたくないので&をつけてバックグラウンドで起動している。(実は Emacs を使いはじめると Terminal をほぼ使わなくなるので正直どうでもいい)

$ emacs &

Emacs の基本的な操作は、以下の記事を上から順番に読み、実際に操作することで雰囲気は習得できた。偉大な先駆者に感謝。

init.el の作成

init.el は、Emacs の設定を書いていくファイル。以下のディレクトリに作成する。

$ touch ~/.emacs.d/init.el

init.el には、Emacs Lisp という言語を使って設定を書く。まさかこんなところで Lisp デビューするとは思っていなかった。

一番最初に、leafというパッケージを管理、設定できるツールを導入した。

とりあえずエディタの見た目をいい感じにしたかったので、doom-themesdoom-modelineを入れた。設定は、leafを使って書いている。

(leaf doom-themes
  :ensure t
  :config
  (load-theme 'doom-solarized-light t))

(leaf doom-modeline
  :ensure t
  :global-minor-mode t)

これだけでも十分いい感じ。

いい感じにするために、必要な設定も少し追加した。

(leaf emacs
  :custom
  ;; 現在位置表示
  (column-number-mode . t)
  ;; 行番号表示
  (global-display-line-numbers-mode . t)
  ;; 最初の挨拶非表示
  (inhibit-startup-message . t)
  ;; 最終行に空行を強制
  (require-final-newline . t)
  ;; 起動時に最後に開いていたファイルを開く
  (desktop-save-mode . 1)
  :config
  ;; カーソルの色を変更
  (set-cursor-color "#F79428")
  ;; UTF-8を優先
  (prefer-coding-system 'utf-8))

Emacs 上で git も使えるらしい。Magit というパッケージを入れた。

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

VS Code で画面左側に出てくるようなツリーが欲しいなと思ったので、Treemacs を入れた。

(leaf treemacs
  :ensure t)

Redo, Undo がよくわからなかったので、Undo-treeを導入して誤魔化した。

(leaf undo-tree
  :ensure t
  :global-minor-mode global-undo-tree-mode
  :custom
  (undo-tree-auto-save-history . nil))

あとはいくつかコーディングに必要そうなパッケージを導入し、最終系はこんな感じになった。

Global に gitignore を設定

Emacs をやっていると、一時ファイルが大量に作られる。
チーム開発をやっているとプロジェクトの .gitignore に Emacs の一時ファイルを除外する設定を書いてもいいが、自分の環境依存+全部のプロジェクトに書くのがめんどいので Global に gitignore を設定した。

以下のファイルを作成し、通常の .gitignore と同じ要領で除外したいファイルを記述した。他にもあると思うので、引っかかり次第追加していこうと思う。

$ touch ~/.config/git/ignore
*~
\#*\#
.\#*

終わり

VS Code でもよくね?と思うこともたまにあるが、つよつよの気分になれるので Emacs はいいと思います。
風になれる日が来るといいな。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?