タグ: vim

  • 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コマンドを効果的に使用することで、環境を最適な状態に保ち、スムーズな編集体験を維持することができます。

  • VimとNeovimの基本とパッケージマネージャ、そしてCodeiumについて

    Vimtutorについて

    Vimは非常に強力なテキストエディタであり、特にプログラマーやシステム管理者に人気があります。しかし、初めてVimを使う人にとっては、その操作方法が少し難解に感じられるかもしれません。そこで登場するのがVimtutorです。

    Vimtutorは、Vimの基本的な操作方法を学ぶためのチュートリアルです。多くのUnix系オペレーティングシステムには、Vimtutorが標準でインストールされています。ターミナルでvimtutor jaと入力するだけで、インタラクティブな学習環境が提供されます。このチュートリアルを通じて、基本的な移動、編集、保存、そしてVimのモード(ノーマルモード、インサートモード、ビジュアルモードなど)について学ぶことができます。

    Tagファイルの併用

    Emacsで定義元へ移動するためにetagsを使用しtagファイルを作成していれば、Vimと併用できます。例えば:set tags=~/.venv3.12/TAGSのように選択できます。Tabキーで入力補完できます。Ctrl-]で定義元へ移動し、Ctrl-tで戻ります。頻繁に使用するならば~/.vimrcに書いておきましょう。因みにコロンは不要です。1

    Vimの標準装備のパッケージマネージャについて

    Vim自体には標準でパッケージマネージャが含まれています。Vim 8.0以降では、ネイティブのパッケージ管理機能が導入されています。これにより、プラグインのインストールや管理が非常に簡単になりました。

    使い方

    1. パッケージのインストール:

      • パッケージをインストールするには、~/.vim/pack/<namespace>/start/ディレクトリにプラグインを配置します。
      • 例えば、~/.vim/pack/plugins/start/にプラグインをダウンロードして配置すると、Vimが自動的にそのプラグインを読み込みます。
    2. パッケージのアップデート:

      • パッケージのアップデートは、プラグインのリポジトリから最新のバージョンをダウンロードして、同じディレクトリに置き換えるだけです。

    人気のあるパッケージマネージャ

    Vimの標準パッケージマネージャ以外にも、いくつかの人気のあるパッケージマネージャがあります。

    • Vundle: Vundleは、Vim用のプラグインマネージャで、簡単にプラグインをインストール、アップデート、削除することができます。
    • Pathogen: Pathogenは、プラグインを簡単に管理するためのツールで、プラグインを特定のディレクトリに配置するだけで自動的に読み込まれます。
    • Plug: Plugは、Vim用の軽量なプラグインマネージャで、Vundleと同様に簡単にプラグインを管理できます。

    Neovimについて

    Neovimは、Vimのフォークであり、Vimの機能を拡張し、よりモダンなエディタとしての機能を提供します。Neovimは、Vimと互換性があり、Vimのプラグインや設定ファイルをそのまま使用することができます。

    Neovimの特徴

    • 非同期ジョブ: Neovimは非同期ジョブをサポートしており、バックグラウンドでの処理が可能です。
    • リモートプラグイン: Neovimはリモートプラグインをサポートしており、PythonやLuaなどの言語でプラグインを作成することができます。
    • パフォーマンス: NeovimはVimよりも高速で、メモリ使用量も少ないです。

    Codeiumについて

    Codeiumは、AIを活用したコード補完ツールで、開発者の生産性を大幅に向上させることができます。Codeiumは、VimやNeovimだけでなく、他の多くのエディタやIDEでも利用可能です。

    Codeiumの特徴

    • AIによるコード補完: Codeiumは、AIを使用してコードの補完を行います。これにより、コーディングの速度が向上し、エラーの発生を減少させることができます。
    • 多言語対応: Codeiumは、JavaScript、Python、Java、C++など、多くのプログラミング言語に対応しています。
    • インテグレーション: Codeiumは、VimやNeovimだけでなく、VSCode、IntelliJ、Sublime TextなどのエディタやIDEとも統合されています。

    Codeiumのマニュアルインストール

    Ubuntuでのインストールを想定しています。

    Vimの場合:

    git clone https://github.com/Exafunction/codeium.vim ~/.vim/pack/Exafunction/start/codeium.vim

    Neovimの場合:

    git clone https://github.com/Exafunction/codeium.vim ~/.config/nvim/pack/Exafunction/start/codeium.vim

    インストール後に:Codeium Authを実行するとProvide Authentication Tokenページへ飛びますのでログインし、あなたに与えられたトークンをVim / Neovimにコピー&ペーストして下さい。

    まとめ

    VimとNeovimは、非常に強力なテキストエディタであり、その機能を最大限に引き出すためには、Vimtutorやパッケージマネージャを活用することが重要です。また、CodeiumのようなAIツールを組み合わせることで、さらに効率的な開発環境を構築することができます。これらのツールを駆使して、あなたの開発生産性を最大限に引き出しましょう!