0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Doom EmacsでSKKを使うためのTips

Last updated at Posted at 2025-03-12

Doom EmacsでSKKを使うと困る

以下のようなことに困ってないだろうか。

  • C-gを連打するといつの間にかSKKが終了してしまう
  • インサートモードでSKKのC-jが+default/newlineに食われてしまってskk-j-modeにならない
  • org-modeでSKKのC-jがorg-down-elementに食われてしまってskk-j-modeにならない
    下二つは本家にも困っている人がいるようだが放置気味。

これはそんな不具合を改善するTipsだ。

解決策

以下のコードを$DOOMDIR/config.elに入れておこう。

;; +bindingsで+default/newlineに上書きされているのでnilにしておく
(map! :i "C-j" nil)

;; insert modeのC-gはevil-escapeに上書きされるとSKKと相性が悪い
(map! :i "C-g" nil)

(map! :after evil-org
      :map evil-org-mode-map
      ;; lang/org/configでorg-down-elementに上書きされているのでnilにしておく
      :i "C-j" (cmds! (org-at-table-p) #'org-table-next-row nil)
      )

(use-package! skk
  :bind ("C-x C-j" . #'skk-mode)
  :config
  ;; input/japanese/config.elでaddされているhookを削除する
  ;; (これだとC-gしたらSKKが終了してしまう)
  (remove-hook 'doom-escape-hook #'skk-mode-exit)
  :hook
  ;; normalモードに入るときにSKKをlatin-modeにするにはこう
  (evil-normal-state-entry-hook
   . (lambda ()
       (when (bound-and-true-p skk-mode)
         (skk-latin-mode-on)))))
         
;; ついでにpackage.elでjapaneseを有効にするとpangu-spacingまで強制有効になるのはどうかと思う向きは
(use-package! pangu-spacing
  :config
  ;; input/japanese/config.elでtext-mode-hookに挿入されているので削除する
  (remove-hook 'text-mode-hook #'pangu-spacing-mode))

^Hはバックスペースとして動いて欲しい向きは以下だ。

;; ^Hは削除であって欲しい
(global-set-key (kbd "C-h") #'delete-backward-char)
(map! :after vertico
       :map vertico-map
       "C-h" #'vertico-directory-delete-char)

(map! :after evil-org
      :map evil-org-mode-map
      ;; lang/org/configでorg-down-elementに上書きされているのでnilにしておく
      :i "C-j" (cmds! (org-at-table-p) #'org-table-next-row nil)
      ;; ^Hは削除であって欲しい
      :i "C-h" (cmds! (org-at-table-p) #'org-table-previous-field nil)
      )
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?