Doom Emacs & Mac へのSKK導入ガイド

この記事で分かること SKKとは何か AquaSKKのインストールと設定方法 Doom EmacsでのSKK(ddskk)の導入方法 SKK導入における障壁とその解決方法 SKKを長期間使用した感想と評価 SKKとは SKK(Simple Kana to Kanji conversion program)は、日本語入力システムの一種です。 一般的なIMEとは異なり、入力モードの切り替えが明示的で、変換候補を選ぶ際にも独特の操作方法を持っています。 特徴として: 変換時に送り仮名を明示的に指定する 辞書が自己学習し、使うほど自分専用の辞書になっていく キーボードから手を離さずに日本語入力ができる が挙げられます。 SKKとわたし 昨年8月に参加した東京Emacs勉強会 サマーフェスティバル2024 でSKKの存在を知り、そこでSKKをちょっと使ってみるも、何が良いのかわからず、いつのまにか存在を忘れる 約2ヶ月後の東京Emacs勉強会 オクトーバーフェスティバル2024 で再度SKKの話題になる。 参加者の過半数がSKKを使用しており、その空間ではSKKを使っていない方がマイノリティであることを知り、すぐにSKKを導入。全然思うように使えず、生産性が爆下がりする しかし、日本のEmacser多くの方々が使っているからには、何かしら良いところがあるはずだと考え、キーボード自体の設定を変えたりしながら、徐々にSKKに適応していく 使い始めてから5ヶ月ほど経ち、SKK関連の設定も安定。試行錯誤の結果の設定を共有したいと思いこの記事を書くに至る AquaSKKの導入 インストール Homebrewを使って簡単にインストールできます: brew install --cask aquaskk です。 nix&flake&home-managerを使っている方は、以下を適切にimportするとインストールできます: homebrew.casks = [ "aquaskk" ]; 基本設定 こういうのは基本的にデフォルトのままで使いたい派の自分ですが、日本語入力の切り替えキーだけは変えました。 AquaSKK/keymap.conf: - SKK_JMODE ctrl::j + SKK_JMODE ctrl::shift::j (理由は後述します) 設定の同期 複数のデバイス間で辞書やキーマップの設定を同期させるために、AquaSKKのディレクトリをDropboxに配置し、 ~/Library/Application Support/ 内にシンボリックリンクを作成しました: ln -s ~/Dropbox/AquaSKK ~/Library/Application\ Support/AquaSKK Macのデフォルト入力切替キー無効化 以下の記事で解説されているように、MacのデフォルトのIME切り替えキーを無効化することを強くお勧めします。 SKKを使う上で非常に重要な設定です: Mac で AquaSKK を Ctrl+Space で切り替えなくても良くする方法...

4月 12, 2025 · 2 分 · Kaoru Babasaki

emacs の indirect buffer が便利だった

Emacsを使っていると、「このファイルの一部だけを別のウィンドウで編集したい…」「同じ内容だけど、表示モードを変えて見比べたい…」と思うことはありませんか? 自分は、よくありました。 そんな時に発見して感動した機能が、 Indirect Buffer です! この記事では、Indirect Bufferの基本的な概念から、使い方、注意点までを解説します。 Indirect Bufferとは? Indirect Bufferは、Emacsの特殊なバッファの一種で、別のバッファ(ベースバッファ と呼ばれます)の内容を「共有」するものです。 ファイルシステムのシンボリックリンクのようなもの、と言えばイメージしやすいかもしれません。 内容の共有: Indirect Bufferは、ベースバッファのテキスト内容(文字だけでなく、文字の色やフォントなどの テキストプロパティ も含む)を完全に共有します。一方での変更は、もう一方に即座に反映されます。 独立性: 内容は共有しますが、それ以外の点(バッファ名、カーソル位置、表示モードなど)は、Indirect Bufferとベースバッファでそれぞれ独立して設定できます。 ファイルとの関連: Indirect Buffer自体はファイルを直接開きませんが、ベースバッファはファイルを開くことができます。Indirect Bufferを保存しようとすると、実際にはベースバッファが保存されます。 Indirect Bufferの作り方 自分が調べた限りでは、 Indirect Bufferを作成する方法は、以下の3つでした。 M-x make-indirect-buffer: より汎用的な作成方法です。 ミニバッファを使って、ベースバッファとIndirect Bufferの名前を指定します。 M-x clone-indirect-buffer またはdoom emacs で SPC B c (clone-indirect-buffer-other-window または SPC B c): 現在開いているバッファをベースバッファとするIndirect Bufferを、素早く作成する方法です。 SPC B c は、新しいウィンドウでIndirect Bufferを開きます。 (org-mode内で) M-x org-tree-to-indirect-buffer (z n): 現在の subtree をIndirect Bufferとして開きます。 M-x doom/widen-indirectly-narrowed-buffer (z N)で、元のバッファに戻る 個人的には、1の方法は全く使わず、 2と3をよく使います。 手軽にIndirect Bufferを作れて、とても便利です!...

3月 28, 2025 · 1 分 · Kaoru Babasaki