タグ: doomemacs

  • Doom Emacsのキーバインドと管理コマンド:標準Emacsとの違い

    Doom EmacsはEmacsの機能を拡張し、Vimライクな操作性を取り入れた強力なエディタです。本記事では、標準Emacsとの主要な違いを中心に、キーバインドと管理コマンドについて解説します。

    主要なキーバインドの違い

    1. 基本操作

    操作 標準Emacs Doom Emacs
    コマンド実行 M-x SPC : または M-x
    ファイルを開く C-x C-f SPC .
    ファイルを保存 C-x C-s SPC f s または :w (Evilモード)
    バッファ切り替え C-x b SPC b b
    バッファ削除 C-x k SPC b d

    2. ウィンドウ操作

    操作 標準Emacs Doom Emacs
    ウィンドウ分割(垂直) C-x 3 SPC w v
    ウィンドウ分割(水平) C-x 2 SPC w s

    3. 検索と置換

    操作 標準Emacs Doom Emacs
    インクリメンタル検索 C-s / (Evilモード) または C-s
    プロジェクト内検索 なし(追加パッケージが必要) SPC s p

    4. その他

    操作 標準Emacs Doom Emacs
    キーバインドのヘルプ C-h k SPC h k
    プロジェクト切り替え なし(追加パッケージが必要) SPC p p
    設定ファイル編集 手動でファイルを開く SPC f p

    スクロールのキーバインド

    Doom EmacsはVimライクなスクロール操作を採用しています:

    • 1ページ分下にスクロール: Ctrl-f または <PageDown>
    • 1ページ分上にスクロール: Ctrl-b または <PageUp>
    • 半ページ分下にスクロール: Ctrl-d
    • 半ページ分上にスクロール: Ctrl-u

    コメントアウトとアンコメント

    Doom Emacsでは以下のキーバインドでコメント操作を行います:

    • 選択した行をコメントアウト/アンコメント: gcc
    • 選択範囲をコメントアウト/アンコメント: gc(ビジュアルモードで範囲選択後)

    テキスト選択(Visual Mode)

    標準EmacsではCtrl+SPCでマーク開始しますが、Doom Emacsではvimのようにvisual modeで選択します:

    • 文字単位の選択: v
    • 行単位の選択: V(Shift + v)
    • 矩形選択: Ctrl-v
    • 単語選択: viw
    • 選択モードの終了: ESCまたはCtrl-[

    選択後の操作:

    • コピー: y
    • 切り取り: d
    • 削除: x
    • 置換: c
    • コメントアウト/アンコメント: gc

    Doomコマンドの基本

    Doom Emacsの管理にはdoomコマンドを使用します。主要なコマンドは以下の通りです:

    1. doom sync: 設定の変更を反映し、パッケージを更新
    2. doom upgrade: Doom Emacsとそのパッケージを最新版にアップグレード
    3. doom doctor: Doom Emacsの環境に問題がないかチェック
    4. doom env: Doomの環境変数を更新
    5. doom purge: 不要なパッケージや古いビルドファイルを削除

    設定ファイルを変更した後は、必ずdoom syncを実行して変更を反映させましょう(init.elpackages.elconfig.elは不要)。Doom Emacsにインストールされているパッケージによってはaptでインストールしなければならないソフトウェアを呼び出すことがあるので注意が必要です。doom doctorで確認しましょう。1

    sudo apt install ripgrep fd-find shellcheck

    以下はREADMEからの機械翻訳です。マニュアルには更に詳しい説明があります:

    • doom sync は、不足しているパッケージをインストールし、孤立したパッケージを削除し、キャッシュを再生成することで、プライベート設定を Doom と同期します。プライベート init.el または packages.el を変更するとき、または OS パッケージ マネージャーを介して Emacs パッケージ (mu4e や agda など) をインストール/削除するときは、必ずこれを実行します。
    • doom upgrade は、Doom を最新リリースおよびインストールされているすべてのパッケージに更新します。
    • doom doctor は、システムと設定の一般的な問題を診断します。
    • doom env は、起動時に Doom が読み込むファイルにシェル環境のスナップショットをダンプします。これにより、Emacs は PATH などを継承できます。

    まとめ

    Doom Emacsは標準Emacsとは異なるキーバインドを採用していますが、これにより直感的で効率的な操作が可能になっています。ただし、従来のEmacsユーザーにとっては学習曲線がある点に注意が必要です。doomコマンドを効果的に使用することで、環境を最適な状態に保ち、スムーズな編集体験を維持することができます。

  • Doom Emacsのインストールと設定

    インストール手順

    1. Doom Emacsのリポジトリをクローンする

      git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs
    2. Doom Emacsをインストールする

      ~/.config/emacs/bin/doom install

      これにより、設定ファイルは~/.config/doom/に、Doom Emacs用のユーザーディレクトリuser-emacs-directory~/.config/emacs/にインストールされます。従来のEmacsのユーザーディレクトリは~/.emacs.d/のままですので、影響を受けることはありませんが、バックアップを取ることをお勧めします。

    3. パスの設定
      Doomコマンドのパスは~/.config/emacs/bin/doomです。システム全体で利用できるようにパスを通すには、以下の方法があります。

      • .bashrcや.zshrcに追加

        echo 'export PATH=$PATH:$HOME/.config/emacs/bin' >> ~/.bashrc
        source ~/.bashrc

        または

        echo 'export PATH=$PATH:$HOME/.config/emacs/bin' >> ~/.zshrc
        source ~/.zshrc

        .bashrc以外のファイルでもパスを設定できますが、使用するシェルやログイン方法によって読み込まれるタイミングが異なります。

        • .bashrc: 通常、ターミナルを新しく開くたびに読み込まれます。
        • .profile: ログインシェル時に読み込まれます。ターミナルを新しく開くたびに読み込まれないため、反映するにはターミナル内でsource ~/.profileを実行する必要があります。
        • .bash_aliases: 通常、.bashrc内で読み込まれるように設定されています。.bashrcが読み込まれるたびに自動的に読み込まれます。

    Doom Emacsの起動

    Doom Emacsを起動するには、以下のコマンドを使用します(Emacs 29以降)。Emacsの変数user-emacs-directoryを指定して起動するためです。1 2

    emacs --maximized --init-directory ~/.config/emacs/

    --maximizedオプションは画面を最大化するためのもので、省略可能です。ショートカットキーに登録すると便利です。
    Ubuntuの場合は以下の通りです:

    1. 設定
    2. キーボード
    3. ショートカットの表示と設定
    4. 独自のショートカット
    5. +をクリック

    ~/.bash_aliasesにエイリアスを登録しても良いでしょう。

    alias emacs.doom='emacs --maximized --init-directory ~/.config/emacs/'

    基本的な使い方

    Doom EmacsはVimユーザーにも親しみやすい設定が整っています。基本的な操作はVimと似ていますが、Emacs独自の機能も多く利用できます。
    All-the-icons fontsの文字化けはM-x nerd-icons-install-fontsを実行すれば解消されます。3

    Doomコマンドの基礎

    Doomコマンドは、Doom Emacsの設定やパッケージ管理に利用されます。例えば、パッケージをインストールする際には、Doom Emacs内で特定のコマンドを実行します。

    予めインストールされるパッケージ

    Doom Emacsには、多くの便利なパッケージがデフォルトでインストールされています。これにより、すぐにでも効率的な開発環境を構築できます。
    多くは~/.config/doom/init.elの各行をアンコメントし、doom syncすることですぐに有効化出来ます。4

    Doom Emacsでパッケージをインストールする方法

    Doom Emacsでは、straight.elがデフォルトのパッケージマネージャーとして使用されています。新しいパッケージをインストールするには、設定ファイルを編集してからdoom syncコマンドを実行する必要があります。

    Codeium.elのインストールと設定

    1. Codeium.elのインストール
      Doom Emacsでは、codeium.elを直接インストールする方法は通常のEmacsと異なります。まず、~/.config/doom/packages.elに以下のコードを追加します:

      (package! codeium :recipe (:host github :repo "Exafunction/codeium.el"))

      編集後は、以下のコマンドで設定を反映させます:

      ~/.config/emacs/bin/doom sync

      次にDoom Emacs内で以下のコマンドを実行します:

      M-x codeium-install

      APIキーを自動取得するオプションが表示されます。autoを選択すると、Webブラウザでログイン画面が表示され、ログイン後にAPIキーが自動取得されます。
      ~/.config/doom/custom.elに保存されます。

    2. 設定
      codeium.elの設定は、customize-variableコマンドではなく、~/.config/doom/config.elを直接編集する必要があります。編集後は、doom syncは不要です。

      以下のコードは、codeium-completion-at-pointcompletion-at-point-functionsに追加するものです:

      (add-to-list 'completion-at-point-functions #'codeium-completion-at-point)

      このコードにより、Codeiumの補完機能が有効になります。また、codeium.elの設定をコピーしても良いでしょう。ただし、codeium.elが正しくインストールされ、他の設定が競合していないことを確認する必要があります。