Emacsにおける補完入力パッケージcorfuの設定を少し修正した.
corfu-prescientにはフィルタリング機能もあるが,それは止めてhotfuzzを使い始めた.
(global-corfu-mode 1) (corfu-popupinfo-mode +1) ;; 補完候補に対して補助ドキュメントをポップアップ表示 (setq corfu-auto t) ;; Enable auto completion (setq corfu-cycle t) ;; Enable cycling for `corfu-next/previous' (setq corfu-quit-at-boundary 'separator) ;; seperatorで指定された文字でquitする (setq corfu-quit-no-match t) ;; query が match しないとき即終了 (setq corfu-preselect 'valid) ;; 補完途中で候補の一番上のものが事前選択された状態になる ;; 補完入力の先頭に移動できる→入力内容の修正時に便利 (defun corfu-beginning-of-prompt () "Move to beginning of completion input." (interactive) (corfu--goto -1) (goto-char (car completion-in-region--data))) ;; 補完入力の末尾に移動できる→入力内容の修正時に便利 (defun corfu-end-of-prompt () "Move to end of completion input." (interactive) (corfu--goto -1) (goto-char (cadr completion-in-region--data))) (define-key corfu-map [remap move-beginning-of-line] #'corfu-beginning-of-prompt) (define-key corfu-map [remap move-end-of-line] #'corfu-end-of-prompt) ;; verticoをoffにしているときでも、ミニバッファ上で補完を有効にする ;; M-: (eval-expression) や M-! (shell-command) を使うときに便利 (defun corfu-enable-always-in-minibuffer () "Enable Corfu in the minibuffer if Vertico/Mct are not active." (unless (or (bound-and-true-p mct--active) (bound-and-true-p vertico--input)) ;; (setq-local corfu-auto nil) ;; Enable/disable auto completion (setq-local corfu-echo-delay nil ;; Disable automatic echo and popup corfu-popupinfo-delay nil) (corfu-mode 1))) (add-hook 'minibuffer-setup-hook #'corfu-enable-always-in-minibuffer 1)
hotfuzzの設定は以下の記事にて.